linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [rfc patch 0/4] splice: cleanups and fixes
@ 2008-06-21 15:46 Miklos Szeredi
  2008-06-21 15:46 ` [rfc patch 1/4] splice: fix comment Miklos Szeredi
                   ` (4 more replies)
  0 siblings, 5 replies; 38+ messages in thread
From: Miklos Szeredi @ 2008-06-21 15:46 UTC (permalink / raw)
  To: jens.axboe; +Cc: linux-fsdevel, linux-kernel, linux-mm, torvalds

Brian Wang reported some problems with NFS export of fuse filesystems,
which turned out to be bad interaction between splice (used by nfsd)
and page cache invalidation.

I looked at the splice code, and found quite a bit of dead code,
duplication, and unnecessary complication.  This patchset attempts to
resolve those, in addition to fixing the invalidation issues.  Some
optimizations are lost in the process like the gang page lookup for
the fully cached case, and I can't really tell if these are important
enough to warrant the extra complexity.

I did minimal testing to verify that splice(2) on regular files still
works.  And since generic_file_splice_read() now shares most of its
code with generic_file_aio_read(), there's not much to go wrong in
there.  That said, it needs more testing...

Comments?

Thanks,
Miklos
--

 drivers/block/loop.c      |    5 
 fs/nfsd/vfs.c             |    9 -
 fs/pipe.c                 |   58 -------
 fs/splice.c               |  371 +++++-----------------------------------------
 include/linux/fs.h        |    2 
 include/linux/pipe_fs_i.h |   36 ----
 kernel/relay.c            |    2 
 mm/filemap.c              |    2 
 net/core/skbuff.c         |    9 -
 9 files changed, 47 insertions(+), 447 deletions(-)

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2008-10-22 12:41 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-21 15:46 [rfc patch 0/4] splice: cleanups and fixes Miklos Szeredi
2008-06-21 15:46 ` [rfc patch 1/4] splice: fix comment Miklos Szeredi
2008-06-21 15:46 ` [rfc patch 2/4] splice: remove steal from pipe_buf_operations Miklos Szeredi
2008-06-24  8:01   ` Jens Axboe
2008-06-24  8:50     ` Miklos Szeredi
2008-06-24 12:21       ` Nick Piggin
2008-06-21 15:46 ` [rfc patch 3/4] splice: remove confirm " Miklos Szeredi
2008-06-24  8:04   ` Jens Axboe
2008-06-24  8:54     ` Miklos Szeredi
2008-06-24 11:19       ` Jens Axboe
2008-06-24 11:36         ` Miklos Szeredi
2008-06-24 11:46           ` Evgeniy Polyakov
2008-06-24 12:02             ` Miklos Szeredi
2008-06-24 12:15               ` Evgeniy Polyakov
2008-06-24 12:16           ` Nick Piggin
2008-06-24 12:22             ` Jens Axboe
2008-06-24 13:00             ` Miklos Szeredi
2008-06-24 17:30           ` Linus Torvalds
2008-06-24 18:24             ` Miklos Szeredi
2008-06-24 18:31               ` Linus Torvalds
2008-06-24 19:05                 ` Miklos Szeredi
2008-06-24 19:17                   ` Linus Torvalds
2008-06-24 19:24                     ` Miklos Szeredi
2008-06-24 19:26                       ` Miklos Szeredi
2008-06-24 19:32                         ` Miklos Szeredi
2008-06-24 19:47                           ` Linus Torvalds
2008-06-24 20:06                             ` Miklos Szeredi
2008-06-24 19:45                       ` Linus Torvalds
2008-06-21 15:46 ` [rfc patch 4/4] splice: use do_generic_file_read() Miklos Szeredi
2008-06-24  8:05   ` Jens Axboe
2008-06-24 11:11     ` Miklos Szeredi
2008-06-21 17:20 ` [rfc patch 0/4] splice: cleanups and fixes Subrata Modak
2008-06-22  6:16   ` Miklos Szeredi
2008-06-23 15:26     ` Subrata Modak
2008-06-25 13:17       ` [LTP] " Subrata Modak
2008-06-25 14:00         ` Miklos Szeredi
     [not found]           ` <E1KBVXV-000618-C9-8f8m9JG5TPIdUIPVzhDTVZP2KDSNp7ea@public.gmane.org>
2008-06-26  7:34             ` Subrata Modak
2008-10-22 12:41               ` [LTP] " Subrata Modak

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).