This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Why does df fail to stat CIFS shares?


On Aug 26 09:14, Achim Gratz wrote:
> Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
> > (which seems likely in this case) I would need your cooperation to run
> > debugging sessions to be able to come up with a fix.  Is that ok?
> 
> Sorry, can't do that.

Then you have to build your own Cygwin DLL for testing.

>    28 2542465 [main] df 15880 statvfs: (/home/gratz, 0x22A5E0),
> file_attributes 48
>  1404 2543869 [main] df 15880 fhandler_disk_file::fstatvfs: 0xC000000D =
> NtQueryVolumeInformationFile(\??\H:\GNU, FileFsFullSizeInformation)

The call to NtQueryVolumeInformationFile() in
fhandler_disk_file::fstatvfs() in fhandler_disk_file.cc (line 737ff),
fails with STATUS_INVALID_PARAMETER.  This is a NetApp bug, but we may
be able to workaround it.

Given the lack of complex parameters, and given that, as you claim, this
occurs on 32 and 64 bit, I can see only one (well, two) potential
culprits, the NtOpenFile calls at lines 751 and 761.  One of the
following is the problem:

- The Netapp drive chokes on the FILE_OPEN_FOR_BACKUP_INTENT open flags.
  This is *very* unlikely, though, given that it's a required flag to
  open a directory.  Nevertheless, try to set it to 0 just for testing.

- Or, Netapp expects the call to run in SYNCHRONIZE mode.  To test that,
  set the open mode to READ_CONTROL|SYNCHRONIZE.  This also requires to
  set the open flags to
  FILE_OPEN_FOR_BACKUP_INTENT|FILE_SYNCHRONOUS_IO_NONALERT

- Or, the READ_CONTROL open mode isn't enough for Netapp.  Try to open
  the file with GENERIC_READ for a start, and then, if that works, try
  to reduce the flags to something containing READ_CONTROL,
  FILE_OPEN_DATA, and FILE_OPEN_ATTRIBUTES.  Try in combination with
  SYNCHRONIZE and FILE_SYNCHRONOUS_IO_NONALERT.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgp10duS69r19.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]