On Sat, 18 Jul 2009, Anonymous wrote: > > Yep, I can reproduce it as easily on 8.0-BETA2 snapshot under qemu > > # uname -vm > FreeBSD 8.0-BETA2 #0: Wed Jul 15 23:25:30 UTC 2009 > root_at_almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 > I'll try to get around to testing it this weekend, but if you'd like to test the following patch, I think it might fix the problem. The new krpc only checks NFSMNT_INT at connect and not every rpc. rick ps: The line #s assume the other patch you tested is already applied. --- untested exp. nfs client patch --- --- fs/nfsclient/nfs_clvfsops.c.sav2 2009-07-18 09:19:07.000000000 -0400 +++ fs/nfsclient/nfs_clvfsops.c 2009-07-18 09:29:14.000000000 -0400 _at__at_ -1037,7 +1037,7 _at__at_ { struct nfsmount *nmp; struct nfsnode *np; - int error, trycnt, ret, clearintr; + int error, trycnt, ret; struct nfsvattr nfsva; static u_int64_t clval = 0; _at__at_ -1152,20 +1152,8 _at__at_ nmp->nm_sockreq.nr_vers = NFS_VER2; - /* - * For Connection based sockets (TCP,...) do the connect here, - * but make it interruptible, even for non-interuptible mounts. - */ - if ((nmp->nm_flag & NFSMNT_INT) == 0) { - nmp->nm_flag |= NFSMNT_INT; - clearintr = 1; - } else { - clearintr = 0; - } if ((error = newnfs_connect(nmp, &nmp->nm_sockreq, cred, td, 0))) goto bad; - if (clearintr) - nmp->nm_flag &= ~NFSMNT_INT; /* * A reference count is needed on the nfsnode representing theReceived on Sat Jul 18 2009 - 11:32:33 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC