* splice status
@ 2006-04-20 14:29 Jens Axboe
2006-04-20 22:31 ` splice status - git clone failed Piet Delaney
2006-04-20 23:00 ` splice status Christoph Hellwig
0 siblings, 2 replies; 4+ messages in thread
From: Jens Axboe @ 2006-04-20 14:29 UTC (permalink / raw)
To: linux-kernel
Hi,
Since a lot of splice/tee stuff has been merged, I thought I'd post a
little status report and other potentially useful info.
- splice interfaces should be stable now, I don't envision any further
changes to the ->splice_read or ->splice_write file_operations hooks
or the splice syscall. splice now accepts an input or output offset
like sendfile(), so it doesn't have to rely on ->f_pos in the file
structure.
- Ditto for the sys_tee syscall.
- sendfile() will be replaced with splice(). sys_sendfile will remain of
course, this is only an internal thing. The current do_splice_direct()
is a sendfile() helper. The splice branch in the block git repo has
a patch to remove generic_file_sendfile() and all it's users by
converting them to ->splice_read(). There's also a patch there that
fixes up loop. The only remaining users of the file_operations
.sendfile hook are nfds/shmem/ext2-xip/relay. That still needs doing.
The current plan is to merge this stuff post 2.6.17.
I have a little collection of splice test tools that people may find
useful to play with this stuff. It's in a git repo here:
git://brick.kernel.dk/data/git/splice.git
and snapshots are generated every hour on changes and can be fetched
from
http://brick.kernel.dk/snaps/
There are tools there to test both splice and tee, a little README
explains the basic principle of them. I'd appreciate people testing and
playing with these tools, just in case we still have some bugs lurking.
Finally, known bugs:
- Some smallish splice reads are buggy. Patch is in splice branch and
will hopefully be merged whenever Linus gets in front of his computer.
- The ->splice_pipe cache needs to be initialized to NULL on forks. Only
affects do_splice_direct() usage, so not a problem in current kernels.
Patch also Linus bound today.
--
Jens Axboe
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: splice status - git clone failed.
2006-04-20 14:29 splice status Jens Axboe
@ 2006-04-20 22:31 ` Piet Delaney
2006-04-21 6:49 ` Jens Axboe
2006-04-20 23:00 ` splice status Christoph Hellwig
1 sibling, 1 reply; 4+ messages in thread
From: Piet Delaney @ 2006-04-20 22:31 UTC (permalink / raw)
To: Jens Axboe; +Cc: Piet Delaney, linux-kernel
On Thu, 2006-04-20 at 16:29 +0200, Jens Axboe wrote:
> git://brick.kernel.dk/data/git/splice.git
I just installed the latest git (20-Apr-2006) and tried
to clone your example and got an EOF. Any suggestions?
-------------------------------------------------------
/nethome/piet/src/splice$ git clone
git://brick.kernel.dk/data/git/splice.git
fatal: unexpected EOF
fetch-pack from 'git://brick.kernel.dk/data/git/splice.git' failed.
------------------------------------------------------
The shapshot is fine.
--
---
piet@bluelane.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: splice status - git clone failed.
2006-04-20 22:31 ` splice status - git clone failed Piet Delaney
@ 2006-04-21 6:49 ` Jens Axboe
0 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2006-04-21 6:49 UTC (permalink / raw)
To: Piet Delaney; +Cc: linux-kernel
On Thu, Apr 20 2006, Piet Delaney wrote:
> On Thu, 2006-04-20 at 16:29 +0200, Jens Axboe wrote:
> > git://brick.kernel.dk/data/git/splice.git
>
> I just installed the latest git (20-Apr-2006) and tried
> to clone your example and got an EOF. Any suggestions?
> -------------------------------------------------------
> /nethome/piet/src/splice$ git clone
> git://brick.kernel.dk/data/git/splice.git
> fatal: unexpected EOF
> fetch-pack from 'git://brick.kernel.dk/data/git/splice.git' failed.
> ------------------------------------------------------
Oh, new directory and I forgot to kick the git-daemon. It should work
now.
--
Jens Axboe
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: splice status
2006-04-20 14:29 splice status Jens Axboe
2006-04-20 22:31 ` splice status - git clone failed Piet Delaney
@ 2006-04-20 23:00 ` Christoph Hellwig
1 sibling, 0 replies; 4+ messages in thread
From: Christoph Hellwig @ 2006-04-20 23:00 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-kernel
On Thu, Apr 20, 2006 at 04:29:03PM +0200, Jens Axboe wrote:
> converting them to ->splice_read(). There's also a patch there that
> fixes up loop.
It actuaklly breaks loop in various setup. You now directly call
do_generic_file_read which is just a library function for filesystems.
For example xfs or ocfs actually do need additional locking and/or other
bits before calling it. So this absolutely has to go through a file
operation.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-04-21 6:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-20 14:29 splice status Jens Axboe
2006-04-20 22:31 ` splice status - git clone failed Piet Delaney
2006-04-21 6:49 ` Jens Axboe
2006-04-20 23:00 ` splice status Christoph Hellwig
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.