On Mon, May 09, 2022 at 04:44:24PM -0700, Darrick J. Wong wrote: > On Tue, May 10, 2022 at 09:24:25AM +1000, Dave Chinner wrote: > > On Mon, May 09, 2022 at 12:32:59PM -0700, Stefan Roesch wrote: > > > On 5/6/22 2:29 AM, Dave Chinner wrote: > > > > On Mon, May 02, 2022 at 02:21:17PM -0700, Stefan Roesch wrote: > > > >> On 4/28/22 2:54 PM, Dave Chinner wrote: > > > >>> On Thu, Apr 28, 2022 at 12:58:59PM -0700, Stefan Roesch wrote: > > > >> - replace the pointer to iocb with pointer to xfs_inode in the function xfs_ilock_iocb() > > > >> and also pass in the flags value as a parameter. > > > >> or > > > >> - create function xfs_ilock_inode(), which xfs_ilock_iocb() calls. The existing > > > >> calls will not need to change, only the xfs_ilock in xfs_file_buffered_write() > > > >> will use xfs_ilock_inode(). > > > > > > > > You're making this way more complex than it needs to be. As I said: > > > > > > > >>> Regardless, if this is a problem, then just pass the XFS inode to > > > >>> xfs_ilock_iocb() and this is a moot point. > > > > > > > > > > The function xfs_ilock_iocb() is expecting a pointer to the data structure kiocb, not > > > a pointer to xfs_inode. I don't see how that's possible without changing the signature > > > of xfs_ilock_iocb(). > > > > For the *third time*: pass the xfs_inode to xfs_ilock_iocb() and > > update all the callers to do the same thing. > > I still don't understand why /any/ of this is necessary. When does > iocb->ki_filp->f_inode != iocb->ki_filp->f_mapping->host? I already asked that question because I don't know the answer, either. I suspect the answer is "block dev inodes" but that then just raises the question of "how do we get them here?" and I don't know the answer to that, either. I don't have the time to dig into this and I don't expect anyone to just pop up with an answer, either. So in the mean time, we can just ignore it for the purpose of this patch set... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx