Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Dec 1998 22:04:58 +0100
From:      Paul van der Zwan <paulz@trantor.stuyts.nl>
To:        Mike Smith <mike@smith.net.au>
Cc:        current@freebsd.org
Subject:   Re: Weird NFS error using Solaris 7 server 
Message-ID:  <199812152104.WAA74654@trantor.stuyts.nl>
In-Reply-To: Your message of "Mon, 14 Dec 1998 03:42:35 PST." <199812141142.DAA00657@dingo.cdrom.com> 

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.

Hope someone can use this to find out what is wrong.
( If needed I can send the full snoop capture )

	Paul

-- 
Paul van der Zwan		paulz @ trantor.stuyts.nl
"I think I'll move to theory, everything works in theory..."



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?199812152104.WAA74654>