GNU bug report logs -
#10967
Weird 'du' behavior. Bug in coreutils-8.15 ?
Previous Next
Full log
View this message in rfc822 format
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.