Subject: Re: bug#17833: coreutils 8.22 df

From: "Gabor Z. Papp" <[email-masked]>
Date: Wed, 25 Jun 2014 14:24:04 +0200

* Pádraig Brady <[email-masked]>:

| > $ cat /etc/mtab 
| > /dev/md0 / ext3 rw,errors=remount-ro 0 0
| > proc /proc proc rw,relatime 0 0
| > sysfs /sys sysfs rw,relatime 0 0
| > tmpfs /dev tmpfs rw,relatime,size=4k,mode=755 0 0
| > devpts /dev/pts devpts rw,relatime,mode=620 0 0
| > /dev/md1 /var/archive ext3 rw,errors=remount-ro 0 1
| > /var/archive/home /home none rw,bind 0 0
| > /var/archive/spool /var/spool none rw,bind 0 0
| > /var/archive/www /var/lib/www none rw,bind 0 0

| Is this mtab really a link to /proc/mounts?

No, its a standalone file.

| That's the normal case on modern Linux distros.

Its not a modern linux. :-)

| > $ df-8.22 -h
| > Filesystem      Size  Used Avail Use% Mounted on
| > /dev/md0         21G  8.8G   11G  46% /
| > tmpfs           4.0K     0  4.0K   0% /dev
| > 
| > And where is /dev/md1 ?

| Not sure what's going on here.
| Since you've compiled various versions,
| could you replace src/df.c in your 8.22 build dir with:
| http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=blob_plain;f=src/df.c;hb=HEAD
| There have been many df changes since 8.22, so it would
| be good to check with the latest.

$ /tmp/df-git -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0         21G  9.0G   11G  47% /
tmpfs           4.0K     0  4.0K   0% /dev

Same problem, /dev/md1 missing.

| > running df from coreutils 8.21 shows different result:
| > 
| > $ df-8.21 -h
| > Filesystem         Size  Used Avail Use% Mounted on
| > /dev/md0            21G  8.8G   11G  46% /
| > tmpfs              4.0K     0  4.0K   0% /dev
| > /var/archive/home  273G  244G   29G  90% /home
| > 
| > Still weird.

| As part of the device de-duplication logic we used in 8.21
| we're favoring '/home' since it's shorter than '/var/archive'
| and thus we're using the '/var/archive/home' "device".

| > Trying with 8.20:
| > 
| > $ df-8.20 -h
| > Filesystem      Size  Used Avail Use% Mounted on
| > /dev/md0         21G  8.8G   11G  46% /
| > tmpfs           4.0K     0  4.0K   0% /dev
| > /dev/md1        273G  244G   29G  90% /var/archive

| I agree that this is the best output for your case.

Right.

| I suppose we could stat the sources in the de-duplication logic
| to favor real devices. I.E. stat '/var/archive/home' and '/dev/md1'
| in your case to favor the latter.

$ /tmp/df-git --version
df (GNU coreutils) 8.22.127-d71c1