> 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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html