Re: [PATCH 1/2] xfs: setup VFS i_rwsem lockdep state correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 07, 2018 at 03:32:36PM +1000, Dave Chinner wrote:
> On Thu, Jun 07, 2018 at 03:21:31PM +1000, Dave Chinner wrote:
> > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > 
> > When lockdep is enabled, it changes the type of the inode i_rwsem
> > semaphore before unlocking a newly instantiated inode. THere is the
> > possibility that there is already a waiter on that inode lock by the
> > time we unlock the new inode, so having lockdep re-initialise the
> > lock is a vector for trouble.
> > 
> > Avoid this whole situation by setting up the i_rwsem lockdep class
> > at the same time we set up the XFS inode i_ilock classes and so the
> > VFS doesn't have to change the lock class itself when it is
> > potentially unsafe.
> > 
> > Signed-Off-By: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> I just realised that the VFS equivalent patch has made it upstream,
> too, which would help explain this a bit more. Darrick, can you add
> this to the commit message:
> 
> "This change is necessary because the equivalent fixes to the VFS
> code made in commit 1e2e547a93a0 ("do d_instantiate/unlock_new_inode
> combinations safely") are not relevant to XFS as it has it's own
> internal inode cache lookup and instantiation routines."
> 

The reference definitely helps, thanks. With that added:

Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>

> Cheers,
> 
> Dave.
> -- 
> Dave Chinner
> david@xxxxxxxxxxxxx
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux