[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:
@@ -85,7 +85,8 @@ xfs_dir2_trace_args(
|
||||
(void *)((unsigned long)(args->inumber >> 32)),
|
||||
(void *)((unsigned long)(args->inumber & 0xFFFFFFFF)),
|
||||
(void *)args->dp, (void *)args->trans,
|
||||
(void *)(unsigned long)args->justcheck, NULL, NULL);
|
||||
(void *)(unsigned long)(args->op_flags & XFS_DA_OP_JUSTCHECK),
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -100,7 +101,7 @@ xfs_dir2_trace_args_b(
|
||||
(void *)((unsigned long)(args->inumber >> 32)),
|
||||
(void *)((unsigned long)(args->inumber & 0xFFFFFFFF)),
|
||||
(void *)args->dp, (void *)args->trans,
|
||||
(void *)(unsigned long)args->justcheck,
|
||||
(void *)(unsigned long)(args->op_flags & XFS_DA_OP_JUSTCHECK),
|
||||
(void *)(bp ? bp->bps[0] : NULL), NULL);
|
||||
}
|
||||
|
||||
@@ -117,7 +118,7 @@ xfs_dir2_trace_args_bb(
|
||||
(void *)((unsigned long)(args->inumber >> 32)),
|
||||
(void *)((unsigned long)(args->inumber & 0xFFFFFFFF)),
|
||||
(void *)args->dp, (void *)args->trans,
|
||||
(void *)(unsigned long)args->justcheck,
|
||||
(void *)(unsigned long)(args->op_flags & XFS_DA_OP_JUSTCHECK),
|
||||
(void *)(lbp ? lbp->bps[0] : NULL),
|
||||
(void *)(dbp ? dbp->bps[0] : NULL));
|
||||
}
|
||||
@@ -157,8 +158,8 @@ xfs_dir2_trace_args_db(
|
||||
(void *)((unsigned long)(args->inumber >> 32)),
|
||||
(void *)((unsigned long)(args->inumber & 0xFFFFFFFF)),
|
||||
(void *)args->dp, (void *)args->trans,
|
||||
(void *)(unsigned long)args->justcheck, (void *)(long)db,
|
||||
(void *)dbp);
|
||||
(void *)(unsigned long)(args->op_flags & XFS_DA_OP_JUSTCHECK),
|
||||
(void *)(long)db, (void *)dbp);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -173,7 +174,7 @@ xfs_dir2_trace_args_i(
|
||||
(void *)((unsigned long)(args->inumber >> 32)),
|
||||
(void *)((unsigned long)(args->inumber & 0xFFFFFFFF)),
|
||||
(void *)args->dp, (void *)args->trans,
|
||||
(void *)(unsigned long)args->justcheck,
|
||||
(void *)(unsigned long)(args->op_flags & XFS_DA_OP_JUSTCHECK),
|
||||
(void *)((unsigned long)(i >> 32)),
|
||||
(void *)((unsigned long)(i & 0xFFFFFFFF)));
|
||||
}
|
||||
@@ -190,7 +191,8 @@ xfs_dir2_trace_args_s(
|
||||
(void *)((unsigned long)(args->inumber >> 32)),
|
||||
(void *)((unsigned long)(args->inumber & 0xFFFFFFFF)),
|
||||
(void *)args->dp, (void *)args->trans,
|
||||
(void *)(unsigned long)args->justcheck, (void *)(long)s, NULL);
|
||||
(void *)(unsigned long)(args->op_flags & XFS_DA_OP_JUSTCHECK),
|
||||
(void *)(long)s, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -208,7 +210,7 @@ xfs_dir2_trace_args_sb(
|
||||
(void *)((unsigned long)(args->inumber >> 32)),
|
||||
(void *)((unsigned long)(args->inumber & 0xFFFFFFFF)),
|
||||
(void *)args->dp, (void *)args->trans,
|
||||
(void *)(unsigned long)args->justcheck, (void *)(long)s,
|
||||
(void *)dbp);
|
||||
(void *)(unsigned long)(args->op_flags & XFS_DA_OP_JUSTCHECK),
|
||||
(void *)(long)s, (void *)dbp);
|
||||
}
|
||||
#endif /* XFS_DIR2_TRACE */
|
||||
|
Reference in New Issue
Block a user