Re: union mount status

From: Ian Kent
Date: Fri Nov 28 2008 - 03:37:44 EST


On Fri, 21 Nov 2008, Ian Kent wrote:

> On Wed, 15 Oct 2008, Jan Blunck wrote:
>
> > On Wed, Oct 15, Daniel Lezcano wrote:
> >
> > > Hi all,
> > >
> > > What is the status of this patchset ?
> > > Bharata Rao told me, no consensus was reached yet.
> > > After looking at Jan Blunk's ftp server, it looks like the latest
> > > patchset was for 2.6.25-mm1. Is anyone working on this patchset right now ?
> >
> > Not that I know of.
> >
> > The state is as follows: we (David Woodhouse, Bharata Rao, Erez Zadok and me)
> > agreed on a more or less final version of the whiteout patches. I haven't
> > posted them yet since I know that Al Viro isn't convinced of the idea that
> > they are actaully necessary. My plan was to solve the readdir() issues first,
> > because they are the biggest roadblock IMHO. Bharata worked on some glibc
> > readdir stuff but I don't know how that went.
>
> I'm trying to work through applying your patches to a current kernel so I
> can have a decent look through them.

OK, I've applied your patch series from 2.6.23-mm1-2007-11-16 to the
linux-2.6 tree. I expect there are some mistakes due to the struct path
changes that have gone on since these were done.

Are you willing to have a look through them to check they are as
you expect.

I had a problem with union-mount-access.diff as you can see below, any
suggestions about how to get around this?:

Subject: union-mount: don't report EROFS for union mounts

From: Ian Kent <raven@xxxxxxxxxx>
** Mmmm .. I'll need to change these, but what to !! **

SuS v2 requires we report a read only fs too. For union-mounts this is a very
expensive check. So I'm lazy and just disable the check if we are on a lower
layer of an union.

Signed-off-by: Jan Blunck <jblunck@xxxxxxx>
---

fs/open.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)


diff --git a/fs/open.c b/fs/open.c
index 715266d..6f357e3 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -488,6 +488,9 @@ asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode)
* inherently racy and know that the fs may change
* state before we even see this result.
*/
+ /* OOPS: no struct nameidata anymore
+ if (!(nd.um_flags & LAST_LOWLEVEL) && __mnt_is_readonly(nd.path.mnt))
+ */
if (__mnt_is_readonly(path.mnt))
res = -EROFS;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/