Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #363248
    wjlyerly
    Participant

    As I understand it, NFS v2 has a 2 gig limit on files. I’m serving up disk space (and very large files therein) to a bunch of unix workstations — linux, sgi, aix, hpux, solaris. As a result, I’m trying to use NFSv3.

    Unfortunately, with a pretty vanilla setup, I get some snafus. For instance, we use CVS for code management and have a cvs history file of 150 meg in size. On some unix machines, I get the follow error on any cvs operation:
    Value too large for defined data type

    From what I can tell, this is a incompatibility between old unix nfs clients and OSX’s (BSD’s) nfs server. Linux machines with newer installations seem to be okay. I could get by with NFS2 on the old machines and NFS3 on the newer linux clients, but….

    Tiger clients also have a problem. Using NFS3, I get this error during cvs operations.
    cvs checkout: warning: cannot write to history file /mnt/dev/cvsroot/CVSROOT/history: Permission denied
    This directory is mounted by hand using nfs3. Switching to nfs2, cvs operates normally.

    The server here is running a fairly vanilla 10.4.2 setup. I use cvs as an example here b/c I know it produces the error. Other files of a particular size also produce the error. Is there something in particular I need to do to make this work between Tiger client and server using NFS3?

    Thanks,
    jay

    #363264
    wjlyerly
    Participant

    I’m not specifying any mount options other than nfsvers=2/3 so I know explicitly which I’m using. Otherwise its just the default. Serverside its all out of the box defaults too.

    I can do a ‘cat history > /dev/null’ with no errors. I also made a copy and opened it in vi, made some edits, and closed with no errors. It seems cvs might be doing something slightly more exotic?

    I ran a ktrace on cvs with the repo mounted via nfs2 (working) and with it mounted nfs3 (broken). The results show identical trace until an open syscall on the history file. The working one succeeds:

    15907 CALL open(0x3016d0,0x9,0x1b6)
    15907 cvs NAMI “/mnt/dev/cvsroot/CVSROOT/history”
    15907 cvs RET open 5

    where the broken (nfs3) one fails on the same call

    15907 cvs CALL open(0x3016d0,0x9,0x1b6)
    15907 cvs NAMI “/mnt/dev/cvsroot/CVSROOT/history”
    15907 cvs RET open -1 errno 13 Permission denied

    Mounted either way, the permissions on the history file are 777.

    The second argument to open is the flags parameter. /usr/include/sys/fcntl.h indicates that a 0x9 should correspond to O_APPEND (0x8) and O_WRONLY (0x1). So, its being opened as write only, append mode.

    Any of that hint at the problem?

    thanks,
    jay

    #364141
    mE
    Participant

    I am experiencing the same effet. Neither NFSv2 nor v3 work with SGI. I gave up on it.

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.

Comments are closed