On Fri, 22 Oct 2010, Al Viro wrote: > On Tue, Oct 05, 2010 at 12:31:15PM +0200, Miklos Szeredi wrote: > > From: Miklos Szeredi <mszeredi@xxxxxxx> > > > > Currently remouting superblock read-only is racy in a major way. > > > > With the per mount read-only infrastructure it is now possible to > > prevent most races, which this patch attempts. > > > > Before starting the remount read-only, set MNT_WRITE_HOLD on all > > mounts so that writes are held off until the remount either succeeds > > or fails. > > Umm... What'll happen if your remount will say mnt_want_write() on > e.g. internal vfsmount over that sb? Quickly looking through filesystems I didn't find this sort of usage. > Or, more subtle, tries to > update atime on some opened struct file on that sb. Hmm, load_nls() will apparently do that. Drat. Plan B: remount all vfsmounts read-only before ->remount_fs() but remember which ones were read-write and restore on failure. Will result in ugly transient write failures if remount_fs() fails, but I don't think anybody would care in practice. Thanks, Miklos -- 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