Follow-up Comment #8, patch #9754 (group findutils): Here's the full list of Linux file attributes.
s secrm FS_SECRM_FL 0x00000001 # Secure deletion
u unrm FS_UNRM_FL 0x00000002 # Undelete
c compr FS_COMPR_FL 0x00000004 # Compress file
S sync FS_SYNC_FL 0x00000008 # Synchronous updates
i immutable FS_IMMUTABLE_FL 0x00000010 # Immutable file
a append FS_APPEND_FL 0x00000020 # Writes to file may only
append
d nodump FS_NODUMP_FL 0x00000040 # Do not dump file
A noatime FS_NOATIME_FL 0x00000080 # Do not update atime
y* dirty FS_DIRTY_FL 0x00000100
b* comprblk FS_COMPRBLK_FL 0x00000200 # One or more compressed
clusters
m nocompr FS_NOCOMP_FL 0x00000400 # Access raw compressed
data
E encrypt FS_ENCRYPT_FL 0x00000800 # Encrypted
B* btree FS_BTREE_FL 0x00001000 # Btree format directory
I index FS_INDEX_FL 0x00001000 # Hash-indexed directory
M* imagic FS_IMAGIC_FL 0x00002000
j journal_data FS_JOURNAL_DATA_FL 0x00004000 # File data should be
journaled
t notail FS_NOTAIL_FL 0x00008000 # File tail should not be
merged
D dirsync FS_DIRSYNC_FL 0x00010000 # Synchronous dir
modifications
T topdir FS_TOPDIR_FL 0x00020000 # Top of directory
hierarchies
h* huge_file FS_HUGE_FILE_FL 0x00040000 # Set to each huge file
e extents FS_EXTENT_FL 0x00080000 # Inode uses extents
V verity FS_VERITY_FL 0x00100000 # Verity protected inode
n* ea_inode FS_EA_INODE_FL 0x00200000 # Inode used for large EA
C nocow FS_NOCOW_FL 0x00800000 # Do not cow file
z* snapfile 0x01000000 # Inode is a snapshot
x dax FS_DAX_FL 0x02000000 # Inode is DAX
Z* snapfile_deleted 0x04000000 # Snapshot is being
deleted
U* snapfile_shrunk 0x08000000 # Snapshot shrink has
completed
N inline_data FS_INLINE_DATA_FL 0x10000000 # Inode has inline data
P projinherit FS_PROJINHERIT_FL 0x20000000 # Create with parents
projid
F casefold FS_CASEFOLD_FL 0x40000000 # Casefolded file
"*" Not mentioned in chattr(1)
The missing bits are:
FS_EOFBLOCKS_FL 0x00400000 /* Reserved for ext4 */
FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
It looks like they should be left out.
Also note that btree and index are the same thing. Maybe B=btree could
be left out. I don't know. If it's documented two ways, maybe it should
be accessible two ways. But the documentation is only in C header files.
Maybe that doesn't count. :-)
I recommend defining and using these (in case they turn up in the headers one
day):
#ifndef FS_SNAPFILE_FL
#define FS_SNAPFILE_FL 0x01000000
#endif
#ifndef FS_SNAPFILE_DELETED_FL
#define FS_SNAPFILE_DELETED_FL 0x04000000
#endif
#ifndef FS_SNAPFILE_SHRUNK_FL
#define FS_SNAPFILE_SHRUNK_FL 0x08000000
#endif
Anyway, something to think about.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/patch/?9754>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
