Re: [RFC v2 1/1] shiftfs: uid/gid shifting bind mount

2017-03-02 Thread Vivek Goyal
On Mon, Feb 20, 2017 at 04:47:05PM -0800, James Bottomley wrote: [..] > +static int shiftfs_readlink(struct dentry *dentry, char __user *data, > + int flags) > +{ > + struct dentry *real = dentry->d_fsdata; > + const struct inode_operations *iop = real->d_inode->i_o

Re: [RFC v2 1/1] shiftfs: uid/gid shifting bind mount

2017-02-22 Thread Vivek Goyal
On Tue, Feb 21, 2017 at 05:23:26PM -0500, James Bottomley wrote: > On Tue, 2017-02-21 at 11:06 -0500, Vivek Goyal wrote: > > On Mon, Feb 20, 2017 at 04:47:05PM -0800, James Bottomley wrote: > > > > [..] > > > +static struct dentry *shiftfs_lookup(struct inode *dir, struct > > > dentry *dentry, > >

Re: [RFC v2 1/1] shiftfs: uid/gid shifting bind mount

2017-02-21 Thread James Bottomley
On Tue, 2017-02-21 at 11:06 -0500, Vivek Goyal wrote: > On Mon, Feb 20, 2017 at 04:47:05PM -0800, James Bottomley wrote: > > [..] > > +static struct dentry *shiftfs_lookup(struct inode *dir, struct > > dentry *dentry, > > +unsigned int flags) > > +{ > > + struct d

Re: [RFC v2 1/1] shiftfs: uid/gid shifting bind mount

2017-02-21 Thread Vivek Goyal
On Mon, Feb 20, 2017 at 04:47:05PM -0800, James Bottomley wrote: [..] > +static struct dentry *shiftfs_lookup(struct inode *dir, struct dentry > *dentry, > + unsigned int flags) > +{ > + struct dentry *real = dir->i_private, *new; > + struct inode *reali =

[RFC v2 1/1] shiftfs: uid/gid shifting bind mount

2017-02-20 Thread James Bottomley
This allows any subtree to be uid/gid shifted and bound elsewhere. It does this by operating simlarly to overlayfs. Its primary use is for shifting the underlying uids of filesystems used to support unpriviliged (uid shifted) containers. The usual use case here is that the container is operating