opendir fails with NetApp/FAT

Ben Low bdlow@nortelnetworks.com
Tue Aug 22 20:50:00 GMT 2000


Hello,

Cygwin 1.1.3 (also reported with 1.1.2) seems to have a problem with the
opendir system call on a NetApp CIFS share.

Apparently this issue has been around for a couple of months - without
resolution. (refs. 
http://sources.redhat.com/ml/cygwin/2000-07/msg00144.html
http://sources.redhat.com/ml/cygwin/2000-07/msg00686.html
)

$ cygcheck -s -v    (full output attached)
CYGWIN = `ntea ntsec'
h:  net FAT    82520Mb  95% CP CS UN           CIFS.HOMEDIR
\\zwoln001\bdlow  /h       user    textmode  (also happens for binmode)

statting a known file works:

$ ls -l /h/blah
-rw-r--r--   1 bdlow    Users          13 Aug 23 11:59 /h/blah

but an opendir fails:
$ ls /h
$                  (no output)
$ ls -l /h
total 0
$ strace ls /h     (full output attached)
...
 1832  236963 [main] ls 1322 path_conv::check:
GetVolumeInformation(\\zwoln001\bdlow\) = OK,
full_path(\\zwoln001\bdlow), set_has_acls(0)
  186  237149 [main] ls 1322 stat_worker: 16 = GetFileAttributesA
(\\zwoln001\bdlow)
...
  551  253965 [main] ls 1322 stat_worker: 0 = stat (\\zwoln001\bdlow,
0x240FE34)
  565  254530 [main] ls 1322 opendir: 0xA0516A0 = opendir (/h)
 1580  256110 [main] ls 1322
/cygnus/netrel/src/cygwin-1.1.3-1/winsup/cygwin/dir.cc:166 seterrno: 5
(ACCESS_DENIED) -> 13
  185  256295 [main] ls 1322 readdir: 0x0 = readdir (0xA0516A0)
  538  256833 [main] ls 1322 closedir: 0 = closedir (0xA0516A0)

All other file ops (read/write/unlink) seem to work ok. Editing file
perms fails (as to be expected w/ FAT?):

$ chmod +x blah
chmod: blah: Bad file number
$ strace chmod +x blah
 1850  237032 [main] chmod 1337 path_conv::check:
GetVolumeInformation(\\zwoln001\bdlow\) = OK,
full_path(\\zwoln001\bdlow\blah), set_has_acls(0)
 3510  240542 [main] chmod 1337
/cygnus/netrel/src/cygwin-1.1.3-1/winsup/cygwin/security.cc:1127
seterrno: 6 (INVALID_HANDLE) -> 9
 3974  244516 [main] chmod 1337 chmod: -1 = chmod (blah, 0x1ED)

I'm trying to get my NetApp admin to set up a NTFS export for me, to
test if it's the FAT filesystem that's the problem.

Any ideas?

Regards,

-- 
Benjamin D Low                         bdlow@nortelnetworks.com
Nortel Networks Technology Centre      +61 2 4254 7473
Wollongong NSW Australia               ESN 639 7473

Cygnus Win95/NT Configuration Diagnostics
Current System Time: Wed Aug 23 13:49:31 2000

WinNT Ver 5.0 build 2195 

Path:	/home/bdlow/bin
	.
	/usr/local/bin
	/usr/bin
	/usr/bin
	/c/WINNT/system32
	/c/WINNT
	/c/WINNT/System32/Wbem
	/usr/bin

SysDir: C:\WINNT\System32
WinDir: C:\WINNT

CYGWIN = `ntea ntsec'
HOME = `/home/bdlow'
MAKE_MODE = `unix'
PWD = `/home/bdlow'
USER = `bdlow'

