On Thu, Oct 03, 2013 at 10:14:48PM +0100, Al Viro wrote: > > So I don't see how they could possibly see ones. Modulo terminal bugs > > in synchronize_barrier() (which can be very slow, but for umount I > > wouldn't worry). Or modulo my brain being fried. > > There's one more place similar to that - kern_unmount(). There we also > go from "longterm vfsmount, mntput() doesn't need to bother checking" > to NULL ->mnt_ns. We can, of course, slap synchronize_rcu() there as > well, but that might make pid_ns and ipc_ns destruction slow... OK, fuse side of things done, smp_mb() in mntput_no_expire() dropped, kern_umount() got synchronize_rcu() (I'm not happy about the last one, but... hell knows; I want to see profiles before deciding what to do about it). Updated branch force-pushed. BTW, brlock defines can go after that; we still two instances of lg_lock, but they spell the primitives out instead of using br_{read,write}_lock aliases. Speaking of those two - I really want to see file_table.c one killed. Christoph, do you have anything along the lines of getting rid of the mark_files_ro() nonsense? After all, a combination of r/w vfsmount and a superblock with MS_RDONLY in flags should do about the right thing these days... I can probably knock something together tomorrow, but you've brought that thing up quite a few times, so if you happen to have a patch more or less ready... -- 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