Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Tejun Heo <tj <at> kernel.org>
Subject: [PATCHSET] FUSE: implement direct mmap, take#2
Newsgroups: gmane.linux.kernel
Date: Tuesday 14th April 2009 02:04:17 UTC (over 7 years ago)
Hello, Miklos, Nick, Andrew.

This is the second take of fuse-implement-direct-mmap patchset.  This
patchset implements direct mmap support for FUSE (and CUSE).  Each
direct mmap area is backed by anonymous mapping (shmem_file) and the
FUSE server can decide how they are shared.

mmap request is handled in two steps.  MMAP first queries the server
whether it wants to share the mapping with an existing one or create a
new one, and if so, with which flags.  MMAP_COMMIT notifies the server
the result of mmap and if successful the fd the server can use to
access the mmap region.

Changes from the last take[L] are

* 0003-FUSE-don-t-let-fuse_req-end-put-the-base-referen.patch was
  merged and thus dropped from this series.

* Updated to the current master + implement-cuse, take#3.

This patchset contains the following patches.

  0001-mmap-don-t-assume-f_op-mmap-doesn-t-change-vma.patch
  0002-fdtable-export-alloc_fd.patch
  0003-FUSE-make-request_wait_answer-wait-for-end-co.patch
  0004-FUSE-implement-fuse_req-prep.patch
  0005-FUSE-implement-direct-mmap.patch

0001-0002 update mm and fdtable for following FUSE changes.  0003-0004
update fuse_req->end() handling and add ->prep().  0005 implements
direct mmap.

Nick, Andrew, can you guys please review and ack 0001-0002?

This patchset is on top of

  linus#master(80a04d3f2f94fb68b5df05e3ac6697130bc3467a)
+ [1] implement-cuse patchset, take#3

and is available in the following git tree.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git
fuse-mmap

diffstat follows.

 fs/file.c            |    1 
 fs/fuse/cuse.c       |    1 
 fs/fuse/dev.c        |   70 ++++++--
 fs/fuse/file.c       |  424
+++++++++++++++++++++++++++++++++++++++++++++++++--
 fs/fuse/fuse_i.h     |   19 ++
 include/linux/fuse.h |   47 +++++
 mm/mmap.c            |    1 
 7 files changed, 533 insertions(+), 30 deletions(-)

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.comp.file-systems.fuse.devel/7212
[1] http://thread.gmane.org/gmane.comp.file-systems.fuse.devel/7705
 
CD: 2ms