From owner-cvs-sys Fri Jun 27 12:50:55 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id MAA11563 for cvs-sys-outgoing; Fri, 27 Jun 1997 12:50:55 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id MAA11557; Fri, 27 Jun 1997 12:50:51 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.5/8.6.9) id FAA04210; Sat, 28 Jun 1997 05:47:51 +1000 Date: Sat, 28 Jun 1997 05:47:51 +1000 From: Bruce Evans Message-Id: <199706271947.FAA04210@godzilla.zeta.org.au> To: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, cvs-sys@FreeBSD.ORG, wpaul@FreeBSD.ORG Subject: Re: cvs commit: src/sys/nfs nfs_vfsops.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > This is a bit kludgy in that nfsmout is a label defined by the nfsm_subs.h > macros, but these macros are themselves more than a little kludgy. This > stops the machine from crashing, but does not fix the overall bug: 'error' > somehow becomes 5 (EIO) when a statfs() is performed on the locally mounted > NFS filesystem. This seems to only happen the first time the filesystem > is accesed: on subsequent accesses, it seems to work fine again. I think the following fixes the bogus errno. The mkfifo bug also caused EIO instead of the correct errno. Bruce diff -c2 nfs_serv.c~ nfs_serv.c *** nfs_serv.c~ Sun Jun 15 01:24:55 1997 --- nfs_serv.c Sun Jun 15 01:25:14 1997 *************** *** 1668,1672 **** } nfsm_srvwcc_data(dirfor_ret, &dirfor, diraft_ret, &diraft); ! return (0); nfsmout: if (dirp) --- 1669,1673 ---- } nfsm_srvwcc_data(dirfor_ret, &dirfor, diraft_ret, &diraft); ! return (error); nfsmout: if (dirp)