[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20101109214147.GK3099@thunk.org>
Date: Tue, 9 Nov 2010 16:41:47 -0500
From: Ted Ts'o <tytso@....edu>
To: Dave Chinner <david@...morbit.com>
Cc: Josef Bacik <josef@...hat.com>, linux-kernel@...r.kernel.org,
linux-btrfs@...r.kernel.org, linux-ext4@...r.kernel.org,
linux-fsdevel@...r.kernel.org, xfs@....sgi.com,
joel.becker@...cle.com, cmm@...ibm.com, cluster-devel@...hat.com
Subject: Re: [PATCH 1/6] fs: add hole punching to fallocate
On Tue, Nov 09, 2010 at 03:42:42PM +1100, Dave Chinner wrote:
> Implementation is up to the filesystem. However, XFS does (b)
> because:
>
> 1) it was extremely simple to implement (one of the
> advantages of having an exceedingly complex allocation
> interface to begin with :P)
> 2) conversion is atomic, fast and reliable
> 3) it is independent of the underlying storage; and
> 4) reads of unwritten extents operate at memory speed,
> not disk speed.
Yeah, I was thinking that using a device-style TRIM might be better
since future attempts to write to it won't require a separate seek to
modify the extent tree. But yeah, there are a bunch of advantages of
simply mutating the extent tree.
While we're on the subject of changes to fallocate, what do people
think of FALLOC_FL_EXPOSE_OLD_DATA, which requires either root
privileges or (if capabilities are in use) CAP_DAC_OVERRIDE &&
CAP_MAC_OVERRIDE && CAP_SYS_ADMIN. This would allow a trusted process
to fallocate blocks with the extent already marked initialized. I've
had two requests for such functionality for ext4 already.
(Take for example a trusted cluster filesystem backend that checks the
object checksum before returning any data to the user; and if the
check fails the cluster file system will try to use some other replica
stored on some other server.)
- 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