Remove unused file attribute flag LUSTRE_BFLAG_UNCOMMITTED_WRITES
that was used internally on the client at one point.
Remove unused file attribute LUSTRE_BFLAG_EXT_FLAGS from wireshark
which was used to distinguish between S_* (in-memory) flags and
*_FL (on-disk) flags.
Add flags from the kernel which may be useful in the near future.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I39d6f26aa0fbe7b5f6ddcf31d97c959556660310
Reviewed-on: http://review.whamcloud.com/10274
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
};
const value_string lustre_mds_flags_vals[] = {
};
const value_string lustre_mds_flags_vals[] = {
- {0x1, "LUSTRE_BFLAG_UNCOMMITTED_WRITES"},
- {0x80000000, "LUSTRE_BFLAG_EXT_FLAGS"}, /* == EXT3_RESERVED_FL */
{0x00000008, "LUSTRE_SYNC_FL "}, /* Synchronous updates */
{0x00000010, "LUSTRE_IMMUTABLE_FL "}, /* Immutable file */
{0x00000020, "LUSTRE_APPEND_FL "}, /* writes to file may only append */
{0x00000008, "LUSTRE_SYNC_FL "}, /* Synchronous updates */
{0x00000010, "LUSTRE_IMMUTABLE_FL "}, /* Immutable file */
{0x00000020, "LUSTRE_APPEND_FL "}, /* writes to file may only append */
+ {0x00000040, "LUSTRE_NODUMP_FL "}, /* do not dump file */
{0x00000080, "LUSTRE_NOATIME_FL "}, /* do not update atime */
{0x00000080, "LUSTRE_NOATIME_FL "}, /* do not update atime */
+ {0x00001000, "LUSTRE_INDEX_FL "}, /* hash-indexed directory */
{0x00010000, "LUSTRE_DIRSYNC_FL "}, /* dirsync behaviour (dir only) */
{0x00010000, "LUSTRE_DIRSYNC_FL "}, /* dirsync behaviour (dir only) */
+ {0x00020000, "LUSTRE_TOPDIR_FL "}, /* Top of directory hierarchies */
+ {0x00100000, "LUSTRE_DIRECTIO_FL "}, /* Use direct i/o */
+ {0x10000000, "LUSTRE_INLINE_DATA_FL "}, /* Inode has inline data. */
#define MDS_STATUS_CONN 1
#define MDS_STATUS_LOV 2
#define MDS_STATUS_CONN 1
#define MDS_STATUS_LOV 2
-#define LUSTRE_BFLAG_UNCOMMITTED_WRITES 0x1
-
/* these should be identical to their EXT4_*_FL counterparts, they are
* redefined here only to avoid dragging in fs/ext4/ext4.h */
/* these should be identical to their EXT4_*_FL counterparts, they are
* redefined here only to avoid dragging in fs/ext4/ext4.h */
-#define LUSTRE_SYNC_FL 0x00000008 /* Synchronous updates */
-#define LUSTRE_IMMUTABLE_FL 0x00000010 /* Immutable file */
-#define LUSTRE_APPEND_FL 0x00000020 /* writes to file may only append */
-#define LUSTRE_NOATIME_FL 0x00000080 /* do not update atime */
-#define LUSTRE_DIRSYNC_FL 0x00010000 /* dirsync behaviour (dir only) */
+#define LUSTRE_SYNC_FL 0x00000008 /* Synchronous updates */
+#define LUSTRE_IMMUTABLE_FL 0x00000010 /* Immutable file */
+#define LUSTRE_APPEND_FL 0x00000020 /* writes to file may only append */
+#define LUSTRE_NODUMP_FL 0x00000040 /* do not dump file */
+#define LUSTRE_NOATIME_FL 0x00000080 /* do not update atime */
+#define LUSTRE_INDEX_FL 0x00001000 /* hash-indexed directory */
+#define LUSTRE_DIRSYNC_FL 0x00010000 /* dirsync behaviour (dir only) */
+#define LUSTRE_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
+#define LUSTRE_DIRECTIO_FL 0x00100000 /* Use direct i/o */
+#define LUSTRE_INLINE_DATA_FL 0x10000000 /* Inode has inline data. */
#ifdef __KERNEL__
/* Convert wire LUSTRE_*_FL to corresponding client local VFS S_* values
#ifdef __KERNEL__
/* Convert wire LUSTRE_*_FL to corresponding client local VFS S_* values
__u32 mbo_mode;
__u32 mbo_uid;
__u32 mbo_gid;
__u32 mbo_mode;
__u32 mbo_uid;
__u32 mbo_gid;
+ __u32 mbo_flags; /* LUSTRE_*_FL file attributes */
__u32 mbo_rdev;
__u32 mbo_nlink; /* #bytes to read in the case of MDS_READPAGE */
__u32 mbo_unused2; /* was "generation" until 2.4.0 */
__u32 mbo_rdev;
__u32 mbo_nlink; /* #bytes to read in the case of MDS_READPAGE */
__u32 mbo_unused2; /* was "generation" until 2.4.0 */
RETURN(-EPERM);
if (!S_ISDIR(oattr->la_mode))
RETURN(-EPERM);
if (!S_ISDIR(oattr->la_mode))
- la->la_flags &= ~LUSTRE_DIRSYNC_FL;
+ la->la_flags &= ~(LUSTRE_DIRSYNC_FL | LUSTRE_TOPDIR_FL);
}
if (oattr->la_flags & (LUSTRE_IMMUTABLE_FL | LUSTRE_APPEND_FL) &&
}
if (oattr->la_flags & (LUSTRE_IMMUTABLE_FL | LUSTRE_APPEND_FL) &&
(long long)MDS_STATUS_CONN);
LASSERTF(MDS_STATUS_LOV == 2, "found %lld\n",
(long long)MDS_STATUS_LOV);
(long long)MDS_STATUS_CONN);
LASSERTF(MDS_STATUS_LOV == 2, "found %lld\n",
(long long)MDS_STATUS_LOV);
- LASSERTF(LUSTRE_BFLAG_UNCOMMITTED_WRITES == 1, "found %lld\n",
- (long long)LUSTRE_BFLAG_UNCOMMITTED_WRITES);
LASSERTF(MDS_ATTR_MODE == 0x0000000000000001ULL, "found 0x%.16llxULL\n",
(long long)MDS_ATTR_MODE);
LASSERTF(MDS_ATTR_UID == 0x0000000000000002ULL, "found 0x%.16llxULL\n",
LASSERTF(MDS_ATTR_MODE == 0x0000000000000001ULL, "found 0x%.16llxULL\n",
(long long)MDS_ATTR_MODE);
LASSERTF(MDS_ATTR_UID == 0x0000000000000002ULL, "found 0x%.16llxULL\n",
LUSTRE_IMMUTABLE_FL);
LASSERTF(LUSTRE_APPEND_FL == 0x00000020, "found 0x%.8x\n",
LUSTRE_APPEND_FL);
LUSTRE_IMMUTABLE_FL);
LASSERTF(LUSTRE_APPEND_FL == 0x00000020, "found 0x%.8x\n",
LUSTRE_APPEND_FL);
+ LASSERTF(LUSTRE_NODUMP_FL == 0x00000040, "found 0x%.8x\n",
+ LUSTRE_NODUMP_FL);
LASSERTF(LUSTRE_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
LUSTRE_NOATIME_FL);
LASSERTF(LUSTRE_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
LUSTRE_NOATIME_FL);
+ LASSERTF(LUSTRE_INDEX_FL == 0x00001000, "found 0x%.8x\n",
+ LUSTRE_INDEX_FL);
LASSERTF(LUSTRE_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
LUSTRE_DIRSYNC_FL);
LASSERTF(LUSTRE_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
LUSTRE_DIRSYNC_FL);
+ LASSERTF(LUSTRE_TOPDIR_FL == 0x00020000, "found 0x%.8x\n",
+ LUSTRE_TOPDIR_FL);
+ LASSERTF(LUSTRE_DIRECTIO_FL == 0x00100000, "found 0x%.8x\n",
+ LUSTRE_DIRECTIO_FL);
+ LASSERTF(LUSTRE_INLINE_DATA_FL == 0x10000000, "found 0x%.8x\n",
+ LUSTRE_INLINE_DATA_FL);
LASSERTF(MDS_INODELOCK_LOOKUP == 0x000001, "found 0x%.8x\n",
MDS_INODELOCK_LOOKUP);
LASSERTF(MDS_INODELOCK_UPDATE == 0x000002, "found 0x%.8x\n",
LASSERTF(MDS_INODELOCK_LOOKUP == 0x000001, "found 0x%.8x\n",
MDS_INODELOCK_LOOKUP);
LASSERTF(MDS_INODELOCK_UPDATE == 0x000002, "found 0x%.8x\n",
CHECK_DEFINE_X(LUSTRE_SYNC_FL);
CHECK_DEFINE_X(LUSTRE_IMMUTABLE_FL);
CHECK_DEFINE_X(LUSTRE_APPEND_FL);
CHECK_DEFINE_X(LUSTRE_SYNC_FL);
CHECK_DEFINE_X(LUSTRE_IMMUTABLE_FL);
CHECK_DEFINE_X(LUSTRE_APPEND_FL);
+ CHECK_DEFINE_X(LUSTRE_NODUMP_FL);
CHECK_DEFINE_X(LUSTRE_NOATIME_FL);
CHECK_DEFINE_X(LUSTRE_NOATIME_FL);
+ CHECK_DEFINE_X(LUSTRE_INDEX_FL);
CHECK_DEFINE_X(LUSTRE_DIRSYNC_FL);
CHECK_DEFINE_X(LUSTRE_DIRSYNC_FL);
+ CHECK_DEFINE_X(LUSTRE_TOPDIR_FL);
+ CHECK_DEFINE_X(LUSTRE_DIRECTIO_FL);
+ CHECK_DEFINE_X(LUSTRE_INLINE_DATA_FL);
CHECK_DEFINE_X(MDS_INODELOCK_LOOKUP);
CHECK_DEFINE_X(MDS_INODELOCK_UPDATE);
CHECK_DEFINE_X(MDS_INODELOCK_LOOKUP);
CHECK_DEFINE_X(MDS_INODELOCK_UPDATE);
CHECK_VALUE(MDS_STATUS_CONN);
CHECK_VALUE(MDS_STATUS_LOV);
CHECK_VALUE(MDS_STATUS_CONN);
CHECK_VALUE(MDS_STATUS_LOV);
- CHECK_VALUE(LUSTRE_BFLAG_UNCOMMITTED_WRITES);
-
CHECK_VALUE_64X(MDS_ATTR_MODE);
CHECK_VALUE_64X(MDS_ATTR_UID);
CHECK_VALUE_64X(MDS_ATTR_GID);
CHECK_VALUE_64X(MDS_ATTR_MODE);
CHECK_VALUE_64X(MDS_ATTR_UID);
CHECK_VALUE_64X(MDS_ATTR_GID);
(long long)MDS_STATUS_CONN);
LASSERTF(MDS_STATUS_LOV == 2, "found %lld\n",
(long long)MDS_STATUS_LOV);
(long long)MDS_STATUS_CONN);
LASSERTF(MDS_STATUS_LOV == 2, "found %lld\n",
(long long)MDS_STATUS_LOV);
- LASSERTF(LUSTRE_BFLAG_UNCOMMITTED_WRITES == 1, "found %lld\n",
- (long long)LUSTRE_BFLAG_UNCOMMITTED_WRITES);
LASSERTF(MDS_ATTR_MODE == 0x0000000000000001ULL, "found 0x%.16llxULL\n",
(long long)MDS_ATTR_MODE);
LASSERTF(MDS_ATTR_UID == 0x0000000000000002ULL, "found 0x%.16llxULL\n",
LASSERTF(MDS_ATTR_MODE == 0x0000000000000001ULL, "found 0x%.16llxULL\n",
(long long)MDS_ATTR_MODE);
LASSERTF(MDS_ATTR_UID == 0x0000000000000002ULL, "found 0x%.16llxULL\n",
LUSTRE_IMMUTABLE_FL);
LASSERTF(LUSTRE_APPEND_FL == 0x00000020, "found 0x%.8x\n",
LUSTRE_APPEND_FL);
LUSTRE_IMMUTABLE_FL);
LASSERTF(LUSTRE_APPEND_FL == 0x00000020, "found 0x%.8x\n",
LUSTRE_APPEND_FL);
+ LASSERTF(LUSTRE_NODUMP_FL == 0x00000040, "found 0x%.8x\n",
+ LUSTRE_NODUMP_FL);
LASSERTF(LUSTRE_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
LUSTRE_NOATIME_FL);
LASSERTF(LUSTRE_NOATIME_FL == 0x00000080, "found 0x%.8x\n",
LUSTRE_NOATIME_FL);
+ LASSERTF(LUSTRE_INDEX_FL == 0x00001000, "found 0x%.8x\n",
+ LUSTRE_INDEX_FL);
LASSERTF(LUSTRE_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
LUSTRE_DIRSYNC_FL);
LASSERTF(LUSTRE_DIRSYNC_FL == 0x00010000, "found 0x%.8x\n",
LUSTRE_DIRSYNC_FL);
+ LASSERTF(LUSTRE_TOPDIR_FL == 0x00020000, "found 0x%.8x\n",
+ LUSTRE_TOPDIR_FL);
+ LASSERTF(LUSTRE_DIRECTIO_FL == 0x00100000, "found 0x%.8x\n",
+ LUSTRE_DIRECTIO_FL);
+ LASSERTF(LUSTRE_INLINE_DATA_FL == 0x10000000, "found 0x%.8x\n",
+ LUSTRE_INLINE_DATA_FL);
LASSERTF(MDS_INODELOCK_LOOKUP == 0x000001, "found 0x%.8x\n",
MDS_INODELOCK_LOOKUP);
LASSERTF(MDS_INODELOCK_UPDATE == 0x000002, "found 0x%.8x\n",
LASSERTF(MDS_INODELOCK_LOOKUP == 0x000001, "found 0x%.8x\n",
MDS_INODELOCK_LOOKUP);
LASSERTF(MDS_INODELOCK_UPDATE == 0x000002, "found 0x%.8x\n",