aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_iget.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_iget.c')
-rw-r--r--fs/xfs/xfs_iget.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/fs/xfs/xfs_iget.c b/fs/xfs/xfs_iget.c
index 1256746b249f..58865fe47806 100644
--- a/fs/xfs/xfs_iget.c
+++ b/fs/xfs/xfs_iget.c
@@ -431,14 +431,13 @@ xfs_ireclaim(xfs_inode_t *ip)
431 xfs_iextract(ip); 431 xfs_iextract(ip);
432 432
433 /* 433 /*
434 * Here we do a spurious inode lock in order to coordinate with 434 * Here we do a spurious inode lock in order to coordinate with inode
435 * xfs_sync(). This is because xfs_sync() references the inodes 435 * cache radix tree lookups. This is because the lookup can reference
436 * in the mount list without taking references on the corresponding 436 * the inodes in the cache without taking references. We make that OK
437 * vnodes. We make that OK here by ensuring that we wait until 437 * here by ensuring that we wait until the inode is unlocked after the
438 * the inode is unlocked in xfs_sync() before we go ahead and 438 * lookup before we go ahead and free it. We get both the ilock and
439 * free it. We get both the regular lock and the io lock because 439 * the iolock because the code may need to drop the ilock one but will
440 * the xfs_sync() code may need to drop the regular one but will 440 * still hold the iolock.
441 * still hold the io lock.
442 */ 441 */
443 xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); 442 xfs_ilock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL);
444 443