|| ||Dave Chinner <david-AT-fromorbit.com> |
|| ||Alan Cox <alan-AT-lxorguk.ukuu.org.uk> |
|| ||Re: [PATCH, 3.7-rc7, RESEND] fs: revert commit bbdd6808 to fallocate
|| ||Tue, 27 Nov 2012 08:12:00 +1100|
|| ||Theodore Ts'o <tytso-AT-mit.edu>, torvalds-AT-linux-foundation.org,
|| ||Article, Thread
On Mon, Nov 26, 2012 at 11:53:45AM +0000, Alan Cox wrote:
> > It's not like there is any shortage of flag bits, so what's the harm
> > of reserving the bit?
> Why not just reserve a small group of bits for fs private use in that
> case - for any fs.
Flawed - one bit, one function for all filesystems, otherwise the
same binary could behave very differently on different filesystems.
Besides, we already have a mechanism for adding filesystem specific
interfaces. It's called an ioctl. That's what it's there for - a
free-form extensible interface that can be wholly defined and
contained in the out-of-tree patch.
Most filesystems implement ioctls for their own specific
functionality, including for one-off preallocation semantics (e.g.
XFS_IOC_ZERO_RANGE). There is no reason why ext4 can't do the same
thing and we can drop the whole issue of having to modify a syscall
API with magic, undocumented flag bits with unpredictable
ext4 is not a special snowflake that allows developers to bend rules
whenever they want. If the ext4 developers want to support out of
tree functionality for their filesystem, then they can do it within
their filesystem via ioctls like everyone else does.
to post comments)