On Thu, May 05, 2022 at 09:32:19AM -0700, Darrick J. Wong wrote: > > No need to transfer it back. It ist just a creative way to pass private > > data in. Initially I just added yet another argument to iomap_dio_rw, > > and maybe I should just go back to that to make the things easier to > > follow. > > Hmm. Who owns iocb->private? AFAICT there are two users of it -- the > directio code uses it to store bios for polling; and then there's ocfs2, > which apparently uses it for iocb lock state(!) flags. Yeah. > Getting back to iomap, I think the comment before __iomap_dio_rw should > state that iocb->private will be transferred to iter->private to make > that relationship more obvious, in case ocfs2 ever stumbles into iomap > and explodes on impact. I think I'll just look into passing an extra argument instead. It is pretty clear that using iocb->private was a little too clever and takes experienced file system developers way too much time to understand.