Date: Tue, 15 Dec 1998 17:58:45 -0800 From: Mike Smith <mike@smith.net.au> To: Paul van der Zwan <paulz@trantor.stuyts.nl> Cc: Mike Smith <mike@smith.net.au>, current@FreeBSD.ORG Subject: Re: Weird NFS error using Solaris 7 server Message-ID: <199812160158.RAA00944@dingo.cdrom.com> In-Reply-To: Your message of "Tue, 15 Dec 1998 22:04:58 %2B0100." <199812152104.WAA74654@trantor.stuyts.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
> I did some testing using the following test program: > #include <fcntl.h> > main() > { > int rv; > rv=open("testfile1",O_CREAT|O_RDWR|O_EXCL,0666); > if ( rv < 0 ) > perror("testfile1"); > rv=open("testfile2",O_CREAT|O_RDWR,0666); > if ( rv < 0 ) > perror("testfile2"); > } > > This program results in a file called 'testfile1' being created on the server > but having the creation of 'testfile2' fail with errno=79 ( which means > EOVERFLOW 79 /* value too large to be stored in data type */ > on Solaris ) > > If I do a snoop for the create requests sent I se the following request for > testfile1 : > RPC: ----- SUN RPC Header ----- > RPC: > RPC: Record Mark: last fragment, length = 156 > RPC: Transaction id = 1478392196 > RPC: Type = 0 (Call) > RPC: RPC version = 2 > RPC: Program = 100003 (NFS), version = 3, procedure = 8 > RPC: Credentials: Flavor = 1 (Unix), len = 52 bytes > RPC: Time = 0 > RPC: Hostname = > RPC: Uid = 544, Gid = 200 > RPC: Groups = 200 0 5 14 68 69 70 1000 > RPC: Verifier : Flavor = 0 (None), len = 0 bytes > RPC: > NFS: ----- Sun NFS ----- > NFS: > NFS: Proc = 8 (Create file) > NFS: File handle = [008A] > NFS: 0080000800000002000A000000000002694370EA000A000000000002694370EA > NFS: File name = testfile1 > NFS: Guard = 7F00000103000000 > NFS: > > And the following for testfile2: > RPC: ----- SUN RPC Header ----- > RPC: > RPC: Record Mark: last fragment, length = 192 > RPC: Transaction id = 1478392200 > RPC: Type = 0 (Call) > RPC: RPC version = 2 > RPC: Program = 100003 (NFS), version = 3, procedure = 8 > RPC: Credentials: Flavor = 1 (Unix), len = 52 bytes > RPC: Time = 0 > RPC: Hostname = > RPC: Uid = 544, Gid = 200 > RPC: Groups = 200 0 5 14 68 69 70 1000 > RPC: Verifier : Flavor = 0 (None), len = 0 bytes > RPC: > NFS: ----- Sun NFS ----- > NFS: > NFS: Proc = 8 (Create file) > NFS: File handle = [008A] > NFS: 0080000800000002000A000000000002694370EA000A000000000002694370EA > NFS: File name = testfile2 > NFS: Method = Unchecked > NFS: Mode = 0644 > NFS: Setuid = 0, Setgid = 0, Sticky = 0 > NFS: Owner's permissions = rw- > NFS: Group's permissions = r-- > NFS: Other's permissions = r-- > NFS: User ID = (not set) > NFS: Group ID = (not set) > NFS: Size = (not set) > NFS: Access time = -1 (set to client time) > NFS: Modification time = -1 (set to client time) > NFS: > NFS: > > So the open with the O_EXCL flag ( which succeeds ) shows a field decode by > snoop as Guard and the failing request shows a lot of other fields. This looks like snoop is failing to usefully process the packet. Can you feed the trace to Ethereal and see what it has to say about it? > Hope someone can use this to find out what is wrong. > ( If needed I can send the full snoop capture ) If you've got it in a format that can be used by other programs, please do make it available somewhere. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812160158.RAA00944>