Subject: Re: 1.7.8: files exist but can not be read
From: "A.R. Burgers" <[email-masked]>
To: [email-masked]
Date: Mon, 22 Nov 2010 19:11:02 +0100
Newsgroups: gmane.os.cygwin
List-Id: <cygwin.cygwin.com>

Hi,

here the script file.sh and its output results.txt,
pasted in the mail, including the output of the ntqueryfile
program. I ran ntqueryfile both on a netapp file and on a local file.

hope this helps

Teun

cat > file.sh <<HERE
#! /bin/sh

uname -a
zz=/shares/g_zon_software/cygwin17
ls -l $zz/text.txt
rm -f $zz/text.txt ./text.txt
cat << HERE > $zz/text.txt
line 1
HERE
cat << HERE > text.txt
line 1
HERE
ls -l $zz/text.txt
echo "*** cat $zz/text.txt:"
cat $zz/text.txt
echo "*** file $zz/text.txt:"
file $zz/text.txt
echo '*** ./ntqueryfile \\\\nas01\\g_zon_software\$\\cygwin17\\text.txt:'
./ntqueryfile \\\\nas01\\g_zon_software\$\\cygwin17\\text.txt
echo '*** ./ntqueryfile C:\\cygwin\\home\\burgers\\tmp\\178_bug\\text.txt:'
./ntqueryfile C:\\cygwin\\home\\burgers\\tmp\\178_bug\\text.txt
cat /etc/fstab | grep g_zon_software
mount -m | grep 'share.*g_zon_software'
HERE

cat > result.txt <<HERE
CYGWIN_NT-5.1 P4114 1.7.6(0.230/5/3) 2010-08-16 16:06 i686 Cygwin
-rw-r--r-- 1 burgers Domain Users 7 2010-11-22 14:31 /shares/g_zon_software/cygwin17/text.txt
-rw-r--r-- 1 burgers Domain Users 7 2010-11-22 14:31 /shares/g_zon_software/cygwin17/text.txt
*** cat /shares/g_zon_software/cygwin17/text.txt:
line 1
*** file /shares/g_zon_software/cygwin17/text.txt:
/shares/g_zon_software/cygwin17/text.txt: ASCII text
*** ./ntqueryfile \\\\nas01\\g_zon_software\$\\cygwin17\\text.txt:
NtQueryInformationFile(FNOI): 0xc000000d
  fsi.AllocationSize 64
  fsi.EndOfFile      7
*** ./ntqueryfile C:\\cygwin\\home\\burgers\\tmp\\178_bug\\text.txt:
fnoi.AllocationSize 8
fnoi.EndOfFile      7
  fsi.AllocationSize 8
  fsi.EndOfFile      7
//nas01/g_zon_software$ /shares/g_zon_software some_fs noacl,binary,notexec 0 0
//nas01/g_zon_software$ /exports/g_zon_software some_fs noacl,binary,notexec 0 0
//nas01/g_zon_software$ /shares/g_zon_software netapp binary,notexec,noacl 0 0
HERE

Op 22-11-2010 11:57, Corinna Vinschen schreef:

> On Nov 20 22:17, A.R. Burgers wrote:
>>   LS,
>>
>> on 1.7.8 files the contents of a file on a netapp share can not be read by all programs.
>> [...]
>> #! /bin/sh
>>
>> uname -a
>> zz=/shares/g_zon_software/cygwin17
>> ls -l $zz/bug.txt
>> rm -f $zz/bug.txt
>> cat<<  HERE>  $zz/bug.txt
>> line 1
>> HERE
>> ls -l $zz/bug.txt
>> cat $zz/bug.txt
>> file $zz/bug.txt
>> cat /etc/fstab | grep g_zon_software
>> mount -m | grep 'share.*g_zon_software'
>
>> CYGWIN_NT-5.1 P4114 1.7.8s(0.233/5/3) 20101118 15:52:06 i686 Cygwin
>> -rw-r--r-- 1 burgers Domain Users 0 2010-11-19 13:35 /shares/g_zon_software/cygwin17/bug.txt
>> -rw-r--r-- 1 burgers Domain Users 0 2010-11-19 13:36 /shares/g_zon_software/cygwin17/bug.txt
>> line 1
>> /shares/g_zon_software/cygwin17/bug.txt: empty
>
> So it appears that you *can* read the files after all, but the stat
> function returns a file size of 0, right?  So all tools which test
> the file size before opening a file will fail.
>
> The question now is, why does it return 0.  What has changed in Cygwin
> is that a core function now uses the FileNetworkOpenInformation class to
> fetch file information.  Maybe that's not quite correctly implemented on
> Netapps?
>
> Can you please give the attached testcase a try?  Link it against ntdll
> and use the DOS path to the file as parameter, like this:
>
>    $ gcc -g -o ntqueryfile ntqueryfile.c -lntdll
>    $ ./ntqueryfile \\\\nas01\\g_zon_software\\cygwin17\\bug.txt
>
> Please paste the output into your reply.
>
>
> Thanks,
> Corinna
>
>

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple