file_attr(2type) file_attr(2type) NAME file_attr - filesystem file attributes SYNOPSIS #include struct file_attr { u64 fa_xflags; // Extended flags u32 fa_extsize; // Extent size hint u32 fa_nextents; // Number of extents (read-only) u32 fa_projid; // Project identifier u32 fa_cowextsize; // CoW extent size hint }; DESCRIPTION Describes filesystem file attributes for use with the file_getattr(2) and file_setattr(2) system calls. The fields are as follows: .fa_xflags This field contains file attribute flags. It is a bit mask consisting of zero or more of the FS_XFLAG_* flags. See Flags below for a list of flags. .fa_extsize Extent size allocator hint in bytes. This value suggests a preferred extent size for new allocations to this file. .fa_nextents Number of data extents in the file (read-only). This field is filled in by file_getattr(2) and is ignored by file_setattr(2). .fa_projid Project identifier. Used by quota systems quotactl(2) to group related files. .fa_cowextsize Copy-on-Write (CoW) extent size hint in bytes. This value suggests a preferred extent size for CoW operations. Flags FS_XFLAG_REALTIME Data is stored in a realtime volume. FS_XFLAG_IMMUTABLE File cannot be modified. FS_XFLAG_APPEND All writes must append to the end of the file. FS_XFLAG_SYNC All writes are synchronous. FS_XFLAG_NOATIME Do not update file access time on reads. FS_XFLAG_NODUMP Do not include file in backups. FS_XFLAG_DAX Use Direct Access (DAX) for I/O operations. FS_XFLAG_NODEFRAG Exclude this file from defragmentation operations. FS_XFLAG_FILESTREAM Use filestream allocator for this file. FS_XFLAG_EXTSIZE Use the extent size hint from the fa_extsize field. FS_XFLAG_COWEXTSIZE Use the CoW extent size hint from the fa_cowextsize field. Directory-only flags: FS_XFLAG_RTINHERIT New files created in this directory inherit the realtime flag. FS_XFLAG_NOSYMLINKS Disallow creation of symbolic links in this directory. FS_XFLAG_EXTSZINHERIT New files created in this directory inherit the extent size hint. FS_XFLAG_PROJINHERIT New files created in this directory inherit the project identifier. Read-only flags: FS_XFLAG_PREALLOC File has preallocated extents. FS_XFLAG_HASATTR File has extended attributes. FS_XFLAG_VERITY File has fs-verity enabled. FS_XFLAG_CASEFOLD The filesystem performs case-insensitive lookups (file and directory name comparisons ignore case). FS_XFLAG_CASENONPRESERVING The filesystem does not preserve the case of file and directory names. Not all filesystems support all flags. Setting unsupported flags may result in an error. HISTORY Linux v6.17 This structure is introduced. Linux v7.2 The FS_XFLAG_CASEFOLD and FS_XFLAG_CASENONPRESERVING are introduced to enable upper layers, such as NFSD, to retrieve case sensitivity information. SEE ALSO file_getattr(2), file_setattr(2) Linux man-pages 6.20 2026-10-11 file_attr(2type)