From owner-freebsd-current Wed Jun 19 02:42:03 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id CAA00700 for current-outgoing; Wed, 19 Jun 1996 02:42:03 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id CAA00689 for ; Wed, 19 Jun 1996 02:41:56 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id TAA08623; Wed, 19 Jun 1996 19:36:43 +1000 Date: Wed, 19 Jun 1996 19:36:43 +1000 From: Bruce Evans Message-Id: <199606190936.TAA08623@godzilla.zeta.org.au> To: freebsd-current@freebsd.org, j@uriah.heep.sax.de Subject: Re: Bug in NFS Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >> >Use only devices which have numbers (on the server) < 64K (e.g., wd0b) >> >and don't manage devices from the client. >> >> Or use devfs ? >Or fix NFS? It seems to be easy. This is untested. major and minor are supposed to have type `int', although minors with the high bit set don't really fit in an int. Unusual values for major and minor might cause problems because makedev() doesn't mask out the bits that it doesn't understand. Bruce *** nfs_subs.c~ Sat Jun 15 18:13:07 1996 --- nfs_subs.c Wed Jun 19 19:25:32 1996 *************** *** 1219,1224 **** vtyp = nfsv3tov_type(fp->fa_type); vmode = fxdr_unsigned(u_short, fp->fa_mode); ! rdev = makedev(fxdr_unsigned(u_char, fp->fa3_rdev.specdata1), ! fxdr_unsigned(u_char, fp->fa3_rdev.specdata2)); fxdr_nfsv3time(&fp->fa3_mtime, &mtime); } else { --- 1219,1224 ---- vtyp = nfsv3tov_type(fp->fa_type); vmode = fxdr_unsigned(u_short, fp->fa_mode); ! rdev = makedev(fxdr_unsigned(int, fp->fa3_rdev.specdata1), ! fxdr_unsigned(int, fp->fa3_rdev.specdata2)); fxdr_nfsv3time(&fp->fa3_mtime, &mtime); } else {