NFS rename bug?

Rich Braun rbraun at spdcc.COM
Fri Mar 15 11:53:09 AEST 1991


The following program doesn't work under SCO Unix 3.2.2 with the current
revision of NFS (1.0, I think?):

    main()
    {
    FILE *fp, *fopen();
    int err;
	fp = fopen ("A", "w");
	fclose (fp);
	err = rename ("A", "B");
	printf ("err=%d, errno=%d\n", err, errno);
    }

It creates A and renames it to B just fine if the filesystem is local, but
fails with error code EBUSY if the filesystem (of the working directory)
is remote.

Looking at the NFS calls made over the network, I observe an NFS_GETATTR
executed but no NFS_RENAME.

The same program runs under other Unix systems just fine.

To observe this symptom in an existing product, try running RCS under
SCO Unix with an RCS directory located on another system.  It won't work
unless you patch out the rename call.

Is this a known problem?  Can I get a fix?

-rich



More information about the Comp.unix.sysv386 mailing list