[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] df: avoid suppressing remote mounts of separate exports
From: |
Bernhard Voelker |
Subject: |
Re: [PATCH] df: avoid suppressing remote mounts of separate exports |
Date: |
Thu, 30 Oct 2014 03:23:41 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 |
On 10/29/2014 04:40 AM, Pádraig Brady wrote:
> * src/df.c (filter_mount_list): Separate remote locations may
> have different ACLs etc. so list each even if they share
> the same remote device and thus storage.
> * NEWS: Mention the change in behavior.
>
> Reported in http://bugs.debian.org/737399
> Reported in http://bugzilla.redhat.com/920806
There've been some tickets for openSUSE in the last 2 years
regarding such suppressing, too.
TBH, I don't remember exactly why we have chosen to try to
suppress _all_ duplicate file systems - I think the whole story
began with massive bind mounting on a user's server.
And we extended the filtering to remote file system types as well.
It has become a personal point of view whether duplicate file
systems should be shown by df(1) or not. The only argument pro
suppressing is the --total option which would add up the space
several times.
Regarding your argument to remove it - the ACLs: I don't see
what they have much to do with file system statistics as df(1)
shows it ... well, in a corner case a mount point could be
ACLed so that the user cannot access the directory while the
other mount point would still be visible. Did you mean that?
After all, I don't have a strong preference, so I'm probably
okay with re-introducing duplicate remote file systems.
The 2 patches seem to be a good step in the right direction.
I didn't have a closer look at the code yet, but I was really
puzzled because no test has changed neither for the other
df-patch nor for this one. This means that the tests are not
good enough. E.g. the test skip-duplicates.sh - which uses a
faked getmntent() function via a LD_PRELOADed .so-library -
probably suffers from not also faking the stat() and statfs()
calls.
A quick look at the patch made me think about a case which
is still not handled and indeed now produces wrong output:
when a remote file system is over-mounted by a local one.
IMO the loop has to be split: first build the list of mount
entries which are 'visible' to the user (i.e., not over-mounted
nor otherwise inaccessible due to permissions etc.), and then
eliminating the duplicate - maybe only !me_remote - ones
according to shorter names etc.
WDYT?
Thanks & have a nice day,
Berny