[RFC PATCH 0/6] shiftfs fixes and enhancements

From: Seth Forshee
Date: Thu Nov 01 2018 - 17:49:07 EST


I've done some work to fix and enhance shiftfs for a number of use
cases, so that we would have an idea what a more full-featured shiftfs
would look like. I'm intending for these to serve as a point of
reference for discussing id shifting mounts/filesystems at plumbers in a
couple of weeks [1].

Note that these are based on 4.18, and I've added a small fix to James'
most recent patch to fix a build issue there. To work with 4.19 they
will need a number of updates due to changes in the vfs.

The features I focused on fixing in or adding to shiftfs in these
patches are inotify, file capabilities, posix acls, and nesting. These
are all now working for at least simple use cases, but further testing
and cleanups are needed before I'd consider these finished. I also kept
all the changes within shiftfs, but some of the code might belong in the
vfs instead (in particular some of the posix acl code).

I've also pushed these patches to:

git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/linux.git shiftfs

Thanks,
Seth

[1] https://linuxplumbersconf.org/event/2/contributions/212/

---

James Bottomley (1):
shiftfs: uid/gid shifting bind mount

Seth Forshee (5):
shiftfs: map inodes to lower fs inodes instead of dentries
shiftfs: copy inode attrs up from underlying fs
shiftfs: translate uids using s_user_ns from lower fs
shiftfs: add support for posix acls
shiftfs: support nested shiftfs mounts

fs/Kconfig | 18 +
fs/Makefile | 1 +
fs/shiftfs.c | 1075 ++++++++++++++++++++++++++++++++++++
include/uapi/linux/magic.h | 2 +
4 files changed, 1096 insertions(+)
create mode 100644 fs/shiftfs.c