diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2021-06-20 10:57:24 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2021-06-20 11:02:49 +0200 |
commit | 526b8347906a18d756386092fafa0b42ba0b4563 (patch) | |
tree | aafe396ff964a194f183bead405b5f1045f67a61 /include | |
parent | 9c291f2cc0e0e76869c315b5c7e7883827b5ae95 (diff) |
lsattr,chattr: support -p
function old new delta
fgetsetprojid - 107 +107
list_attributes 169 222 +53
change_attributes 277 326 +49
chattr_main 272 307 +35
close_silently - 22 +22
.rodata 103378 103393 +15
packed_usage 33658 33666 +8
fgetsetversion 88 74 -14
fgetsetflags 162 148 -14
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 5/2 up/down: 289/-28) Total: 261 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/bb_e2fs_defs.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/bb_e2fs_defs.h b/include/bb_e2fs_defs.h index 3f5e3c45b..2d72288ed 100644 --- a/include/bb_e2fs_defs.h +++ b/include/bb_e2fs_defs.h @@ -195,6 +195,18 @@ struct ext2_dx_countlimit { #define EXT2_IOC_SETFLAGS _IOW('f', 2, long) #define EXT2_IOC_GETVERSION _IOR('v', 1, long) #define EXT2_IOC_SETVERSION _IOW('v', 2, long) +//NB: despite "long" in defs above, these ioctls use an _int_! +//passing them a pointer to long will read/write only int-sized data! +struct ext2_fsxattr { + uint32_t fsx_xflags; /* xflags field value (get/set) */ + uint32_t fsx_extsize; /* extsize field value (get/set)*/ + uint32_t fsx_nextents; /* nextents field value (get) */ + uint32_t fsx_projid; /* project identifier (get/set) */ + uint32_t fsx_cowextsize; /* CoW extsize field value (get/set)*/ + unsigned char fsx_pad[8]; +}; +#define EXT2_IOC_FSGETXATTR _IOR('X', 31, struct ext2_fsxattr) +#define EXT2_IOC_FSSETXATTR _IOW('X', 32, struct ext2_fsxattr) /* * Structure of an inode on the disk |