Messages in this thread | | | From | Miklos Szeredi <> | Subject | Re: [PATCH 0/7] overlay filesystem v9 | Date | Thu, 19 May 2011 19:44:54 +0200 |
| |
Andy Whitcroft <apw@canonical.com> writes:
> On Tue, May 17, 2011 at 02:30:45PM +0200, Miklos Szeredi wrote: > >> Here's an updated version of the overlay filesystem. >> >> Git tree is here: >> >> git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git overlayfs.v9 > > Ok I pulled this into the Ubuntu kernel and made an Ubuntu Live CD > for testing. Overall it worked pretty well, no hangs, no crashes, > performance seemed reasonable. We hit one issue with hard links which > fail to be possible on overlayfs mounts when the Yama LSM (out of tree) > is enabled. This module applies more aggressive checks on hard-links > preventing links to files you cannot read.
Great, thanks for testing.
> The bug seems to be related to the way we handle user and group owners for > the overlayfs inodes, which we do not initialise (and they remain as 0,0). > While these ownerships are never exposed to userspace they are exposed > to the LSM layer, and the LSM module checks the wrong owner and fails > to allow the links.
Hmm.
> From what I can see it is completly reasonable to initialise the ownership > fields in the overlayfs inode from the underlying inode, or for new files > ones initialise it in the normal way based on the containing directory. > Now I am nothing like a filesystems expert but looking at what other > filesystems do I think the patch below is sufficient, but certainly it > needs some sanity checking. At least it fixes all the issues I see > here.
Forgot to attach the patch?
> > With this in place I have been able to boot a Natty release live CD > image, and upgrade it in place to the latest and greatest of everything. > Very nice. Thanks for your work continuing work on overlayfs. It is > starting to look good enough to merge. > > Comments?
I'd be happier if the LSM module were fixed not to peek inside the inode structure. Some filesystems (notably network ones) do not guarantee i_* to be up-to-date, relying on these is not a good idea.
Thanks, Miklos
| |