This patchset aims to implement RENAME_EXCHANGE support (from sys_renameat2) to
XFS.
For this to be achieved, XFS need to export a rename2() method, which I included
in the first patch.
The second patch is the real implementation of the RENAME_EXCHANGE flags, which
most of the work I based on xfs_rename().
I'd like some suggestions about the way I handled journaling, probably
XFS_TRANS_RENAME is not the best way to log the changes during the
RENAME_EXCHANGE, and we might need a new journal type for this specific reason.
BTW, this patchset passed the xfstests 23, 24 and 25 (specifically for
RENAME_EXCHANGE), and I also tested the projectID inheritance problem, where
both paths must be under the same projectID to be able to change (I'm going to
implement this test into the xfstests too).
Carlos Maiolino (2):
xfs_vn_rename by xfs_vn_rename2
Add support to RENAME_EXCHANGE flag
fs/xfs/xfs_inode.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++
fs/xfs/xfs_inode.h | 4 ++
fs/xfs/xfs_iops.c | 22 +++++--
3 files changed, 207 insertions(+), 6 deletions(-)
--
2.1.0
|