lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <C80B6032-0FB2-4D63-B940-3FE86B52992B@dilger.ca>
Date:	Fri, 2 Jul 2010 11:45:41 -0600
From:	Andreas Dilger <adilger@...ger.ca>
To:	David Howells <dhowells@...hat.com>
Cc:	linux-fsdevel@...r.kernel.org, linux-cifs@...r.kernel.org,
	linux-kernel@...r.kernel.org, samba-technical@...ts.samba.org,
	linux-ext4@...r.kernel.org
Subject: Re: [PATCH 3/3] xstat: Implement a requestable extra result to procure some inode flags [ver #4]

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).

Cheers, Andreas





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