GNU bug report logs - #19238
Fully fix du circular warning on bind mounts

Previous Next

Package: coreutils;

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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19238 in the body.
You can then email your comments to 19238 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-coreutils <at> gnu.org:
bug#19238; Package coreutils. (Mon, 01 Dec 2014 09:02:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Boris Ranto <borix60 <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-coreutils <at> gnu.org. (Mon, 01 Dec 2014 09:02:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Boris Ranto <borix60 <at> gmail.com>
To: bug-coreutils <at> gnu.org
Subject: Fully fix du circular warning on bind mounts
Date: Mon, 01 Dec 2014 09:54:38 +0100
[Message part 1 (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)]

Reply sent to Pádraig Brady <P <at> draigBrady.com>:
You have taken responsibility. (Mon, 01 Dec 2014 12:51:02 GMT) Full text and rfc822 format available.

Notification sent to Boris Ranto <borix60 <at> gmail.com>:
bug acknowledged by developer. (Mon, 01 Dec 2014 12:51:02 GMT) Full text and rfc822 format available.

Message #10 received at 19238-done <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: Boris Ranto <borix60 <at> gmail.com>, 19238-done <at> debbugs.gnu.org
Subject: Re: bug#19238: Fully fix du circular warning on bind mounts
Date: Mon, 01 Dec 2014 12:49:59 +0000
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





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 30 Dec 2014 12:24:04 GMT) Full text and rfc822 format available.

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.