This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Why does df fail to stat CIFS shares?
- From: Achim Gratz <Stromeko at NexGo dot DE>
- To: cygwin at cygwin dot com
- Date: Wed, 27 Aug 2014 16:28:05 +0000 (UTC)
- Subject: Re: Why does df fail to stat CIFS shares?
- Authentication-results: sourceware.org; auth=none
- References: <20140627143626 dot GA9220 at F1S712WWS> <20140703094152 dot GB1803 at calimero dot vinschen dot de> <loom dot 20140826T110928-929 at post dot gmane dot org> <20140826124557 dot GB5740 at calimero dot vinschen dot de> <loom dot 20140827T165747-369 at post dot gmane dot org> <20140827151536 dot GK20700 at calimero dot vinschen dot de> <20140827153700 dot GL20700 at calimero dot vinschen dot de>
Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
> > -v, please. What means "obviously" here? Did you ask Netapp?
No, I've tried all combinations of parameters to the open calls to
absolutely no avail. I then started to look at what the VolumeInformation
call is supposed to be doing and decided that this might have a better
chance of producing a workaround.
> > The FileFsFullSizeInformation class is *old*, it has been introduced
> > with Windows 2000. Did you test all combinations I asked you for? Can
> > you provide detailed results? It might help to find a working combination.
All combinations you listed produced absolutely the same behaviour than
before: the open suceeds and the VolumeInfo call fails. I've tried a few
other combinations that are forbidden according to MSDN and promptly had the
open call fail, so I think I did this correctly...
While searching the net I've found some notes saying that the only classes
confirmed working everywhere didn't include FileFsFullSizeInformation. True
or not, that's what pushed me to rip it out.
http://sourceforge.net/p/openxdk/patches/_discuss/thread/4b412944/4ba5/attachment/undocumented.txt
> Btw., one other hare-brained idea would be if the Netapp FS has a
> somewhat different idea of the size of FILE_FS_FULL_SIZE_INFORMATION,
> maybe due to a misunderstanding in alignment. What you could try is
> to make full_fsi a pointer:
>
> PFILE_FS_FULL_SIZE_INFORMATION full_fsi =
> (PFILE_FS_FULL_SIZE_INFORMATION)
> alloca (2 * sizeof (FILE_FS_FULL_SIZE_INFORMATION));
>
> and then change all "full_fsi." to "full_fsi->"
Tomorrow...
> If nothing else works, try this workaround for size:
That's essentially what I've done to get it working. Not that exact patch,
so I'll try that out tomorrow as well, but that code path should produce
correct output from df no matter of what FS it finds behind the mount.
Regards,
Achim.
--
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