Commit b53d212b authored by Darrick J. Wong's avatar Darrick J. Wong Committed by Dave Chinner
Browse files

xfs: put the xattr intent item op flags in their own namespace



The flags that are stored in the extended attr intent log item really
should have a separate namespace from the rest of the XFS_ATTR_* flags.
Give them one to make it a little more obvious that they're intent item
flags.

Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
Reviewed-by: default avatarAllison Henderson <allison.henderson@oracle.com>
Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
parent 4d0cdd2b
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -918,7 +918,7 @@ xfs_attr_defer_add(
	struct xfs_attr_item	*new;
	int			error = 0;

	error = xfs_attr_item_init(args, XFS_ATTR_OP_FLAGS_SET, &new);
	error = xfs_attr_item_init(args, XFS_ATTRI_OP_FLAGS_SET, &new);
	if (error)
		return error;

@@ -937,7 +937,7 @@ xfs_attr_defer_replace(
	struct xfs_attr_item	*new;
	int			error = 0;

	error = xfs_attr_item_init(args, XFS_ATTR_OP_FLAGS_REPLACE, &new);
	error = xfs_attr_item_init(args, XFS_ATTRI_OP_FLAGS_REPLACE, &new);
	if (error)
		return error;

@@ -957,7 +957,7 @@ xfs_attr_defer_remove(
	struct xfs_attr_item	*new;
	int			error;

	error  = xfs_attr_item_init(args, XFS_ATTR_OP_FLAGS_REMOVE, &new);
	error  = xfs_attr_item_init(args, XFS_ATTRI_OP_FLAGS_REMOVE, &new);
	if (error)
		return error;

+1 −1
Original line number Diff line number Diff line
@@ -530,7 +530,7 @@ struct xfs_attr_item {
	enum xfs_delattr_state		xattri_dela_state;

	/*
	 * Attr operation being performed - XFS_ATTR_OP_FLAGS_*
	 * Attr operation being performed - XFS_ATTRI_OP_FLAGS_*
	 */
	unsigned int			xattri_op_flags;

+4 −4
Original line number Diff line number Diff line
@@ -906,10 +906,10 @@ struct xfs_icreate_log {
 * Flags for deferred attribute operations.
 * Upper bits are flags, lower byte is type code
 */
#define XFS_ATTR_OP_FLAGS_SET		1	/* Set the attribute */
#define XFS_ATTR_OP_FLAGS_REMOVE	2	/* Remove the attribute */
#define XFS_ATTR_OP_FLAGS_REPLACE	3	/* Replace the attribute */
#define XFS_ATTR_OP_FLAGS_TYPE_MASK	0xFF	/* Flags type mask */
#define XFS_ATTRI_OP_FLAGS_SET		1	/* Set the attribute */
#define XFS_ATTRI_OP_FLAGS_REMOVE	2	/* Remove the attribute */
#define XFS_ATTRI_OP_FLAGS_REPLACE	3	/* Replace the attribute */
#define XFS_ATTRI_OP_FLAGS_TYPE_MASK	0xFF	/* Flags type mask */

/*
 * alfi_attr_filter captures the state of xfs_da_args.attr_filter, so it should
+10 −10
Original line number Diff line number Diff line
@@ -349,7 +349,7 @@ xfs_attr_log_item(
	 */
	attrp = &attrip->attri_format;
	attrp->alfi_ino = attr->xattri_da_args->dp->i_ino;
	ASSERT(!(attr->xattri_op_flags & ~XFS_ATTR_OP_FLAGS_TYPE_MASK));
	ASSERT(!(attr->xattri_op_flags & ~XFS_ATTRI_OP_FLAGS_TYPE_MASK));
	attrp->alfi_op_flags = attr->xattri_op_flags;
	attrp->alfi_value_len = attr->xattri_da_args->valuelen;
	attrp->alfi_name_len = attr->xattri_da_args->namelen;
@@ -493,12 +493,12 @@ xfs_attri_validate(
	struct xfs_attri_log_format	*attrp)
{
	unsigned int			op = attrp->alfi_op_flags &
					     XFS_ATTR_OP_FLAGS_TYPE_MASK;
					     XFS_ATTRI_OP_FLAGS_TYPE_MASK;

	if (attrp->__pad != 0)
		return false;

	if (attrp->alfi_op_flags & ~XFS_ATTR_OP_FLAGS_TYPE_MASK)
	if (attrp->alfi_op_flags & ~XFS_ATTRI_OP_FLAGS_TYPE_MASK)
		return false;

	if (attrp->alfi_attr_filter & ~XFS_ATTRI_FILTER_MASK)
@@ -506,9 +506,9 @@ xfs_attri_validate(

	/* alfi_op_flags should be either a set or remove */
	switch (op) {
	case XFS_ATTR_OP_FLAGS_SET:
	case XFS_ATTR_OP_FLAGS_REPLACE:
	case XFS_ATTR_OP_FLAGS_REMOVE:
	case XFS_ATTRI_OP_FLAGS_SET:
	case XFS_ATTRI_OP_FLAGS_REPLACE:
	case XFS_ATTRI_OP_FLAGS_REMOVE:
		break;
	default:
		return false;
@@ -565,7 +565,7 @@ xfs_attri_item_recover(

	attr->xattri_da_args = args;
	attr->xattri_op_flags = attrp->alfi_op_flags &
						XFS_ATTR_OP_FLAGS_TYPE_MASK;
						XFS_ATTRI_OP_FLAGS_TYPE_MASK;

	args->dp = ip;
	args->geo = mp->m_attr_geo;
@@ -577,8 +577,8 @@ xfs_attri_item_recover(
	args->op_flags = XFS_DA_OP_RECOVERY | XFS_DA_OP_OKNOENT;

	switch (attr->xattri_op_flags) {
	case XFS_ATTR_OP_FLAGS_SET:
	case XFS_ATTR_OP_FLAGS_REPLACE:
	case XFS_ATTRI_OP_FLAGS_SET:
	case XFS_ATTRI_OP_FLAGS_REPLACE:
		args->value = attrip->attri_value;
		args->valuelen = attrp->alfi_value_len;
		args->total = xfs_attr_calc_size(args, &local);
@@ -587,7 +587,7 @@ xfs_attri_item_recover(
		else
			attr->xattri_dela_state = xfs_attr_init_add_state(args);
		break;
	case XFS_ATTR_OP_FLAGS_REMOVE:
	case XFS_ATTRI_OP_FLAGS_REMOVE:
		if (!xfs_inode_hasattr(args->dp))
			goto out;
		attr->xattri_dela_state = xfs_attr_init_remove_state(args);