linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Anna Schumaker <bjschuma@netapp.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	bfields@fieldses.org, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 3/4] NFSD: Add WRITE_PLUS support for hole punches
Date: Mon, 4 Nov 2013 09:03:45 -0800	[thread overview]
Message-ID: <20131104170345.GA31499@infradead.org> (raw)
In-Reply-To: <5277CE23.6010207@netapp.com>

On Mon, Nov 04, 2013 at 11:41:07AM -0500, Anna Schumaker wrote:
> > what else it would be for.
> 
> My understanding is that if I call fallocate with a mode of "0" it will write a range of 0s to the file.

While writing zeroes to the file would be a correct implementation,
that's now how the operation is defined or usually implemented.  The
defintion is that the blocks in the range will be allocated, and reads
from it will return zero (and the file size will be updated if needed).

The usual way to implement it is to created extents in an "unwritten
state" that will return zeroes when read, even if those zeroes didn't
make it to disk.

>I'll move the fsync() call here and only do it if the client doesn't ask for NFS_UNSTABLE.

As said the right way to handle it would be to use commit_metadata, as
the cache flushes a fsync does would be unessecary and too expensive for
many workloads typically using fallocate.

> > 
> > Btw, how did anyone come up with the name WRITE PLUS for something that
> > doesn't actually involve any writes?
> > 
> 
> Write plus does write more than just holes, I just didn't implement that part of the spec.  I'm implementing the NFS4_CONTENT_HOLE arm, but NFS4_CONTENT_DATA is intended to eventually replace the WRITE operation.

Where is WRITE PLUS defined?  I the various
draft-ietf-nfsv4-minorversion2-*.txt I can only find what appears to be
the predecessor, but that doesn't have a data arm.

Also what does the data arm buy us over good old WRITE?


  reply	other threads:[~2013-11-04 17:03 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-28 14:57 [PATCH 0/4] NFSD: Add support for WRITE_PLUS and SEEK Anna Schumaker
2013-10-28 14:57 ` [PATCH 1/4] NFSD: Update error codes Anna Schumaker
2013-10-28 14:57 ` [PATCH 2/4] NFSD: Create nfs v4.2 decode ops Anna Schumaker
2013-10-28 20:54   ` J. Bruce Fields
2013-10-28 20:59     ` Myklebust, Trond
2013-10-28 21:11       ` J. Bruce Fields
2013-10-29 12:43         ` Anna Schumaker
2013-10-29 13:33           ` J. Bruce Fields
2013-10-28 14:57 ` [PATCH 3/4] NFSD: Add WRITE_PLUS support for hole punches Anna Schumaker
2013-10-28 21:40   ` J. Bruce Fields
2013-10-29 12:49     ` Anna Schumaker
2013-10-29 13:34       ` J. Bruce Fields
2013-10-29 12:50     ` Anna Schumaker
2013-10-29 13:06       ` J. Bruce Fields
2013-10-29 13:11         ` Anna Schumaker
2013-10-29 13:23         ` Myklebust, Trond
2013-10-29 13:28           ` Anna Schumaker
2013-10-29 13:32           ` Dr Fields James Bruce
2013-11-02 13:54         ` Christoph Hellwig
2013-11-02 14:44           ` J. Bruce Fields
2013-11-02 14:51             ` Christoph Hellwig
2013-11-02 15:02               ` Myklebust, Trond
2013-11-02 15:07                 ` Christoph Hellwig
2013-11-02 15:20     ` Christoph Hellwig
2013-11-02 13:52   ` Christoph Hellwig
2013-11-04 16:41     ` Anna Schumaker
2013-11-04 17:03       ` Christoph Hellwig [this message]
2013-11-04 17:23         ` Anna Schumaker
2013-11-04 18:53           ` Christoph Hellwig
2013-11-04 18:57             ` Anna Schumaker
2013-11-04 19:16             ` Chuck Lever
2013-11-04 19:19               ` Christoph Hellwig
2013-11-04 19:50                 ` Chuck Lever
2013-11-04 19:54                   ` Christoph Hellwig
2013-11-04 19:55                   ` J. Bruce Fields
2013-11-04 20:03                   ` Haynes, Tom
2013-11-04 20:13                     ` Christoph Hellwig
2013-11-05  9:40   ` Christoph Hellwig
2013-11-05 14:23     ` Anna Schumaker
2013-11-05 15:11       ` Christoph Hellwig
2013-10-28 14:57 ` [PATCH 4/4] NFSD: Implement SEEK Anna Schumaker
2013-10-28 21:51   ` J. Bruce Fields
2013-10-29 12:53     ` Anna Schumaker
2013-10-29  7:35   ` Christoph Hellwig
2013-10-29 13:00     ` Anna Schumaker
2013-10-29 13:07       ` Christoph Hellwig
2013-10-29 13:30         ` J. Bruce Fields
2013-11-02 13:48           ` Christoph Hellwig
2013-11-02 14:37             ` J. Bruce Fields
2013-11-02 14:41               ` Christoph Hellwig
2013-11-04 16:46                 ` J. Bruce Fields
2013-11-04 17:05                   ` Christoph Hellwig
2013-11-04 17:22                     ` Chuck Lever
2013-11-05 12:33                       ` Christoph Hellwig
2013-11-04 21:56                   ` Thomas Haynes
2013-11-05  1:03                     ` Christoph Hellwig
2013-11-05  2:07                       ` Haynes, Tom
2013-11-05  8:23                         ` Christoph Hellwig
2013-10-31 16:04   ` Christoph Hellwig
2013-10-31 16:07     ` Anna Schumaker
2013-10-31 16:17     ` Anna Schumaker
2013-10-31 17:13       ` Christoph Hellwig
2013-10-28 14:57 ` [RFC 5/4] NFSD: Add basic CB_OFFLOAD support Anna Schumaker
2013-10-28 21:52   ` J. Bruce Fields
2013-10-29  7:37     ` Christoph Hellwig
2013-10-29 13:36       ` J. Bruce Fields
2013-10-29 13:38         ` Christoph Hellwig
2013-10-29 13:53           ` J. Bruce Fields
2013-10-29 15:11             ` Christoph Hellwig
2013-10-28 20:00 ` [PATCH 0/4] NFSD: Add support for WRITE_PLUS and SEEK 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=20131104170345.GA31499@infradead.org \
    --to=hch@infradead.org \
    --cc=bfields@fieldses.org \
    --cc=bjschuma@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    /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).