Re: [PATCH 01/24] Unionfs: Documentation

From: Jan Kara
Date: Tue Jan 09 2007 - 12:04:57 EST


> On Tue, 2007-01-09 at 13:26 +0100, Jan Kara wrote:
> > Yes, making fs readonly at VFS level would not work for already opened
> > files. But you if you create new union, you could lock down the
> > filesystems you are unioning (via s_umount semaphore), go through lists
> > of all open fd's on those filesystems and check whether they are open
> > for write or not. If some fd is open for writing, you simply fail to
> > create the union (and it's upto user to solve the problem). Otherwise
> > you mark filesystems as RO and safely proceed with creating the union.
> > I guess you must have come up with this solution. So what is the problem
> > with it?
>
> Aside from the fact that this is racy (s_umount doesn't protect you
> against a process opening a new file while you are busy running through
> the open fds to see if you can reset the MS_RDONLY flag) all you will
Ok, but if we first set MS_RDONLY and then check, we should be safe
against new open's.

> have achieved is ensure that your client won't write to the file. You
> will still be able to Oops.
But once you have MS_RDONLY set, there should be no modifications of
the underlying filesystem, should they? And I have understood that the
only problem is modifying the filesystem underneath unionfs. But maybe
I'm missing something.

Honza
--
Jan Kara <jack@xxxxxxx>
SuSE CR Labs
-
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/