From: Mike Snitzer <snitzer@redhat.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: Jens Axboe <axboe@kernel.dk>,
Linus Torvalds <torvalds@linux-foundation.org>,
Bruce Fields <bfields@fieldses.org>,
Theodore Ts'o <tytso@mit.edu>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
linux-api@vger.kernel.org, david@fromorbit.com,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
shane.seymour@hpe.com, Christoph Hellwig <hch@infradead.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Jeff Layton <jlayton@poochiereds.net>,
Andrew Morton <akpm@linux-foundation.org>,
device-mapper development <dm-devel@redhat.com>
Subject: Re: [PATCH 3/3] block: implement (some of) fallocate for block devices
Date: Mon, 21 Mar 2016 15:22:29 -0400 [thread overview]
Message-ID: <20160321192229.GA17220@redhat.com> (raw)
In-Reply-To: <20160321191116.GB12309@birch.djwong.org>
On Mon, Mar 21 2016 at 3:11pm -0400,
Darrick J. Wong <darrick.wong@oracle.com> wrote:
> On Mon, Mar 21, 2016 at 02:52:00PM -0400, Mike Snitzer wrote:
> > On Tue, Mar 15, 2016 at 3:42 PM, Darrick J. Wong
> > <darrick.wong@oracle.com> wrote:
> > > After much discussion, it seems that the fallocate feature flag
> > > FALLOC_FL_ZERO_RANGE maps nicely to SCSI WRITE SAME; and the feature
> > > FALLOC_FL_PUNCH_HOLE maps nicely to the devices that have been
> > > whitelisted for zeroing SCSI UNMAP. Punch still requires that
> > > FALLOC_FL_KEEP_SIZE is set. A length that goes past the end of the
> > > device will be clamped to the device size if KEEP_SIZE is set; or will
> > > return -EINVAL if not. Both start and length must be aligned to the
> > > device's logical block size.
> > >
> > > Since the semantics of fallocate are fairly well established already,
> > > wire up the two pieces. The other fallocate variants (collapse range,
> > > insert range, and allocate blocks) are not supported.
> >
> > I'd like to see fallocate (block allocation) extend down to DM thinp.
> > This more traditional use of fallocate would be useful for ensuring
> > ENOSPC won't occur -- especially important if the FS has committed
> > space in response to fallocate. As of now fallocate doesn't inform DM
> > thinp at all. Curious why you decided not to wire it up?
>
> I don't know what to wire it up to. :)
Fair enough. Yes something needs to be invented.
> I didn't find any blkdev_* function that looked encouraging, though I
> haven't dug too deeply into bfoster's "prototype a block reservation
> allocation model" patchset yet. At a high level I'd guess that would
> be a reasonable piece to connect to? It looks like the piece I want
> is blk_provision_space().
Yes, something like that.
> > But I'm not sure what "it" (the "allocate blocks" variant) even is
> > given falloc.h doesn't show anything like "_ALLOCATE_BLOCKS"...
>
> The default behavior of fallocate is to allocate blocks, which means
> that one invokes it by not passing any mode flags (except possibly
> KEEP_SIZE).
OK.
> > It would require a new block interface to pass the fallocate extent
> > down. But it seems bizarre to implement "some of" fallocate but not
> > the most widely used case for fallocate.
>
> Agreed. I'd like to get the existing functionality wired up sooner than
> later, and plumbing "allocate blocks" down to thinp can be done as a
> followup.
>
> (Or stall long enough that it becomes one patchset.)
Sure, sounds good. Glad we're in agreement.
next prev parent reply other threads:[~2016-03-21 19:22 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-15 19:42 [PATCH v7 0/3] fallocate for block devices to provide zero-out Darrick J. Wong
2016-03-15 19:42 ` [PATCH 2/3] block: require write_same and discard requests align to logical block size Darrick J. Wong
[not found] ` <20160315194221.30093.70506.stgit-PTl6brltDGh4DFYR7WNSRA@public.gmane.org>
2016-03-15 19:42 ` [PATCH 1/3] block: invalidate the page cache when issuing BLKZEROOUT Darrick J. Wong
2016-03-15 19:42 ` Darrick J. Wong
2016-03-15 19:42 ` [PATCH 3/3] block: implement (some of) fallocate for block devices Darrick J. Wong
2016-03-15 19:42 ` Darrick J. Wong
[not found] ` <20160315194244.30093.6483.stgit-PTl6brltDGh4DFYR7WNSRA@public.gmane.org>
2016-03-21 15:38 ` Christoph Hellwig
2016-03-21 15:38 ` Christoph Hellwig
[not found] ` <20160321153827.GA27230-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-03-21 17:52 ` Darrick J. Wong
2016-03-21 17:52 ` Darrick J. Wong
[not found] ` <20160321175235.GA5812-PTl6brltDGh4DFYR7WNSRA@public.gmane.org>
2016-03-21 18:17 ` Christoph Hellwig
2016-03-21 18:17 ` Christoph Hellwig
[not found] ` <20160321181726.GA10892-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-03-21 18:21 ` Martin K. Petersen
2016-03-21 18:21 ` Martin K. Petersen
2016-03-21 18:52 ` Mike Snitzer
2016-03-21 18:52 ` Mike Snitzer
2016-03-21 19:11 ` Darrick J. Wong
2016-03-21 19:11 ` Darrick J. Wong
2016-03-21 19:22 ` Mike Snitzer [this message]
[not found] ` <20160321192229.GA17220-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-21 20:59 ` Brian Foster
2016-03-21 20:59 ` Brian Foster
-- strict thread matches above, loose matches on Subject: below --
2016-09-29 21:16 [PATCH v11 0/3] " Darrick J. Wong
2016-09-29 21:16 ` [PATCH 3/3] block: implement (some of) " Darrick J. Wong
2016-09-29 21:16 ` Darrick J. Wong
2016-09-29 0:39 [PATCH v10 0/3] " Darrick J. Wong
2016-09-29 0:39 ` [PATCH 3/3] block: implement (some of) " Darrick J. Wong
2016-09-29 0:39 ` Darrick J. Wong
2016-09-29 1:42 ` Bart Van Assche
2016-09-29 1:42 ` Bart Van Assche
2016-09-29 1:42 ` Bart Van Assche
2016-09-29 2:09 ` Darrick J. Wong
2016-09-29 2:09 ` Darrick J. Wong
2016-09-29 5:57 ` Hannes Reinecke
2016-09-29 5:57 ` Hannes Reinecke
2016-08-26 0:02 [PATCH v10 0/3] " Darrick J. Wong
2016-08-26 0:02 ` [PATCH 3/3] block: implement (some of) " Darrick J. Wong
2016-08-26 0:02 ` Darrick J. Wong
2016-06-17 1:17 [PATCH v9 0/3] " Darrick J. Wong
[not found] ` <146612624734.12764.4316680863289411106.stgit-PTl6brltDGh4DFYR7WNSRA@public.gmane.org>
2016-06-17 1:17 ` [PATCH 3/3] block: implement (some of) " Darrick J. Wong
2016-06-17 1:17 ` Darrick J. Wong
2016-06-17 1:17 ` Darrick J. Wong
2016-04-13 4:01 [RFC DONOTMERGE v8 0/3] " Darrick J. Wong
[not found] ` <20160413040121.10562.98998.stgit-PTl6brltDGh4DFYR7WNSRA@public.gmane.org>
2016-04-13 4:01 ` [PATCH 3/3] block: implement (some of) " Darrick J. Wong
2016-04-13 4:01 ` Darrick J. Wong
2016-04-13 4:01 ` Darrick J. Wong
2016-03-05 0:55 [PATCH v6 0/3] fallocate for block devices to provide zero-out Darrick J. Wong
2016-03-05 0:56 ` [PATCH 3/3] block: implement (some of) fallocate for block devices Darrick J. Wong
[not found] ` <20160305005617.29738.85316.stgit-PTl6brltDGh4DFYR7WNSRA@public.gmane.org>
2016-03-05 3:06 ` Linus Torvalds
2016-03-05 3:06 ` Linus Torvalds
[not found] ` <CA+55aFyY+oDoK8C6C++PG=N+vtY-r1Y6fYO_3skDTzkP_SXC-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-05 20:57 ` Christoph Hellwig
2016-03-05 20:57 ` Christoph Hellwig
2016-03-05 3:13 ` Linus Torvalds
2016-03-05 3:13 ` Linus Torvalds
[not found] ` <CA+55aFzJW70YApg8ra-c79E-j1ujOXbh=26k2dvyYX+qZuu_8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-05 20:58 ` Christoph Hellwig
2016-03-05 20:58 ` Christoph Hellwig
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=20160321192229.GA17220@redhat.com \
--to=snitzer@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=bfields@fieldses.org \
--cc=darrick.wong@oracle.com \
--cc=david@fromorbit.com \
--cc=dm-devel@redhat.com \
--cc=hch@infradead.org \
--cc=jlayton@poochiereds.net \
--cc=linux-api@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=shane.seymour@hpe.com \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/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.