Re: [RFC 1/1] shiftfs: uid/gid shifting bind mount
From: J. R. Okajima
Date: Mon Feb 06 2017 - 11:24:47 EST
James Bottomley:
> Yes, I know the problem. However, I believe most current linux
> filesystems no longer guarantee stable, for the lifetime of the file,
> inode numbers. The usual docker container root is overlayfs, which,
> similarly doesn't support stable inode numbers. I see the odd
> complaint about docker with overlayfs having unstable inode numbers,
> but none seems to have any serious repercussions.
I think it serious.
Reusing the backend fs' inum is a good approach which Amir wrote.
Based on this, I'd suggest you to support the hardlinks.
bakend_dentry = lookup_one_len()
if (d_inode->i_nlink != 1)
shiftfs_inode = ilookup();
if (!shiftfs_inode) {
shiftfs_inode = new_inode();
shiftfs_inode->i_ino = bakend_dentry->d_inode->i_ino;
}
J. R. Okajima