Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <8D861ADC5B8FD211B4100008C71EA7DA04F712CD@kjsdemucshrexc1.eu.pm.com> From: "Demmer, Thomas" To: "'cygwin AT cygwin DOT com'" Subject: Re: df reports negative values on Network Shares Date: Wed, 19 Nov 2003 13:24:05 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id hAJCTbUu030163 >On Tue, Nov 18, 2003 at 07:53:19AM +0100, Demmer, Thomas wrote: >> $ df >> Filesystem 1k-blocks Used Available Use% Mounted on >> m: 307200 -73786976294741950464 7308 101% /m >> >> All the drives with the -64Z (zillion?) are on the same server subsystem, n: >> is on a different server. >> The explorer show reasonable values under Properties, e.g. 158MB used, 341MB >> free, and 500MB Capacity. >> The 500MB for do not represent a physical value, but most likely a quota >> limit. >> The values for n: are consistent with what the explorer claims. >> >> Any hints where to look further into this? > >Perhaps an strace would show something of interest. I guess you will >have to debug that situation further since not really a lot of people >have a chance to reproduce it. > >Corinna The following test case illustrates the issue #include #include #include void dump_statfs(struct statfs *sf){ printf("f_type : %8lx\n",sf->f_type); printf("f_bsize : %8ld (Opt Xfer blk size)\n",sf->f_bsize); printf("f_blocks : %8ld (total # of data blocks)\n",sf->f_blocks); printf("f_bfree : %8ld (Free blocks)\n",sf->f_bfree); printf("f_bavail : %8ld (Free blocks for user)\n",sf->f_bavail); printf("f_files : %8ld (total file nodes)\n",sf->f_files); printf("f_ffree : %8ld (total file nodes free)\n",sf->f_ffree); printf("f_fsid : %8lx\n",sf->f_fsid); printf("f_namelen: %8ld\n",sf->f_namelen); } int main(int argc, char **argv){ struct statfs fs; puts("Dumping n:"); statfs("n:/",&fs); dump_statfs(&fs); puts("Dumping m:"); statfs("m:/",&fs); dump_statfs(&fs); return 0; } n: is a drive mapping where I do not hava a quota, whereas on m: there is a quota. Output of the program: $ ./dft Dumping n: f_type : 700ff f_bsize : 4096 (Opt Xfer blk size) f_blocks : 15673319 (total # of data blocks) f_bfree : 2179299 (Free blocks) f_bavail : 2179299 (Free blocks for user) f_files : -1 (total file nodes) f_ffree : -1 (total file nodes free) f_fsid : 18327056 f_namelen: 255 Dumping m: f_type : 700ff f_bsize : 4096 (Opt Xfer blk size) f_blocks : 76800 (total # of data blocks) f_bfree : 24078118 (Free blocks) f_bavail : 1615 (Free blocks for user) f_files : -1 (total file nodes) f_ffree : -1 (total file nodes free) f_fsid : 10c12539 f_namelen: 255 Relevant output from df: m: 307200 -73786976294742204416 6460 101% /m n: 62693276 53976080 8717196 87% /cygdrive/n Apparently df gets confused when the number of data blocks is smaller than the number of free blocks, and I am now, too. I wonder if df does the right thing and this is an error of windows. FWIW, this is XP Pro 2002, SP1. Can anybody with a UNIX system and quotas check what the program prints out there? Best regards / Mit freundlichen Grüssen, Thomas Demmer Kraft Foods R&D Inc. Tel.: +49 (0)89 62738-6302 Fax: +49 (0)89 62738-86302 mailto:tdemmer AT krafteurope DOT com Thought of the day Admiration, n.: Our polite recognition of another's resemblance to ourselves. -- Ambrose Bierce, "The Devil's Dictionary" -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/