From: Trond Myklebust <trond.myklebust-41N18TsMXrtuMpJDpNschA@public.gmane.org>
To: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>,
Masahiro Tamori
<masahiro.tamori-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Mathieu Desnoyers
<compudj-vdFpqfd5riKZ9vWoFJJngh2eb7JE58TQ@public.gmane.org>,
linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
ltt-dev-33AaDErTWvBVxDZ2/Zk0YoryAYyacSEB@public.gmane.org,
LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-embedded-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Peter Zijlstra
<a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org>
Subject: Re: [ltt-dev] [PATCH] nfs: add support for splice writes
Date: Tue, 21 Apr 2009 13:35:02 -0400 [thread overview]
Message-ID: <1240335302.5390.20.camel@heimdal.trondhjem.org> (raw)
In-Reply-To: <20090421144810.GA7036-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
On Tue, 2009-04-21 at 10:48 -0400, Christoph Hellwig wrote:
> On Mon, Apr 20, 2009 at 09:17:23PM +0530, Suresh Jayaraman wrote:
> > +static ssize_t nfs_file_splice_write(struct pipe_inode_info *pipe,
> > + struct file *filp, loff_t *ppos,
> > + size_t count, unsigned int flags)
> > +{
> > + struct dentry *dentry = filp->f_path.dentry;
> > +
> > + dprintk("NFS splice_write(%s/%s, %lu@%Lu)\n",
> > + dentry->d_parent->d_name.name, dentry->d_name.name,
> > + (unsigned long) count, (unsigned long long) *ppos);
> > +
> > + return generic_file_splice_write(pipe, filp, ppos, count, flags);
> > +}
> > +
>
> You need all calls from nfs_file_write, too:
>
> - most importantly the nfs_revalidate_file_size for O_APPEND
Isn't O_APPEND illegal for splice_write()? It looks like it is from a
quick perusal of do_splice_from().
> - the nfs_do_fsync for sync writes
generic_file_splice_write() calls generic_osync_inode(), which should
ensure sync writes even with NFS.
The one thing it won't do is propagate NFS write errors back to the
caller. If we do care about this, then we should certainly test for
nfs_need_sync_write() and then call nfs_do_fsync() (see
nfs_file_write()).
> - probably the stats increment
We should talk to Chuck about this.
Cheers
Trond
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2009-04-21 17:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-02 6:21 [PATCH] nfs: add support for splice writes Suresh Jayaraman
[not found] ` <49D45974.2060202-l3A5Bk7waGM@public.gmane.org>
2009-04-02 6:29 ` Mathieu Desnoyers
2009-04-02 6:32 ` Mathieu Desnoyers
2009-04-02 6:42 ` Suresh Jayaraman
2009-04-02 12:42 ` [ltt-dev] " Masahiro Tamori
2009-04-20 5:39 ` Suresh Jayaraman
2009-04-20 12:23 ` Trond Myklebust
[not found] ` <1240230224.8073.6.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-04-20 12:38 ` Suresh Jayaraman
2009-04-20 14:21 ` Trond Myklebust
2009-04-20 15:47 ` Suresh Jayaraman
2009-04-21 14:48 ` Christoph Hellwig
[not found] ` <20090421144810.GA7036-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-04-21 17:35 ` Trond Myklebust [this message]
[not found] ` <1240335302.5390.20.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-04-21 18:48 ` Chuck Lever
2009-04-22 8:33 ` Suresh Jayaraman
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=1240335302.5390.20.camel@heimdal.trondhjem.org \
--to=trond.myklebust-41n18tsmxrtumpjdpnscha@public.gmane.org \
--cc=a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org \
--cc=compudj-vdFpqfd5riKZ9vWoFJJngh2eb7JE58TQ@public.gmane.org \
--cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=linux-embedded-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=ltt-dev-33AaDErTWvBVxDZ2/Zk0YoryAYyacSEB@public.gmane.org \
--cc=masahiro.tamori-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=sjayaraman-l3A5Bk7waGM@public.gmane.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).