OSDN Git Service

xfs: clean up inode locking for RENAME_WHITEOUT
authorDave Chinner <dchinner@redhat.com>
Wed, 25 Mar 2015 03:03:32 +0000 (14:03 +1100)
committerDave Chinner <david@fromorbit.com>
Wed, 25 Mar 2015 03:03:32 +0000 (14:03 +1100)
commit95afcf5c7bca93fb84d260f70c304f35ef4c3114
tree00953639906542d16ddb87c1b07141debee5eb50
parent444a702231412e82fb1c09679adc159301e9242c
xfs: clean up inode locking for RENAME_WHITEOUT

When doing RENAME_WHITEOUT, we now have to lock 5 inodes into the
rename transaction. This means we need to update
xfs_sort_for_rename() and xfs_lock_inodes() to handle up to 5
inodes. Because of the vagaries of rename, this means we could have
anywhere between 3 and 5 inodes locked into the transaction....

While xfs_lock_inodes() does not need anything other than an assert
telling us we are passing more inodes that we ever thought we should
see, it could do with a logic rework to remove all the indenting.
This is not a functional change - it just makes the code a lot
easier to read.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_inode.c