[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20140107222739.GA22610@thunk.org>
Date: Tue, 7 Jan 2014 17:27:39 -0500
From: Theodore Ts'o <tytso@....edu>
To: "Darrick J. Wong" <darrick.wong@...cle.com>
Cc: Christoph Hellwig <hch@...radead.org>, Jan Kara <jack@...e.cz>,
Aurelien Jarno <aurelien@...el32.net>,
Alexander Viro <viro@...iv.linux.org.uk>,
Rob Browning <rlb@...aultvalue.org>,
Dave Chinner <david@...morbit.com>,
Miklos Szeredi <miklos@...redi.hu>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-kernel@...r.kernel.org, linux-ext4@...r.kernel.org
Subject: Re: [RFC PATCH] fs: xattr-based FS_IOC_[GS]ETFLAGS interface
On Tue, Jan 07, 2014 at 11:43:56AM -0800, Darrick J. Wong wrote:
> I had thought of indexed inode flags as an alternative to the xattr/string
> parsing thing. Feature flags make their first appearance as part of a per-FS
> flag-space and are migrated to the common flag-space when there is demand.
> It would also avoid the need for each fs to create its own flag ioctl.
>
> On the other hand, someone suggested I try remaking IOC_[GS]ETFLAG as an xattr,
> so off I went. :)
>
> #define FS_IOC_FLAGS_COMMON 0
> #define FS_IOC_FLAGS_COMMON2 1
> #define FS_IOC_FLAGS_EXT4 0xEF53
>
> struct inode_flag_ioctl {
> u32 flag;
> u32 value; /* or u64? */
> };
> #define FS_IOC_GETFLAGS2 _IOR('f', 12, struct inode_flag_ioctl);
> #define FS_IOC_SETFLAGS2 _IOW('f', 13, struct inode_flag_ioctl);
Is having this structure and demultiplexing based on
inode_flag_ioctl.flag really worth it?
I'd just simply introduce two new ioctl's for generic flags:
FS_IOC_COMMON_[GS]ETFLAGS, and then two new ioctl's for each file
system: FS_IOC_EXT4_[GS]ETFLAGS, FS_IOC_BTRFS_[GS]ETFLAGS, etc.
Is this uglier or pretier than using strings? Eh.... six of one, half
dozen of the other. I think it's mostly a matter of personal taste.
- Ted
--
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