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 27 16:28, Achim Gratz wrote:
> 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->"

Make that:

  PFILE_FS_FULL_SIZE_INFORMATION pfull_fsi =
        (PFILE_FS_FULL_SIZE_INFORMATION)
	alloca (2 * sizeof (FILE_FS_FULL_SIZE_INFORMATION));
  FILE_FS_FULL_SIZE_INFORMATION &full_fsi = *pfull_fsi;

Then you don't have to change subsequent code.

> Tomorrow...

Ok.


Corinna

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

Attachment: pgpr4ozO6QeeZ.pgp
Description: PGP signature


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