OSDN Git Service

xfs: make xfs_cross_rename() complete fully
authorDave Chinner <dchinner@redhat.com>
Wed, 25 Mar 2015 03:08:07 +0000 (14:08 +1100)
committerDave Chinner <david@fromorbit.com>
Wed, 25 Mar 2015 03:08:07 +0000 (14:08 +1100)
commiteeacd3217b8fa8143f5dc27ded405790c74f01e8
treeed74419ea4aa2b4825a5f48ee9585aad860808ef
parent310606b0c7e385e9dd3533d168413ad2c579d961
xfs: make xfs_cross_rename() complete fully

Now that xfs_finish_rename() exists, there is no reason for
xfs_cross_rename() to return to xfs_rename() to finish off the
rename transaction. Drive the completion code into
xfs_cross_rename() and handle all errors there so as to simplify
the xfs_rename() code.

Further, push the rename exchange target_ip check to early in the
rename code so as to make the error handling easy and obviously
correct.

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