[CC+=linux-api] On Fri, Jul 2, 2010 at 7:45 PM, Andreas Dilger <adilger@xxxxxxxxx> wrote: > On 2010-07-01, at 17:57, David Howells wrote: >> [This is, for the moment, to be considered an example. Do we actually want to >> export these flags? Should they be a full member of struct xstat?] > > I would say this should be a full-fledged member of struct xstat. > I think they are fairly standard (available on many filesystems > today), and requiring an ioctl to access them is unpleasant. > >> (1) User settable flags (to be consistent with the BSD st_flags field): >> >> UF_NODUMP Do not dump this file. >> UF_IMMUTABLE This file is immutable. >> UF_APPEND This file is append-only. >> UF_OPAQUE This directory is opaque (unionfs). >> UF_NOUNLINK This file can't be removed or renamed. >> UF_COMPRESSED This file is compressed. >> UF_HIDDEN This file shouldn't be displayed in a GUI. >> >> The UF_SETTABLE constant is the union of the above flags. >> >> (2) Superuser settable flags (to be consistent with the BSD st_flags field): >> >> SF_ARCHIVED This file has been archived. >> SF_IMMUTABLE This file is immutable. >> SF_APPEND This file is append-only. >> SF_NOUNLINK This file can't be removed or renamed. >> SF_HIDDEN This file is a snapshot inode. >> >> The SF_SETTABLE constant is the union of the above flags. >> >> (3) Linux-specific flags: >> >> XSTAT_LF_MAGIC_FILE Magic file, such as found in procfs and sysfs. >> XSTAT_LF_SYNC File is written synchronously. >> XSTAT_LF_NOATIME Atime is not updated on this file. >> XSTAT_LF_JOURNALLED_DATA Data modifications to this file are journalled. >> XSTAT_LF_ENCRYPTED This file is encrypted. >> XSTAT_LF_SYSTEM This file is a system file (FAT/NTFS/CIFS). >> XSTAT_LF_TEMPORARY This file is a temporary file (NTFS/CIFS). >> XSTAT_LF_OFFLINE file is currently unavailable (CIFS). > > Yuck on the names. Why not stick with the "UF_" and "SF_" prefixes? > Since we don't need to keep _binary_ compatibility with these flag values > (only name portability) we can use the same flag values as the > FS_*_FL definitions in fs.h. That is what all of the existing filesystems > already use (ext2/3/4, ocfs, btrfs, reiserfs, xfs, jfs). Agree on the naming. Andreas expresses what I intended when I proposed the idea. Cheers, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Author of "The Linux Programming Interface", http://blog.man7.org/ -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html