summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2021-06-20 12:34:05 +0200
committerDenys Vlasenko2021-06-20 12:34:05 +0200
commit83dff7f43154cd41e4d2e5831060a2d2ddc6596e (patch)
treea9c463cd73f5958857d3c2d687ff8058382c8194
parent526b8347906a18d756386092fafa0b42ba0b4563 (diff)
downloadbusybox-83dff7f43154cd41e4d2e5831060a2d2ddc6596e.zip
busybox-83dff7f43154cd41e4d2e5831060a2d2ddc6596e.tar.gz
lsattr: support more ext2 flags
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@googlemail.com>
-rw-r--r--e2fsprogs/e2fs_lib.c27
-rw-r--r--include/bb_e2fs_defs.h11
2 files changed, 25 insertions, 13 deletions
diff --git a/e2fsprogs/e2fs_lib.c b/e2fsprogs/e2fs_lib.c
index bc9aa53..8d56add 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 2d72288..608cbf0 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