From: "J. Bruce Fields" <bfields@fieldses.org>
To: Dave Chinner <david@fromorbit.com>
Cc: Andreas Dilger <adilger@dilger.ca>,
Christoph Hellwig <hch@infradead.org>,
"Darrick J. Wong" <darrick.wong@oracle.com>,
xfs@oss.sgi.com, linux-fsdevel <linux-fsdevel@vger.kernel.org>,
linux-btrfs <linux-btrfs@vger.kernel.org>,
linux-api@vger.kernel.org
Subject: Re: fallocate mode flag for "unshare blocks"?
Date: Thu, 31 Mar 2016 22:00:05 -0400 [thread overview]
Message-ID: <20160401020005.GA25132@fieldses.org> (raw)
In-Reply-To: <20160401003300.GS11812@dastard>
On Fri, Apr 01, 2016 at 11:33:00AM +1100, Dave Chinner wrote:
> On Thu, Mar 31, 2016 at 06:34:17PM -0400, J. Bruce Fields wrote:
> > I haven't looked at the code, but I assume a JUKEBOX-returning write to
> > an absent file brings into cache the bits necessary to perform the
> > write, but stops short of actually doing the write.
>
> Not exactly, as all subsequent read/write/truncate requests will
> EJUKEBOX until the absent file has been brought back onto disk. Once
> that is done, the next operation attempt will proceed.
>
> > That allows
> > handling the retried write quickly without doing the wrong thing in the
> > case the retry never comes.
>
> Essentially. But if a retry never comes it means there's either a
> bug in the client NFS implementation or the client crashed,
NFS clients are under no obligation to retry operations after JUKEBOX.
And I'd expect them not to in the case the calling process was
interrupted, for example.
> > I guess it doesn't matter as much in practice, since the only way you're
> > likely to notice that fallocate unexpectedly succeeded would be if it
> > caused you to hit ENOSPC elsewhere. Is that right? Still, it seems a
> > little weird.
>
> s/succeeded/failed/ and that statement is right.
Sorry, I didn't explain clearly.
The case I was worrying about was the case were the on-the-wire ALLOCATE
call returns JUKEBOX, but the server allocates anyway.
That behavior violates the spec as I understand it.
The client therefore assumes there was no allocation, when in fact there
was.
So, technically a bug, but I wondered if it's likely to bite anyone.
One of the only ways it seems someone would notice would be if it caused
the filesystem to run out of space earlier than I expected. But perhaps
that's unlikely.
--b.
prev parent reply other threads:[~2016-04-01 2:00 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20160302155007.GB7125@infradead.org>
[not found] ` <20160302155007.GB7125-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-03-30 18:27 ` fallocate mode flag for "unshare blocks"? Darrick J. Wong
2016-03-30 18:58 ` Austin S. Hemmelgarn
2016-03-31 7:58 ` Christoph Hellwig
2016-03-31 11:13 ` Austin S. Hemmelgarn
[not found] ` <20160330182755.GC2236-PTl6brltDGh4DFYR7WNSRA@public.gmane.org>
2016-03-31 0:32 ` Liu Bo
2016-03-31 7:55 ` Christoph Hellwig
[not found] ` <20160331075529.GB4209-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-03-31 15:31 ` Andreas Dilger
2016-03-31 15:43 ` Austin S. Hemmelgarn
[not found] ` <3E147309-67EA-4B29-B4E0-883BA03B7BFC-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>
2016-03-31 16:47 ` Henk Slager
2016-03-31 11:18 ` Austin S. Hemmelgarn
2016-03-31 11:38 ` Austin S. Hemmelgarn
[not found] ` <56FD079F.3060606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-31 19:52 ` Liu Bo
2016-03-31 1:18 ` Dave Chinner
2016-03-31 7:54 ` Christoph Hellwig
2016-03-31 11:18 ` Dave Chinner
2016-03-31 18:08 ` J. Bruce Fields
2016-03-31 18:19 ` Darrick J. Wong
[not found] ` <20160331180821.GD22462-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2016-03-31 19:47 ` Andreas Dilger
[not found] ` <779E9BCF-8224-44FE-8AAE-E0341A7B475C-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>
2016-03-31 22:20 ` Dave Chinner
2016-03-31 22:34 ` J. Bruce Fields
2016-04-01 0:33 ` Dave Chinner
2016-04-01 2:00 ` J. Bruce Fields [this message]
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=20160401020005.GA25132@fieldses.org \
--to=bfields@fieldses.org \
--cc=adilger@dilger.ca \
--cc=darrick.wong@oracle.com \
--cc=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@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).