From: Ted Ts'o <tytso@mit.edu>
To: Dave Chinner <david@fromorbit.com>
Cc: Josef Bacik <josef@redhat.com>,
linux-kernel@vger.kernel.org, linux-btrfs@vger.kernel.org,
linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
xfs@oss.sgi.com, joel.becker@oracle.com, cmm@us.ibm.com,
cluster-devel@redhat.com
Subject: Re: [PATCH 1/6] fs: add hole punching to fallocate
Date: Tue, 9 Nov 2010 16:41:47 -0500 [thread overview]
Message-ID: <20101109214147.GK3099@thunk.org> (raw)
In-Reply-To: <20101109044242.GH2715@dastard>
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
WARNING: multiple messages have this Message-ID (diff)
From: "Ted Ts'o" <tytso@mit.edu>
To: Dave Chinner <david@fromorbit.com>
Cc: linux-kernel@vger.kernel.org, xfs@oss.sgi.com,
cluster-devel@redhat.com, cmm@us.ibm.com,
Josef Bacik <josef@redhat.com>,
joel.becker@oracle.com, linux-fsdevel@vger.kernel.org,
linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 1/6] fs: add hole punching to fallocate
Date: Tue, 9 Nov 2010 16:41:47 -0500 [thread overview]
Message-ID: <20101109214147.GK3099@thunk.org> (raw)
In-Reply-To: <20101109044242.GH2715@dastard>
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
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2010-11-09 21:41 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-08 20:32 [PATCH 1/6] fs: add hole punching to fallocate Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` [PATCH 2/6] XFS: handle hole punching via fallocate properly Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-09 1:22 ` Dave Chinner
2010-11-09 1:22 ` Dave Chinner
2010-11-09 2:05 ` Josef Bacik
2010-11-09 2:05 ` Josef Bacik
2010-11-09 4:21 ` Dave Chinner
2010-11-09 4:21 ` Dave Chinner
2010-11-08 20:32 ` [PATCH 3/6] Ocfs2: " Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` [PATCH 4/6] Ext4: fail if we try to use hole punch Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` [PATCH 5/6] Btrfs: " Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-09 10:05 ` Will Newton
2010-11-09 10:05 ` Will Newton
2010-11-09 10:05 ` Will Newton
2010-11-09 10:05 ` Will Newton
2010-11-09 12:53 ` Josef Bacik
2010-11-09 12:53 ` Josef Bacik
2010-11-09 12:53 ` Josef Bacik
2010-11-09 12:53 ` Josef Bacik
2010-11-08 20:32 ` [PATCH 6/6] Gfs2: " Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-08 20:32 ` Josef Bacik
2010-11-09 1:12 ` [PATCH 1/6] fs: add hole punching to fallocate Dave Chinner
2010-11-09 1:12 ` Dave Chinner
2010-11-09 2:10 ` Josef Bacik
2010-11-09 2:10 ` Josef Bacik
2010-11-09 3:30 ` Ted Ts'o
2010-11-09 3:30 ` Ted Ts'o
2010-11-09 4:42 ` Dave Chinner
2010-11-09 4:42 ` Dave Chinner
2010-11-09 4:42 ` Dave Chinner
2010-11-09 21:41 ` Ted Ts'o [this message]
2010-11-09 21:41 ` Ted Ts'o
2010-11-09 21:53 ` [Cluster-devel] " Jan Kara
2010-11-09 21:53 ` Jan Kara
2010-11-09 21:53 ` Jan Kara
2010-11-09 23:40 ` Dave Chinner
2010-11-09 23:40 ` Dave Chinner
2010-11-09 23:40 ` Dave Chinner
2010-11-09 23:40 ` Dave Chinner
2011-01-11 21:13 ` Lawrence Greenfield
2011-01-11 21:13 ` Lawrence Greenfield
2011-01-11 21:13 ` Lawrence Greenfield
2011-01-11 21:13 ` Lawrence Greenfield
2011-01-11 21:30 ` Ted Ts'o
2011-01-11 21:30 ` Ted Ts'o
2011-01-12 11:48 ` Dave Chinner
2011-01-12 11:48 ` Dave Chinner
2011-01-12 11:48 ` Dave Chinner
2011-01-12 11:48 ` Dave Chinner
2011-01-12 12:44 ` Dave Chinner
2011-01-12 12:44 ` Dave Chinner
2011-01-28 18:13 ` Ric Wheeler
2011-01-28 18:13 ` Ric Wheeler
2010-11-09 20:51 ` Josef Bacik
2010-11-09 20:51 ` Josef Bacik
-- strict thread matches above, loose matches on Subject: below --
2010-11-15 17:05 Hole Punching V2 Josef Bacik
2010-11-15 17:05 ` [PATCH 1/6] fs: add hole punching to fallocate Josef Bacik
2010-11-15 17:05 ` Josef Bacik
2010-11-15 17:05 ` Josef Bacik
2010-11-16 11:16 ` Jan Kara
2010-11-16 11:16 ` Jan Kara
2010-11-16 11:43 ` Jan Kara
2010-11-16 11:43 ` Jan Kara
2010-11-16 12:52 ` Josef Bacik
2010-11-16 12:52 ` Josef Bacik
2010-11-16 13:14 ` Jan Kara
2010-11-16 13:14 ` Jan Kara
2010-11-17 0:22 ` Andreas Dilger
2010-11-17 0:22 ` Andreas Dilger
2010-11-17 2:11 ` Dave Chinner
2010-11-17 2:11 ` Dave Chinner
2010-11-17 2:28 ` Josef Bacik
2010-11-17 2:28 ` Josef Bacik
2010-11-17 2:34 ` Josef Bacik
2010-11-17 2:34 ` Josef Bacik
2010-11-17 9:30 ` Andreas Dilger
2010-11-17 9:30 ` Andreas Dilger
2010-11-17 9:19 ` Andreas Dilger
2010-11-17 9:19 ` Andreas Dilger
2010-11-16 12:53 ` Josef Bacik
2010-11-16 12:53 ` Josef Bacik
2010-11-18 1:46 Hole Punching V3 Josef Bacik
2010-11-18 1:46 ` [PATCH 1/6] fs: add hole punching to fallocate Josef Bacik
2010-11-18 1:46 ` Josef Bacik
2010-11-18 1:46 ` Josef Bacik
2010-11-18 23:43 ` Jan Kara
2010-11-18 23:43 ` Jan Kara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101109214147.GK3099@thunk.org \
--to=tytso@mit.edu \
--cc=cluster-devel@redhat.com \
--cc=cmm@us.ibm.com \
--cc=david@fromorbit.com \
--cc=joel.becker@oracle.com \
--cc=josef@redhat.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.