tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: VOP_PUTPAGE ignores mount_nfs -o soft,intr



On Mon, Jun 22, 2015 at 05:27:49PM +0200, J. Hannken-Illjes wrote:
> Looks like your problem is the missing nfs aware implementation of
> function nfs_node.c:nfs_gop_write(). Falling back to genfs_gop_write()
> ignores nfs timeouts.

The problem also exists with failed hard disks, where filesystem 
cannot be forcibly unmounted because a write does not complete.
Therefore the problem deserves to be resolved in genfs.

I am still studying the problem, but right now, I had to make the
following chnages:

1) in umount(8), do not call sync(2) before unmount(2) is -f was
given. Otherwise we get stuck before we can try to forcibly unmount.

2) in nfs code, when mounted with -o soft, all calls to cv_timedwait()
must have a timoneout given (ie: not 0)

3) in genfs_io.c, VOP_STRATEGY errors (because of EWOUDLBLOCK or EINTR)
should be taken into account and break from loop


-- 
Emmanuel Dreyfus
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index