[Top] [All Lists]

[PATCH 0/2] Add support to RENAME_EXCHANGE flag to XFS V8

To: xfs@xxxxxxxxxxx
Subject: [PATCH 0/2] Add support to RENAME_EXCHANGE flag to XFS V8
From: Carlos Maiolino <cmaiolino@xxxxxxxxxx>
Date: Tue, 25 Nov 2014 11:49:26 -0200
Delivered-to: xfs@xxxxxxxxxxx
This patchset aims to implement RENAME_EXCHANGE support (from sys_renameat2) to

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().

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).

In this version of the patch, I tried to use xfs_rename for everything in
common between a usual rename and the RENAME_EXCHANGE, using xfs_cross_rename()
just for the needed stuff to accomplish RENAME_EXCHANGE requirements (as 
suggested by Brian).

Also, this new version contains a fix to ensure both files will have their
i_mode updated, so that d_type object (in superblock V5) will contain the proper
information after the exchange happens

Refer to specific patch descriptions for more information regarding new patch

Carlos Maiolino (2):
  Make xfs_vn_rename compliant with renameat2() syscall
  Add support to RENAME_EXCHANGE flag V8

 fs/xfs/xfs_inode.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 fs/xfs/xfs_inode.h |   2 +-
 fs/xfs/xfs_iops.c  |  24 +++++++++---
 3 files changed, 130 insertions(+), 8 deletions(-)


<Prev in Thread] Current Thread [Next in Thread>