GNU bug report logs -
#19238
Fully fix du circular warning on bind mounts
Previous Next
Reported by: Boris Ranto <borix60 <at> gmail.com>
Date: Mon, 1 Dec 2014 09:02:02 UTC
Severity: normal
Done: Pádraig Brady <P <at> draigBrady.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Mon, 01 Dec 2014 12:49:59 +0000
with message-id <547C63F7.20005 <at> draigBrady.com>
and subject line Re: bug#19238: Fully fix du circular warning on bind mounts
has caused the debbugs.gnu.org bug report #19238,
regarding Fully fix du circular warning on bind mounts
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
19238: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19238
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
The du circular warning can still be hit even though a file system is in
good condition. All we need to do is to get the message is to begin
traversing the file system between the bind mount source and bind mount
target directories, i.e this short script reproduces the problem:
# mkdir -p a/b/c
# mount -o bind a a/b/c
# du a/b
The problem is that in this case, the first directory that is detected
by fts as a duplicate directory is directory a/b/c/b which is not a
mount point.
The solution is to traverse the structure all the way to a/b (excluding
a/b) which is detected as the base of the cycle and look up all these
directories in the mount table.
I'm attaching the patch that fixed this problem for me.
-Boris
[0001-du-handle-sub-bind-mount-cycles-gracefully.patch (text/x-patch, attachment)]
[Message part 5 (message/rfc822, inline)]
On 01/12/14 08:54, Boris Ranto wrote:
> The du circular warning can still be hit even though a file system is in
> good condition. All we need to do is to get the message is to begin
> traversing the file system between the bind mount source and bind mount
> target directories, i.e this short script reproduces the problem:
>
> # mkdir -p a/b/c
> # mount -o bind a a/b/c
> # du a/b
>
> The problem is that in this case, the first directory that is detected
> by fts as a duplicate directory is directory a/b/c/b which is not a
> mount point.
>
> The solution is to traverse the structure all the way to a/b (excluding
> a/b) which is detected as the base of the cycle and look up all these
> directories in the mount table.
>
> I'm attaching the patch that fixed this problem for me.
Very nice. Thanks for the test!
I'll add a NEWS entry and push later.
thanks!
Pádraig
This bug report was last modified 10 years and 170 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.