[OpenAFS] NFS served /viceXX for AFS server works when served via unix.... but via MS SFU we have a show stopper

Chris McClimans openafs-info@mcclimans.net
Mon, 28 Jul 2003 12:40:00 -0500


>>

<asbestos suit>Please no flames on windows as the NFS server, I am not 
in control of this box. However, if I want access to possibly terabytes 
of possible AFS storage, I have to use the provided access methods. 
</asbestos suit>

Hey crew,

I'm trying to use a SANS via a NAS appliance running windows 2k as the 
head node as a storage mechanism / viceXX for my AFS volumes. The issue 
is how can I connect to it via the provided methods? In this case it's 
NFS served via MS Services For Unix on a windows box, however I've also 
tried an SMB mount to no avail.

I am able to use a normal linux box serving up a /viceXX via knfsd:

turing:/# df -PT | awk '{print $1,$2,$7}' | grep vicepc
linuxnfsserver.ttu.edu:/turingvicepc nfs /vicepc

turing:/vicepc# vos create turing c test.afs.over.unix.nfs
new volume tosm.test.unix.nfs on turing vicepc
Volume 536871333 created on partition /vicepc of turing

turing:/var/log/openafs# cat VolserLog
Mon Jul 28 07:03:46 2003 1 Volser: CreateVolume: volume 536871333
(tosm.test.unix.nfs) created

Yea! AFS over NFS, who woulda thunk!

However when using SFU 2.2 (Microsoft services for unix) as the NFS 
server I get the following:

turing:/# df -PT | awk '{print $1,$2,$7}' | grep vicepb
windowsnfsserver.ttu.edu:/cs nfs /vicepb

turing:/vicepb# vos create turing b test.afs.over.windows.nfs
'tosm' on turing vicepb
Failed to create the volume tosm 536871330
: Input/output error
Error in vos create command.
: Input/output error

turing:/var/log/openafs# cat VolserLog
Mon Jul 28 06:47:03 2003 Starting AFS Volserver 2.0
(/usr/lib/openafs/volserver)
Mon Jul 28 06:47:09 2003 VCreateVolume:  Problem iopen inode
2305844804644241407 (err=13)
Mon Jul 28 06:47:09 2003 1 Volser: CreateVolume: Unable to create the
volume; aborted, error code 103
Mon Jul 28 06:47:09 2003 : Invalid request descriptor

One difference I see is that on the windows AFS share, it always maps 
the uid to 2^32 (anonymous).
I've thought about mapping the remote unix UID served up by windows to 
0 so it looks like it's owned by root, but I can't seem to find the 
options to mount -t nfs to provide it. (anyone got pointers?) Plus I'm 
not sure that it's not something just strange with the windows NFS 
server.

> turing:/vicepb# ls -la
> total 6
> drwxrwxrwx    2 4294967294 4294967294       64 Jul 28 06:47 .
> drwxr-xr-x   25 root     root         4096 Jul 28 07:02 ..
> drwx------    2 4294967294 4294967294       64 Jul 28 06:47 AFSIDat
> drwx------    2 4294967294 4294967294       64 Jul 28 06:47 Lock
> -rw-------    1 4294967294 4294967294        0 Jul 28 06:47 
> V0536871330.vol

I'm trying to figure out if it's an issue on non-rfc compliance on 
Microsoft's SFU, or what. Especially since the linux NFS server seems 
to work fine in this application.
-chris