[PATCH 3/3] xstat: Implement a requestable extra result to procure some inode flags [ver #4]
mtk.manpages at gmail.com
Sat Jul 3 22:29:46 MDT 2010
On Fri, Jul 2, 2010 at 7:45 PM, Andreas Dilger <adilger at dilger.ca> 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.
Michael Kerrisk Linux man-pages maintainer;
Author of "The Linux Programming Interface", http://blog.man7.org/
More information about the samba-technical