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/

Attachment: signature.asc
Description: PGP signature

Reply via email to