From: Jens Axboe <axboe@suse.de>
To: Jeff Garzik <jeff@garzik.org>
Cc: linux-kernel@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>
Subject: Re: [PATCH][RFC] splice support
Date: Wed, 29 Mar 2006 15:27:25 +0200 [thread overview]
Message-ID: <20060329132724.GF8186@suse.de> (raw)
In-Reply-To: <442A8883.9060909@garzik.org>
On Wed, Mar 29 2006, Jeff Garzik wrote:
> Jens Axboe wrote:
>
> >index 509ccec..23e2c7c 100644
> >--- a/fs/ext2/file.c
> >+++ b/fs/ext2/file.c
> >@@ -53,6 +53,8 @@ const struct file_operations ext2_file_o
> > .readv = generic_file_readv,
> > .writev = generic_file_writev,
> > .sendfile = generic_file_sendfile,
> >+ .splice_read = generic_file_splice_read,
> >+ .splice_write = generic_file_splice_write,
> > };
> >
> > #ifdef CONFIG_EXT2_FS_XIP
> >diff --git a/fs/ext3/file.c b/fs/ext3/file.c
> >index 783a796..1efefb6 100644
> >--- a/fs/ext3/file.c
> >+++ b/fs/ext3/file.c
> >@@ -119,6 +119,8 @@ const struct file_operations ext3_file_o
> > .release = ext3_release_file,
> > .fsync = ext3_sync_file,
> > .sendfile = generic_file_sendfile,
> >+ .splice_read = generic_file_splice_read,
> >+ .splice_write = generic_file_splice_write,
>
> >+static long do_splice_from(struct inode *pipe, struct file *out, size_t
> >len,
> >+ unsigned long flags)
> >+{
> >+ if (out->f_op && out->f_op->splice_write)
> >+ return out->f_op->splice_write(pipe, out, len, flags);
>
> 1) What are the consequences of doing
>
> if (f_op->splice_write)
> f_op->splice_write(...);
> else
> generic_file_splice_write(...);
>
> to cause sys_splice() to default to supported?
It should probably work, the fs guys should know more about that. Any fs
that ->prepare_write(), ->commit_write() works for can use
generic_file_splice_write(). I prefer to keep it sane for now, mason
tells me that eg xfs might need special care.
> 2) Do you really have to test f_op itself for NULL? Is that a stealth
> closed-file check or something? I would be surprised if f_op was ever
> really NULL.
Probably not, paranoia.
After posting I fixed another bug, essentially making the 'more' flag to
sendpage() be correct. Should improve throughput a little.
--
Jens Axboe
next prev parent reply other threads:[~2006-03-29 13:27 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-29 12:28 [PATCH][RFC] splice support Jens Axboe
2006-03-29 12:30 ` Jens Axboe
2006-03-29 13:15 ` Jeff Garzik
2006-03-29 13:27 ` Jens Axboe [this message]
2006-03-29 21:49 ` Nathan Scott
2006-03-29 20:06 ` Linus Torvalds
2006-03-29 20:42 ` Jens Axboe
2006-03-29 20:43 ` Jens Axboe
2006-03-29 21:14 ` Linus Torvalds
2006-03-30 6:17 ` Jens Axboe
2006-03-29 22:37 ` Andrew Morton
2006-03-30 0:50 ` Linus Torvalds
2006-03-30 1:04 ` Jeff Garzik
2006-03-30 1:20 ` Andrew Morton
2006-03-30 6:18 ` Jens Axboe
2006-03-30 2:08 ` Andrew Morton
2006-03-30 3:44 ` Nick Piggin
2006-03-30 7:21 ` Jens Axboe
2006-03-30 7:30 ` Andrew Morton
2006-03-30 7:33 ` Jens Axboe
2006-03-30 8:02 ` Jan Engelhardt
2006-03-30 3:10 ` Nick Piggin
2006-03-30 7:16 ` Jens Axboe
2006-03-30 8:09 ` Jan Engelhardt
2006-03-30 7:45 ` Jens Axboe
2006-03-30 8:02 ` Andrew Morton
2006-03-30 8:10 ` Jens Axboe
2006-03-30 8:25 ` Nick Piggin
2006-03-30 8:27 ` Andrew Morton
2006-03-30 8:50 ` Nick Piggin
2006-03-30 8:51 ` Jens Axboe
2006-03-30 9:15 ` Jens Axboe
2006-03-30 9:40 ` Andrew Morton
2006-03-30 9:45 ` Jens Axboe
2006-03-30 9:56 ` Andrew Morton
2006-03-30 10:01 ` Jens Axboe
2006-03-30 2:36 ` Nick Piggin
2006-03-30 7:00 ` Jens Axboe
2006-03-30 7:33 ` Nick Piggin
2006-03-30 8:54 ` KAMEZAWA Hiroyuki
2006-03-30 13:53 ` Jens Axboe
2006-03-30 14:05 ` KAMEZAWA Hiroyuki
2006-03-30 14:38 ` Jens Axboe
2006-03-30 14:55 ` KAMEZAWA Hiroyuki
-- strict thread matches above, loose matches on Subject: below --
2005-12-19 9:16 Jens Axboe
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=20060329132724.GF8186@suse.de \
--to=axboe@suse.de \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.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