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 Jun 20, 10:09pm, manu%netbsd.org@localhost (Emmanuel Dreyfus) wrote:
-- Subject: Re: VOP_PUTPAGE ignores mount_nfs -o soft,intr

| Christos Zoulas <christos%astron.com@localhost> wrote:
| 
| > Ok, what is it supposed to do? Does it fail? Give up? Get interrupted
| > and keep looping?
| 
| The process stuck in tstile waiting for vnode lock is a consequence of
| the initial problem: ioflush stuck in cv_wait().
| 
| What about this: we introduce a mnt_timeo in struct mount, and use
| cv_timedwait() instead of cv_wait() in genfs_do_putpages(). If timeout
| expires, we get a failure: the page was not put to storage. 
| 
| mnt_timeo should have a sane default (which one) for all filesystems,
| not only NFS: that way we fix process stuck in tstile because of hardare
| failure (I already saw that).  For NFS we use the NFS timeout.
| 
| That way ioflush never holds a vnode lock forever, and umount -f should
| work.
| 

This is not that simple. There is at least one more place where
it does while (vp->v_numoutput != 0) cv_wait().. And I am not
sure what happens if you make VOP_PUTPAGES timeout.

christos


Home | Main Index | Thread Index | Old Index