GNU bug report logs - #10967
Weird 'du' behavior. Bug in coreutils-8.15 ?

Previous Next

Package: coreutils;

Reported by: Daniel Stavrovski <d <at> stavrovski.net>

Date: Thu, 8 Mar 2012 00:50:03 UTC

Severity: normal

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jim Meyering <jim <at> meyering.net>
To: Daniel Stavrovski <d <at> stavrovski.net>
Cc: 10967 <at> debbugs.gnu.org
Subject: bug#10967: Weird 'du' behavior. Bug in coreutils-8.15 ?
Date: Thu, 08 Mar 2012 09:19:41 +0100
Daniel Stavrovski wrote:
> ┌─[01:17:15]-[root <at> stavrovski]-[~]
> └─› mkdir /tmp/another_test/ && for i in $(seq 1 20); do dd if=/dev/zero
> of=/tmp/another_test/file-$i  bs=1024  count=10240 ; done
>
> ┌─[01:17:17]-[root <at> stavrovski]-[~]
> └─› ls -1 /tmp/another_test/* | wc -l
> 20
>
> ┌─[01:17:36]-[root <at> stavrovski]-[~]
> └─› du -csxh /tmp/another_test/*
> 0       total
>
> ┌─[01:28:19]-[root <at> stavrovski]-[~]
> └─› du --version
> du (GNU coreutils) 8.15

Oh!  That's a regression.
Thank you for finding/reporting it!

Here's the fix I expect to use:

diff --git a/src/du.c b/src/du.c
index e4e36df..c1c0417 100644
--- a/src/du.c
+++ b/src/du.c
@@ -443,7 +443,9 @@ process_file (FTS *fts, FTSENT *ent)
               return false;
             }

-          if (fts->fts_options & FTS_XDEV && fts->fts_dev != sb->st_dev)
+          if (fts->fts_options & FTS_XDEV
+              && FTS_ROOTLEVEL < ent->fts_level
+              && fts->fts_dev != sb->st_dev)
             excluded = true;
         }




This bug report was last modified 13 years and 137 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.