On Wed, Aug 23, 2017, at 07:02, Christos Zoulas wrote: > In article <c32a9472-efc7-438d-b7f8-f806242c1...@eis.cs.tu-bs.de>, > J. Hannken-Illjes <hann...@eis.cs.tu-bs.de> wrote: > > > >> On 19. Aug 2017, at 14:20, Christos Zoulas <chris...@zoulas.com> > >> wrote: > >> > >> On Aug 19, 1:04pm, hann...@eis.cs.tu-bs.de ("J. Hannken-Illjes") > >> wrote: -- Subject: Re: Fixing swap1_stop > >> > >> | A long time ago forced unmounts tried to change open block device > >> | nodes to anonymous (not attached to a file system) nodes. This > >> | was racy and has been removed. > >> | > >> | With the recent changes to the VFS subsystem it should be > >> | possible to bring this behaviour back and instead of destroying > >> | open device nodes a forced unmount would detach them from the > >> | file system and keep them active. > >> | > >> | Did you mean something like this? > >> > >> Yes exactly that. > > > >Committed and pullup to -8 requested: > > > >src/sys/kern/vfs_vnode.c r1.97, r1.98 > >src/sys/miscfs/deadfs/dead_vfsops.c r1.8 src/sys/kern/vfs_mount.c > >r1.67 src/sys/sys/vnode_impl.h r1.16 > > Excellent, so now swap1_stop works as is :-)
In which case bin/51019 can be closed. I might still argue for moving the umount command into swap2_stop, on the grounds that the rationale for unmounting tmpfs filesystems before removing swap applies equally whether that swap is backed by a file or by a block device, but that's a separate discussion. Thanks all for an instructive and constructive discussion, and for writing solutions while I was still stuck thinking about problems. -- IDL