Re: [PATCH 01/24] Unionfs: Documentation

From: Trond Myklebust
Date: Tue Jan 09 2007 - 11:40:35 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
have achieved is ensure that your client won't write to the file. You
will still be able to Oops.

Trond

-
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/