Second attempt at fixing forced unmount for soft NFS mounts:
http://ftp.espci.fr/shadow/manu/umount_f2.patch

Thanks to Chuck's input I managed to remove most of the changes outside
NFS code. I still to make in change in genfs_do_putpages() so that we do
not hold vnode lock forever waiting for I/O completion.

There are several cases where it hurts. As noted in the comment in the
code, there is using netbsd-6's umount(8) with a fixed kernel: umount -f
first attemps to do a sync(2) and it will wait forever for vnode lock
before umount(2) can be called.

Even with this sync(2) call removed from umount(8) there are issues
left, as unmount(2) first perform a VFS_SYNC before VFS_UNMOUNT. The
same situation can therefore occur.

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
m...@netbsd.org

Reply via email to