[XFS] Add op_flags field and helpers to xfs_da_args
The end of the xfs_da_args structure has 4 unsigned char fields for true/false information on directory and attr operations using the xfs_da_args structure. The following converts these 4 into a op_flags field that uses the first 4 bits for these fields and allows expansion for future operation information (eg. case-insensitive lookup request). SGI-PV: 981520 SGI-Modid: xfs-linux-melb:xfs-kern:31206a Signed-off-by: Barry Naujok <bnaujok@sgi.com> Signed-off-by: Christoph Hellwig <hch@infradead.org>
This commit is contained in:
@@ -132,13 +132,18 @@ typedef struct xfs_da_args {
|
||||
int index2; /* index of 2nd attr in blk */
|
||||
xfs_dablk_t rmtblkno2; /* remote attr value starting blkno */
|
||||
int rmtblkcnt2; /* remote attr value block count */
|
||||
unsigned char justcheck; /* T/F: check for ok with no space */
|
||||
unsigned char rename; /* T/F: this is an atomic rename op */
|
||||
unsigned char addname; /* T/F: this is an add operation */
|
||||
unsigned char oknoent; /* T/F: ok to return ENOENT, else die */
|
||||
int op_flags; /* operation flags */
|
||||
enum xfs_dacmp cmpresult; /* name compare result for lookups */
|
||||
} xfs_da_args_t;
|
||||
|
||||
/*
|
||||
* Operation flags:
|
||||
*/
|
||||
#define XFS_DA_OP_JUSTCHECK 0x0001 /* check for ok with no space */
|
||||
#define XFS_DA_OP_RENAME 0x0002 /* this is an atomic rename op */
|
||||
#define XFS_DA_OP_ADDNAME 0x0004 /* this is an add operation */
|
||||
#define XFS_DA_OP_OKNOENT 0x0008 /* lookup/add op, ENOENT ok, else die */
|
||||
|
||||
/*
|
||||
* Structure to describe buffer(s) for a block.
|
||||
* This is needed in the directory version 2 format case, when
|
||||
|
Reference in New Issue
Block a user