linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  reply	other threads:[~2010-11-09 21:41 UTC|newest]

Thread overview: 38+ 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 ` [PATCH 2/6] XFS: handle hole punching via fallocate properly Josef Bacik
2010-11-09  1:22   ` Dave Chinner
2010-11-09  2:05     ` Josef Bacik
2010-11-09  4:21       ` Dave Chinner
2010-11-08 20:32 ` [PATCH 3/6] Ocfs2: " 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 ` [PATCH 5/6] Btrfs: " Josef Bacik
2010-11-09 10:05   ` Will Newton
2010-11-09 12:53     ` Josef Bacik
2010-11-08 20:32 ` [PATCH 6/6] Gfs2: " Josef Bacik
2010-11-09  1:12 ` [PATCH 1/6] fs: add hole punching to fallocate Dave Chinner
2010-11-09  2:10   ` Josef Bacik
2010-11-09  3:30   ` Ted Ts'o
2010-11-09  4:42     ` Dave Chinner
2010-11-09 21:41       ` Ted Ts'o [this message]
2010-11-09 21:53         ` Jan Kara
2010-11-09 23:40         ` Dave Chinner
2011-01-11 21:13           ` Lawrence Greenfield
2011-01-11 21:30             ` Ted Ts'o
2011-01-12 11:48               ` Dave Chinner
2011-01-12 12:44             ` Dave Chinner
2011-01-28 18:13               ` Ric Wheeler
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-16 11:16   ` Jan Kara
2010-11-16 11:43     ` Jan Kara
2010-11-16 12:52       ` Josef Bacik
2010-11-16 13:14         ` Jan Kara
2010-11-17  0:22           ` Andreas Dilger
2010-11-17  2:11             ` Dave Chinner
2010-11-17  2:28               ` Josef Bacik
2010-11-17  2:34                 ` Josef Bacik
2010-11-17  9:30                   ` Andreas Dilger
2010-11-17  9:19               ` Andreas Dilger
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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).