Messages in this thread | | | Date | Tue, 9 Jan 2007 18:04:26 +0100 | From | Jan Kara <> | Subject | Re: [PATCH 01/24] Unionfs: Documentation |
| |
> 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@suse.cz> SuSE CR Labs - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |