[PATCH 0/3] UID/GID mapping file system (idmapfs)

Alin Dobre alin.dobre at elastichosts.com
Wed Oct 2 10:47:32 EDT 2013


From: Alin Dobre <alinmd at gmail.com>

Following Chris' idea and thread started on the linux mailing list ([1]), I
have started to implement such a filesystem starting from the current Wrapfs
code, which should do a simple mapping from UID 1000 on the lower filesystem to
UID 1001 on the upper filesystem.

My kernel tree is based on the 3.10-rc7 kernel.org tree (this was the master
tip at the time I mirrored it and started development) and has the Wrapfs
commits [2] on top of it. Patches should apply on latest kernel versions
without any issues.

Currently only UIDs are mapped, GIDs will follow somewhere at the end of the
implementation, since it will just mean copying most of the UID related code.

In general, the implementation manipulates the i_uid at inode level and
fsuid at file level operations.

Current code is still under development, but I wanted to start and gather
feedback, so I would be more than happy to hear your thoughts around this.

Thanks!
Alin.

[1] http://www.gossamer-threads.com/lists/linux/kernel/1726499?do=post_view_threaded#1726499
[2] http://git.fsl.cs.sunysb.edu/?p=wrapfs-latest.git;a=summary

Alin Dobre (3):
  Minimum wrapfs rename
  Mapping for multiple operations
  Mapping read/write with fsuid

 fs/Kconfig          |   2 +-
 fs/Makefile         |   2 +-
 fs/idmapfs/Kconfig  |   8 +
 fs/idmapfs/Makefile |   7 +
 fs/idmapfs/dentry.c |  49 ++++++
 fs/idmapfs/file.c   | 331 ++++++++++++++++++++++++++++++++++++
 fs/idmapfs/inode.c  | 469 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 fs/idmapfs/lookup.c | 355 +++++++++++++++++++++++++++++++++++++++
 fs/idmapfs/main.c   | 174 +++++++++++++++++++
 fs/idmapfs/mmap.c   |  53 ++++++
 fs/idmapfs/super.c  | 168 +++++++++++++++++++
 fs/idmapfs/wrapfs.h | 214 ++++++++++++++++++++++++
 fs/wrapfs/Kconfig   |   8 -
 fs/wrapfs/Makefile  |   7 -
 fs/wrapfs/dentry.c  |  49 ------
 fs/wrapfs/file.c    | 295 ---------------------------------
 fs/wrapfs/inode.c   | 463 ---------------------------------------------------
 fs/wrapfs/lookup.c  | 332 -------------------------------------
 fs/wrapfs/main.c    | 174 -------------------
 fs/wrapfs/mmap.c    |  53 ------
 fs/wrapfs/super.c   | 168 -------------------
 fs/wrapfs/wrapfs.h  | 205 -----------------------
 22 files changed, 1830 insertions(+), 1756 deletions(-)
 create mode 100644 fs/idmapfs/Kconfig
 create mode 100644 fs/idmapfs/Makefile
 create mode 100644 fs/idmapfs/dentry.c
 create mode 100644 fs/idmapfs/file.c
 create mode 100644 fs/idmapfs/inode.c
 create mode 100644 fs/idmapfs/lookup.c
 create mode 100644 fs/idmapfs/main.c
 create mode 100644 fs/idmapfs/mmap.c
 create mode 100644 fs/idmapfs/super.c
 create mode 100644 fs/idmapfs/wrapfs.h
 delete mode 100644 fs/wrapfs/Kconfig
 delete mode 100644 fs/wrapfs/Makefile
 delete mode 100644 fs/wrapfs/dentry.c
 delete mode 100644 fs/wrapfs/file.c
 delete mode 100644 fs/wrapfs/inode.c
 delete mode 100644 fs/wrapfs/lookup.c
 delete mode 100644 fs/wrapfs/main.c
 delete mode 100644 fs/wrapfs/mmap.c
 delete mode 100644 fs/wrapfs/super.c
 delete mode 100644 fs/wrapfs/wrapfs.h

-- 
1.8.3.2




More information about the Kernelnewbies mailing list