CVS log for xfs-linux/xfs_dfrag.c

[BACK] Up to [Development] / xfs-linux

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: HEAD


Revision 1.72 / (download) - annotate - [select for diffs], Fri Aug 29 04:08:54 2008 UTC (9 years, 1 month ago) by pleckie.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.71: +8 -1 lines
Diff to previous 1.71 (unified)

Prevent lockdep false positives when locking two inodes.

If we call xfs_lock_two_inodes() to grab both the iolock and
the ilock, then drop the ilocks on both inodes, then grab
them again (as xfs_swap_extents() does) then lockdep will
report a locking order problem. This is a false positive.

To avoid this, disallow xfs_lock_two_inodes() fom locking both
inode locks at once - force calers to make two separate calls.
This means that nested dropping and regaining of the ilocks
will retain the same lockdep subclass and so lockdep will
not see anything wrong with this code.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:31999a by kenmcd.

  Prevent lockdep false positives when locking two inodes.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>