[PATCHSET] FUSE/CUSE: implement direct mmap, take#3

From: Tejun Heo
Date: Thu Jun 18 2009 - 05:26:37 EST


Hello,

This is the third 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

* mmap-don-t-assume-f_op-mmap-doesn-t-change-vma.patch was
unnecessary. Dropped and mmap implementation updated accordingly.

* Updated to the current master which now contains CUSE support.

This patchset contains the following patches.

0001-fdtable-export-alloc_fd.patch
0002-FUSE-make-request_wait_answer-wait-for-end-co.patch
0003-FUSE-implement-fuse_req-prep.patch
0004-FUSE-implement-direct-mmap.patch

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

This patchset is on top of

linus#master(1d89b30cc9be41af87881682ec82e2c107849dbe)

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 | 432 +++++++++++++++++++++++++++++++++++++++++++++++++--
fs/fuse/fuse_i.h | 19 ++
include/linux/fuse.h | 47 +++++
6 files changed, 538 insertions(+), 32 deletions(-)

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.linux.kernel/821839
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/