Whamcloud - gitweb
LU-12885 mds: add enums for MDS_ATTR flags 12/33512/20
authorAndreas Dilger <adilger@whamcloud.com>
Mon, 14 Oct 2019 03:13:18 +0000 (21:13 -0600)
committerOleg Drokin <green@whamcloud.com>
Sat, 13 Mar 2021 18:33:39 +0000 (18:33 +0000)
Add mds_attr_flags to the code to make it easier to follow the logic.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I833a6e6102f947a9276cb6bf03826fd4a53ebbe5
Reviewed-on: https://review.whamcloud.com/33512
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/mdc/mdc_lib.c
lustre/mdt/mdt_lib.c

index b05a4c3..c36b710 100644 (file)
@@ -1903,26 +1903,28 @@ struct mdt_rec_setattr {
  * since the client and MDS may run different kernels (see bug 13828)
  * Therefore, we should only use MDS_ATTR_* attributes for sa_valid.
  */
-#define MDS_ATTR_MODE          0x1ULL /* = 1 */
-#define MDS_ATTR_UID           0x2ULL /* = 2 */
-#define MDS_ATTR_GID           0x4ULL /* = 4 */
-#define MDS_ATTR_SIZE          0x8ULL /* = 8 */
-#define MDS_ATTR_ATIME        0x10ULL /* = 16 */
-#define MDS_ATTR_MTIME        0x20ULL /* = 32 */
-#define MDS_ATTR_CTIME        0x40ULL /* = 64 */
-#define MDS_ATTR_ATIME_SET    0x80ULL /* = 128 */
-#define MDS_ATTR_MTIME_SET   0x100ULL /* = 256 */
-#define MDS_ATTR_FORCE       0x200ULL /* = 512, Not a change, but a change it */
-#define MDS_ATTR_ATTR_FLAG   0x400ULL /* = 1024 */
-#define MDS_ATTR_KILL_SUID   0x800ULL /* = 2048 */
-#define MDS_ATTR_KILL_SGID  0x1000ULL /* = 4096 */
-#define MDS_ATTR_CTIME_SET  0x2000ULL /* = 8192 */
-#define MDS_ATTR_FROM_OPEN  0x4000ULL /* = 16384, called from open path, ie O_TRUNC */
-#define MDS_ATTR_BLOCKS     0x8000ULL /* = 32768 */
-#define MDS_ATTR_PROJID            0x10000ULL  /* = 65536 */
-#define MDS_ATTR_LSIZE      0x20000ULL /* = 131072 */
-#define MDS_ATTR_LBLOCKS    0x40000ULL /* = 262144 */
-#define MDS_ATTR_OVERRIDE      0x2000000ULL /* = 33554432 */
+enum mds_attr_flags {
+       MDS_ATTR_MODE =               0x1ULL, /* = 1 */
+       MDS_ATTR_UID =                0x2ULL, /* = 2 */
+       MDS_ATTR_GID =                0x4ULL, /* = 4 */
+       MDS_ATTR_SIZE =               0x8ULL, /* = 8 */
+       MDS_ATTR_ATIME =             0x10ULL, /* = 16 */
+       MDS_ATTR_MTIME =             0x20ULL, /* = 32 */
+       MDS_ATTR_CTIME =             0x40ULL, /* = 64 */
+       MDS_ATTR_ATIME_SET =         0x80ULL, /* = 128 */
+       MDS_ATTR_MTIME_SET =        0x100ULL, /* = 256 */
+       MDS_ATTR_FORCE =            0x200ULL, /* = 512, change it */
+       MDS_ATTR_ATTR_FLAG =        0x400ULL, /* = 1024 */
+       MDS_ATTR_KILL_SUID =        0x800ULL, /* = 2048 */
+       MDS_ATTR_KILL_SGID =       0x1000ULL, /* = 4096 */
+       MDS_ATTR_CTIME_SET =       0x2000ULL, /* = 8192 */
+       MDS_ATTR_FROM_OPEN =       0x4000ULL, /* = 16384, from open O_TRUNC */
+       MDS_ATTR_BLOCKS =          0x8000ULL, /* = 32768 */
+       MDS_ATTR_PROJID =         0x10000ULL, /* = 65536 */
+       MDS_ATTR_LSIZE =          0x20000ULL, /* = 131072 */
+       MDS_ATTR_LBLOCKS =        0x40000ULL, /* = 262144 */
+       MDS_ATTR_OVERRIDE =     0x2000000ULL, /* = 33554432 */
+};
 
 enum mds_op_bias {
 /*     MDS_CHECK_SPLIT         = 1 << 0, obsolete before 2.3.58 */
index b44bc0f..a1a1d22 100644 (file)
@@ -335,9 +335,10 @@ void mdc_open_pack(struct ptlrpc_request *req, struct md_op_data *op_data,
        set_mrc_cr_flags(rec, cr_flags);
 }
 
-static inline u64 attr_pack(unsigned int ia_valid, enum op_xvalid ia_xvalid)
+static inline enum mds_attr_flags mdc_attr_pack(unsigned int ia_valid,
+                                               enum op_xvalid ia_xvalid)
 {
-       u64 sa_valid = 0;
+       enum mds_attr_flags sa_valid = 0;
 
        if (ia_valid & ATTR_MODE)
                sa_valid |= MDS_ATTR_MODE;
@@ -380,6 +381,7 @@ static inline u64 attr_pack(unsigned int ia_valid, enum op_xvalid ia_xvalid)
                sa_valid |= MDS_ATTR_LSIZE;
        if (ia_xvalid & OP_XVALID_LAZYBLOCKS)
                sa_valid |= MDS_ATTR_LBLOCKS;
+
        return sa_valid;
 }
 
@@ -393,8 +395,8 @@ static void mdc_setattr_pack_rec(struct mdt_rec_setattr *rec,
        rec->sa_suppgid = -1;
 
        rec->sa_fid    = op_data->op_fid1;
-       rec->sa_valid  = attr_pack(op_data->op_attr.ia_valid,
-                                  op_data->op_xvalid);
+       rec->sa_valid  = mdc_attr_pack(op_data->op_attr.ia_valid,
+                                      op_data->op_xvalid);
        rec->sa_mode   = op_data->op_attr.ia_mode;
        rec->sa_uid    = from_kuid(&init_user_ns, op_data->op_attr.ia_uid);
        rec->sa_gid    = from_kgid(&init_user_ns, op_data->op_attr.ia_gid);
index be2531a..74102aa 100644 (file)
@@ -950,7 +950,8 @@ int mdt_handle_last_unlink(struct mdt_thread_info *info, struct mdt_object *mo,
         RETURN(0);
 }
 
-static __u64 mdt_attr_valid_xlate(__u64 in, struct mdt_reint_record *rr,
+static __u64 mdt_attr_valid_xlate(enum mds_attr_flags in,
+                                 struct mdt_reint_record *rr,
                                   struct md_attr *ma)
 {
        __u64 out;
@@ -1000,7 +1001,8 @@ static __u64 mdt_attr_valid_xlate(__u64 in, struct mdt_reint_record *rr,
                MDS_ATTR_FROM_OPEN | MDS_ATTR_LSIZE | MDS_ATTR_LBLOCKS |
                MDS_ATTR_OVERRIDE);
        if (in != 0)
-               CDEBUG(D_INFO, "Unknown attr bits: %#llx\n", in);
+               CDEBUG(D_INFO, "Unknown attr bits: %#llx\n", (u64)in);
+
        return out;
 }