!C: = `C:\cygwin\bat'
!D: = `D:\Nortel\Ben Low'
ALLUSERSPROFILE = `C:\Documents and Settings\All Users'
APPDATA = `C:\Documents and Settings\lowb\Application Data'
CLASSPATH = `C:\Program Files\Exceed.nt'
COLORFGBG = `0;default;15'
COLORTERM = `rxvt-xpm'
COMMONPROGRAMFILES = `C:\Program Files\Common Files'
COMPUTERNAME = `LOWB-1'
COMSPEC = `C:\WINNT\system32\cmd.exe'
DEVMGR_SHOW_NONPRESENT_DEVICES = `1'
DISPLAY = `:0'
EDITOR = `vi'
ENV = `/home/bdlow/.bash_profile'
HOMEDRIVE = `C:'
HOMEPATH = `\'
HOSTNAME = `LOWB-1'
HOSTTYPE = `i586'
IGNOREEOF = `2'
LC_ALL = `en_AU'
LESS = `-Plines %lt-%lb (%pt-%pb\% of bytes) %f$'
LOGONSERVER = `\\ZNOTC002'
MACHTYPE = `i586-pc-cygwin'
MAIL = `/home/ben/Mail/inbox'
MANPATH = `:'
MXBIN = `C:\program files\Formida\Fire3\mx\i386\win32\bin'
MXHOME = `C:\program files\Formida\Fire3'
NNTPSERVER = `wolnews'
NUMBER_OF_PROCESSORS = `1'
OLDPWD = `/h'
OS2LIBPATH = `C:\WINNT\system32\os2\dll;'
OS = `Windows_NT'
OSTYPE = `cygwin'
PAGER = `less'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PERL5LIB = `/home/bdlow/local/lib/perl5:/home/bdlow/local/lib/perl5/5.00502:/home/bdlow/local/lib/perl5/site_perl/5.005'
PRINTER = `hp'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 7 Stepping 3, GenuineIntel'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0703'
PROGRAMFILES = `C:\Program Files'
PROMPT = `$P$G'
PROMPT_COMMAND = `echo -ne "\033]0;${HOSTNAME}:${PWD}\007"'
PS1 = `$ '
RSYNC_RSH = `ssh'
SHELL = `/bin/bash'
SHLVL = `1'
SYSTEMDRIVE = `C:'
SYSTEMROOT = `C:\WINNT'
TEMP = `/tmp'
TERM = `xterm'
TMPDIR = `/tmp'
USERDOMAIN = `ASIAPACIFIC'
USERNAME = `bdlow'
USERPROFILE = `C:\Documents and Settings\lowb'
WINDIR = `C:\WINNT'
WINDOWID = `168100008'
_ = `/usr/bin/cygcheck.exe'
ftp_proxy = ` http://zwolh008:8080/ '
http_proxy = ` http://zwolh008:8080/ '
TZ = `AUSEST-10AUSEDT-11,M10.5.0/2,M3.5.0/2'

Use `-r' to scan registry

a:  fd           N/A    N/A                    
c:  hd  NTFS    5592Mb  29% CP CS UN PA FC     
d:  hd  NTFS    8997Mb  36% CP CS UN PA FC     NORTEL
e:  cd           N/A    N/A                    
h:  net FAT    82520Mb  95% CP CS UN           CIFS.HOMEDIR

D:\Nortel\Ben Low  /home/bdlow  user    textmode
\\zwoln001\bdlow  /h       user    textmode
C:\cygwin\bin  /usr/bin  user    binmode
C:\cygwin\lib  /usr/lib  user    binmode
C:\cygwin  /        user    binmode
c:    /c       user    textmode
d:    /d       user    textmode

Found: C:\cygwin\bin\bash.exe
Found: C:\cygwin\bin\cat.exe
Found: C:\cygwin\bin\cpp.exe
Found: C:\cygwin\bin\find.exe
Found: C:\cygwin\bin\gcc.exe
Found: C:\cygwin\bin\gdb.exe
Found: C:\cygwin\bin\ld.exe
Found: C:\cygwin\bin\ls.exe
Found: C:\cygwin\bin\make.exe
Found: C:\cygwin\bin\sh.exe

   83k 2000/06/11 C:\cygwin\bin\cygitcl30.dll - os=4.0 img=1.0 sys=4.0
                  "cygitcl30.dll" v0.0 ts=2000/6/11 13:34
   35k 2000/06/11 C:\cygwin\bin\cygitk30.dll - os=4.0 img=1.0 sys=4.0
                  "cygitk30.dll" v0.0 ts=2000/6/11 13:34
  402k 2000/06/11 C:\cygwin\bin\cygtcl80.dll - os=4.0 img=1.0 sys=4.0
                  "cygtcl80.dll" v0.0 ts=2000/6/11 13:30
    5k 2000/06/11 C:\cygwin\bin\cygtclpip80.dll - os=4.0 img=1.0 sys=4.0
   10k 2000/06/11 C:\cygwin\bin\cygtclreg80.dll - os=4.0 img=1.0 sys=4.0
                  "cygtclreg80.dll" v0.0 ts=2000/6/11 13:30
  639k 2000/06/11 C:\cygwin\bin\cygtk80.dll - os=4.0 img=1.0 sys=4.0
                  "cygtk80.dll" v0.0 ts=2000/6/11 13:34
  568k 2000/07/27 C:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
                  "cygwin1.dll" v0.0 ts=2000/7/28 0:59
    Cygwin DLL version info:
        dll major: 1001
        dll minor: 3
        dll epoch: 19
        dll bad signal mask: 19005
        dll old termios: 5
        api major: 0
        api minor: 24
        shared data: 3
        dll identifier: cygwin1
        mount registry: 2
        cygnus registry name: Cygnus Solutions
        cygwin registry name: Cygwin
        program options name: Program Options
        cygwin mount registry name: mounts v2
        build date: Thu Jul 27 10:59:35 EDT 2000
        shared id: cygwin1S3

Use -h to see help about each section


More information about the Cygwin mailing list