GNU bug report logs - #19570
bug: df and bind mounts

Previous Next

Package: coreutils;

Reported by: Vladimir A. Pavlov <pv4 <at> bk.ru>

Date: Sun, 11 Jan 2015 23:54:02 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


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

From: Pádraig Brady <P <at> draigBrady.com>
To: "Vladimir A. Pavlov" <pv4 <at> bk.ru>, 19570-done <at> debbugs.gnu.org
Subject: Re: bug#19570: bug: df and bind mounts
Date: Fri, 26 Jun 2015 18:29:33 +0100
On 12/01/15 01:31, Pádraig Brady wrote:
> On 11/01/15 23:36, Vladimir A. Pavlov wrote:
>> Hello,
>>
>> I have an issue with df (both in version 8.23 and in master branch).
>>
>> I have tmpfs mounted as /run . There is /run/cgs/httpd subdirectory in
>> /run (just a subdirectory, not a tmpfs or another mount). This
>> /run/cgs/httpd is bind-mounted to /usr/cgs/httpd/run.
>>
>> The current algorithm in df.c:filter_mount_list() chooses the bind
>> mountpoint since it has the leading slash in the "device" name
>> ("/run/cgs/httpd" vs "run") which is wrong in my setup.
>>
>> The similar (but not the same) issue is fixed by commit:
>> http://git.savannah.gnu.org/cgit/coreutils.git/commit/src/df.c?id=ed1a495b3ccb2665a13229ca866f2115bd768d17
>>
>> I guess the "let real devices with / in the name win" replacement branch
>> should only be applied if mountpoints are the same as well.
>>
>> Below is the data to reproduce the bug.
>>
>> === /etc/mtab (partial) ===
>> run /run tmpfs rw,noatime,nodiratime,nodev,noexec,mode=0755,size=1m 0 0
>> /run/cgs/httpd /usr/cgs/httpd/run none rw,bind 0 0
>> ======
>>
>> === Real output (git) ===
>> Filesystem      Size  Used Avail Use% Mounted on
>> /run/cgs/httpd  1.0M  8.0K 1016K   1% /usr/cgs/httpd/run
>> ======
>>
>> === Expected output (with the attached patch applied) ===
>> Filesystem      Size  Used Avail Use% Mounted on
>> run             1.0M  8.0K 1016K   1% /run
>> ======
>>
> 
> Thanks for the analysis and patch,
> Current tests pass at least with it.
> I'll analyse a little more, add tests and probably push.

df v8.24 will read /proc/self/mountinfo if available
and so won't hit this issue in practise as the
bind mount location won't be passed to, or presented by df.
I.E. the "Filesystem" for a particular device id will
not switch representations.

thanks,
Pádraig.





This bug report was last modified 10 years and 23 days ago.

Previous Next


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