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
