[git commit] lsattr: support more ext2 flags

Denys Vlasenko vda.linux at googlemail.com
Sun Jun 20 10:34:05 UTC 2021


commit: https://git.busybox.net/busybox/commit/?id=83dff7f43154cd41e4d2e5831060a2d2ddc6596e
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
e2attr_flags_lname                                   214     285     +71
e2attr_flags_value                                    52      80     +28
e2attr_flags_sname                                    14      21      +7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 106/0)             Total: 106 bytes

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 e2fsprogs/e2fs_lib.c   | 27 +++++++++++++++++++--------
 include/bb_e2fs_defs.h | 11 ++++++-----
 2 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/e2fsprogs/e2fs_lib.c b/e2fsprogs/e2fs_lib.c
index bc9aa53e5..8d56add2d 100644
--- a/e2fsprogs/e2fs_lib.c
+++ b/e2fsprogs/e2fs_lib.c
@@ -158,9 +158,7 @@ const uint32_t e2attr_flags_value[] ALIGN4 = {
 	EXT2_COMPRBLK_FL,
 	EXT2_DIRTY_FL,
 	EXT2_NOCOMPR_FL,
-	EXT2_ECOMPR_FL,
 #endif
-	EXT2_INDEX_FL,
 	EXT2_SECRM_FL,
 	EXT2_UNRM_FL,
 	EXT2_SYNC_FL,
@@ -170,26 +168,31 @@ const uint32_t e2attr_flags_value[] ALIGN4 = {
 	EXT2_NODUMP_FL,
 	EXT2_NOATIME_FL,
 	EXT2_COMPR_FL,
+	EXT2_ECOMPR_FL,
 	EXT3_JOURNAL_DATA_FL,
+	EXT2_INDEX_FL,
 	EXT2_NOTAIL_FL,
-	EXT2_TOPDIR_FL
+	EXT2_TOPDIR_FL,
+	EXT2_EXTENT_FL,
+	EXT2_NOCOW_FL,
+	EXT2_CASEFOLD_FL,
+	EXT2_INLINE_DATA_FL,
+	EXT2_PROJINHERIT_FL,
+	EXT2_VERITY_FL,
 };
 
 const char e2attr_flags_sname[] ALIGN1 =
 #ifdef ENABLE_COMPRESSION
-	"BZXE"
+	"BZX"
 #endif
-	"I"
-	"suSDiadAcjtT";
+	"suSDiadAcEjItTeCFNPV";
 
 static const char e2attr_flags_lname[] ALIGN1 =
 #ifdef ENABLE_COMPRESSION
 	"Compressed_File" "\0"
 	"Compressed_Dirty_File" "\0"
 	"Compression_Raw_Access" "\0"
-	"Compression_Error" "\0"
 #endif
-	"Indexed_directory" "\0"
 	"Secure_Deletion" "\0"
 	"Undelete" "\0"
 	"Synchronous_Updates" "\0"
@@ -199,9 +202,17 @@ static const char e2attr_flags_lname[] ALIGN1 =
 	"No_Dump" "\0"
 	"No_Atime" "\0"
 	"Compression_Requested" "\0"
+	"Encrypted" "\0"
 	"Journaled_Data" "\0"
+	"Indexed_directory" "\0"
 	"No_Tailmerging" "\0"
 	"Top_of_Directory_Hierarchies" "\0"
+	"Extents" "\0"
+	"No_COW" "\0"
+	"Casefold" "\0"
+	"Inline_Data" "\0"
+	"Project_Hierarchy" "\0"
+	"Verity" "\0"
 	/* Another trailing NUL is added by compiler */;
 
 void print_e2flags(FILE *f, unsigned long flags, unsigned options)
diff --git a/include/bb_e2fs_defs.h b/include/bb_e2fs_defs.h
index 2d72288ed..608cbf0b0 100644
--- a/include/bb_e2fs_defs.h
+++ b/include/bb_e2fs_defs.h
@@ -182,11 +182,12 @@ struct ext2_dx_countlimit {
 #define EXT2_NOTAIL_FL			0x00008000 /* file tail should not be merged */
 #define EXT2_DIRSYNC_FL			0x00010000 /* Synchronous directory modifications */
 #define EXT2_TOPDIR_FL			0x00020000 /* Top of directory hierarchies*/
-#define EXT3_EXTENTS_FL			0x00080000 /* Inode uses extents */
-#define EXT2_RESERVED_FL		0x80000000 /* reserved for ext2 lib */
-
-#define EXT2_FL_USER_VISIBLE		0x0003DFFF /* User visible flags */
-#define EXT2_FL_USER_MODIFIABLE		0x000080FF /* User modifiable flags */
+#define EXT2_EXTENT_FL			0x00080000 /* Extents */
+#define EXT2_VERITY_FL			0x00100000
+#define EXT2_NOCOW_FL			0x00800000 /* Do not cow file */
+#define EXT2_INLINE_DATA_FL		0x10000000
+#define EXT2_PROJINHERIT_FL		0x20000000
+#define EXT2_CASEFOLD_FL		0x40000000
 
 /*
  * ioctl commands


More information about the busybox-cvs mailing list