[OpenAFS] df problems with /afs

Ramon Pasetes rayp@fnal.gov
Fri, 29 Jun 2001 14:08:23 CDT



Hello,
	We have installed OpenAFS v1.0.4 on a Sun Netra T1 running Solaris 8.  
The machine is acting as both a server and a client (for testing).  Everything
seems to be working okay except for the "df" command.  If I try to
"df /afs" or "df ." where . is in AFS, I get (btw, I have admin token for all
of this):


# uname -a
SunOS testidea 5.8 Generic_108528-08 sun4u sparc SUNW,UltraAX-i2
# df /afs
df: Could not find mount point for /afs
# cd /afs/fermi.openafs
# df .
df: Could not find mount point for .

- ----------------------------------------------------------------
However, this does work:

# df -t AFS
/afs               (AFS               ): 18000000 blocks  9000000 files

# df -k -t AFS
Filesystem            kbytes    used   avail capacity  Mounted on
AFS                  9000000       0 9000000     0%    /afs
               total: 18000000 blocks  9000000 files

- ----------------------------------------------------------------
If I do a truss of the df process (when it fails) I get:

# truss df /afs
execve("/usr/sbin/df", 0xFFBEFE1C, 0xFFBEFE28)  argc = 2
stat("/usr/sbin/df", 0xFFBEFB58)                = 0
open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
open("/usr/lib/libcmd.so.1", O_RDONLY)          = 3
fstat(3, 0xFFBEF8F0)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3A0000
mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF380000
mmap(0xFF394000, 1155, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 16384) = 0xFF394000
munmap(0xFF384000, 65536)                       = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, 
- -1, 0) = 0xFF370000
memcntl(0xFF380000, 4344, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
open("/usr/lib/libc.so.1", O_RDONLY)            = 3
fstat(3, 0xFFBEF8F0)                            = 0
mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF3A0000
mmap(0x00000000, 786432, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF280000
mmap(0xFF338000, 24720, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 688128) = 0xFF338000
munmap(0xFF328000, 65536)                       = 0
memcntl(0xFF280000, 112596, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
open("/usr/lib/libdl.so.1", O_RDONLY)           = 3
fstat(3, 0xFFBEF8F0)                            = 0
mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF3A0000
close(3)                                        = 0
open("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", O_RDONLY) = 3
fstat(3, 0xFFBEF798)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF360000
mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF350000
close(3)                                        = 0
munmap(0xFF360000, 8192)                        = 0
brk(0x00025F40)                                 = 0
brk(0x00027F40)                                 = 0
stat64("/afs", 0x00026D58)                      = 0
open("/etc/mnttab", O_RDONLY)                   = 3
fstat64(3, 0xFFBEF9F0)                          = 0
ioctl(3, TCGETA, 0xFFBEF97C)                    Err#22 EINVAL
read(3, " / d e v / d s k / c 1 t".., 512)      = 512
ioctl(3, (('m'<<8)|1), 0xFF33AC48)              = 0
ioctl(3, (('m'<<8)|2), 0x00027AA0)              = 0
brk(0x00027F40)                                 = 0
brk(0x00029F40)                                 = 0
read(3, " n i c , s u i d , d e v".., 512)      = 221
read(3, 0x00027894, 512)                        = 0
llseek(3, 0, SEEK_CUR)                          = 733
close(3)                                        = 0
resolvepath("/afs", "/afs", 1024)               = 4
df: Could not find mount point for /afswrite(2, " d f :   C o u l d   n o".., 
39)       = 39

write(2, "\n", 1)                               = 1
llseek(0, 0, SEEK_CUR)                          = 186661
_exit(1)


So, I thought it was failing on the "resolvepath" call so I wrote a small
C program and that resolvepath is actually working.  The 4 returned is
the number of chars it returns to the calling procedure.  So, I 
don't really understand where the error is coming from?

If anyone has an idea of where to look, it would be much appreciated.


Thanks,
Ray