From 2b14e545001b97e59e3aa41affc35de14b2616f0 Mon Sep 17 00:00:00 2001 From: Sebastien Buisson Date: Thu, 11 Jan 2018 01:24:47 +0900 Subject: [PATCH] LU-10485 lustre: move LA_* flags to lustre_user.h The LA_* flags are written to disk as part of the ChangeLog records in mdd_attr_set_changelog(), which means they are now part of the on-disk and network protocol, and cannot be changed (at least not the first 12 bits that are written). They need to be moved to lustre_user.h. Signed-off-by: Sebastien Buisson Change-Id: I9fc92e01301e70f0f4e5cd74135b9b2079d63658 Reviewed-on: https://review.whamcloud.com/30825 Reviewed-by: Andreas Dilger Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Quentin Bouget --- lustre/include/lu_object.h | 25 ----------------------- lustre/include/uapi/linux/lustre/lustre_user.h | 28 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/lustre/include/lu_object.h b/lustre/include/lu_object.h index 17b5521e..63b92ef 100644 --- a/lustre/include/lu_object.h +++ b/lustre/include/lu_object.h @@ -430,31 +430,6 @@ struct lu_attr { __u32 la_layout_version; }; -/** Bit-mask of valid attributes */ -enum la_valid { - LA_ATIME = 1 << 0, - LA_MTIME = 1 << 1, - LA_CTIME = 1 << 2, - LA_SIZE = 1 << 3, - LA_MODE = 1 << 4, - LA_UID = 1 << 5, - LA_GID = 1 << 6, - LA_BLOCKS = 1 << 7, - LA_TYPE = 1 << 8, - LA_FLAGS = 1 << 9, - LA_NLINK = 1 << 10, - LA_RDEV = 1 << 11, - LA_BLKSIZE = 1 << 12, - LA_KILL_SUID = 1 << 13, - LA_KILL_SGID = 1 << 14, - LA_PROJID = 1 << 15, - LA_LAYOUT_VERSION = 1 << 16, - /** - * Attributes must be transmitted to OST objects - */ - LA_REMOTE_ATTR_SET = (LA_UID | LA_GID | LA_PROJID | LA_LAYOUT_VERSION) -}; - /** * Layer in the layered object. */ diff --git a/lustre/include/uapi/linux/lustre/lustre_user.h b/lustre/include/uapi/linux/lustre/lustre_user.h index 21948c6..4e70006 100644 --- a/lustre/include/uapi/linux/lustre/lustre_user.h +++ b/lustre/include/uapi/linux/lustre/lustre_user.h @@ -954,6 +954,34 @@ struct lustre_swap_layouts { __u64 sl_dv2; }; +/** Bit-mask of valid attributes */ +/* The LA_* flags are written to disk as part of the ChangeLog records + * so they are part of the on-disk and network protocol, and cannot be changed. + * Only the first 12 bits are currently saved. + */ +enum la_valid { + LA_ATIME = 1 << 0, + LA_MTIME = 1 << 1, + LA_CTIME = 1 << 2, + LA_SIZE = 1 << 3, + LA_MODE = 1 << 4, + LA_UID = 1 << 5, + LA_GID = 1 << 6, + LA_BLOCKS = 1 << 7, + LA_TYPE = 1 << 8, + LA_FLAGS = 1 << 9, + LA_NLINK = 1 << 10, + LA_RDEV = 1 << 11, + LA_BLKSIZE = 1 << 12, + LA_KILL_SUID = 1 << 13, + LA_KILL_SGID = 1 << 14, + LA_PROJID = 1 << 15, + LA_LAYOUT_VERSION = 1 << 16, + /** + * Attributes must be transmitted to OST objects + */ + LA_REMOTE_ATTR_SET = (LA_UID | LA_GID | LA_PROJID | LA_LAYOUT_VERSION) +}; /********* Changelogs **********/ /** Changelog record types */ -- 1.8.3.1