From unknown Fri Aug 15 12:47:09 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#17833 <17833@debbugs.gnu.org> To: bug#17833 <17833@debbugs.gnu.org> Subject: Status: coreutils 8.22 df Reply-To: bug#17833 <17833@debbugs.gnu.org> Date: Fri, 15 Aug 2025 19:47:09 +0000 retitle 17833 coreutils 8.22 df reassign 17833 coreutils submitter 17833 "Gabor Z. Papp" severity 17833 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 22 12:28:32 2014 Received: (at submit) by debbugs.gnu.org; 22 Jun 2014 16:28:32 +0000 Received: from localhost ([127.0.0.1]:57241 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wykd4-0004Yh-0U for submit@debbugs.gnu.org; Sun, 22 Jun 2014 12:28:31 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58791) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WydLh-0000Dy-Cc for submit@debbugs.gnu.org; Sun, 22 Jun 2014 04:42:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WydLT-0004X5-4o for submit@debbugs.gnu.org; Sun, 22 Jun 2014 04:42:00 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:41818) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WydLT-0004X1-1Z for submit@debbugs.gnu.org; Sun, 22 Jun 2014 04:41:51 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WydLM-0000O2-SQ for bug-coreutils@gnu.org; Sun, 22 Jun 2014 04:41:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WydLG-0004TH-Mv for bug-coreutils@gnu.org; Sun, 22 Jun 2014 04:41:44 -0400 Received: from odpn1.odpn.net ([212.40.96.53]:33282) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WydLG-0004RF-FW for bug-coreutils@gnu.org; Sun, 22 Jun 2014 04:41:38 -0400 Received: from odpn1.odpn.net [212.40.96.53] by odpn1.odpn.net for bug-coreutils@gnu.org id 1WydL8-0002VJ-4O; Sun, 22 Jun 2014 10:41:30 +0200 From: "Gabor Z. Papp" To: bug-coreutils@gnu.org Subject: coreutils 8.22 df User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Date: Sun, 22 Jun 2014 10:41:29 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Authenticated: odpn1 odpn1.odpn.net e31ad0d0a9cedc9f056b4904cfffac56 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 22 Jun 2014 12:28:28 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) lo lo, seems like I discovered a problem in 8.22's df util: $ cat /etc/fstab /dev/md0 / ext3 defaults,errors=remount-ro 0 1 /dev/sda2 swap swap defaults 0 0 /dev/sdb2 swap swap defaults 0 0 /dev/md1 /var/archive ext3 defaults,errors=remount-ro 0 1 /dev/sr0 /mnt/cdrom iso9660 defaults,noauto 0 0 proc /proc proc defaults 0 0 none /proc/bus/usb usbfs defaults 0 0 $ 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 $ 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 ? 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. 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 Now ok. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 25 05:17:46 2014 Received: (at 17833) by debbugs.gnu.org; 25 Jun 2014 09:17:46 +0000 Received: from localhost ([127.0.0.1]:59947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WzjKo-0001oM-Dv for submit@debbugs.gnu.org; Wed, 25 Jun 2014 05:17:46 -0400 Received: from mail4.vodafone.ie ([213.233.128.170]:14260) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WzjKi-0001o2-RZ for 17833@debbugs.gnu.org; Wed, 25 Jun 2014 05:17:41 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApQBANySqlNtT2RN/2dsb2JhbAANTYNfxCABgSWEeAEBAQMBMgFGBQsLDQsJFg8JAwIBAgFFBg0BBwEBiDYNCKkpnxoXjnwHhEMFoXiQB2sBAQ Received: from unknown (HELO [192.168.1.79]) ([109.79.100.77]) by mail3.vodafone.ie with ESMTP; 25 Jun 2014 10:17:30 +0100 Message-ID: <53AA93AA.6080705@draigBrady.com> Date: Wed, 25 Jun 2014 10:17:30 +0100 From: =?ISO-8859-1?Q?P=E1draig_Brady?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: "Gabor Z. Papp" Subject: Re: bug#17833: coreutils 8.22 df References: In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 17833@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 06/22/2014 09:41 AM, Gabor Z. Papp wrote: > lo lo, > > seems like I discovered a problem in 8.22's df util: > > $ cat /etc/fstab > /dev/md0 / ext3 defaults,errors=remount-ro 0 1 > /dev/sda2 swap swap defaults 0 0 > /dev/sdb2 swap swap defaults 0 0 > /dev/md1 /var/archive ext3 defaults,errors=remount-ro 0 1 > /dev/sr0 /mnt/cdrom iso9660 defaults,noauto 0 0 > > proc /proc proc defaults 0 0 > none /proc/bus/usb usbfs defaults 0 0 > > $ 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? That's the normal case on modern Linux distros. > $ 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. > 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. 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. thanks, Pįdraig. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 25 08:24:18 2014 Received: (at 17833) by debbugs.gnu.org; 25 Jun 2014 12:24:18 +0000 Received: from localhost ([127.0.0.1]:60043 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WzmFK-0001PK-0p for submit@debbugs.gnu.org; Wed, 25 Jun 2014 08:24:18 -0400 Received: from odpn1.odpn.net ([212.40.96.53]:34380) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WzmFE-0001P0-Ek for 17833@debbugs.gnu.org; Wed, 25 Jun 2014 08:24:12 -0400 Received: from odpn1.odpn.net [212.40.96.53] by odpn1.odpn.net id 1WzmFB-0005nQ-A7; Wed, 25 Jun 2014 14:24:05 +0200 From: "Gabor Z. Papp" To: =?utf-8?Q?P=C3=A1draig?= Brady Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Date: Wed, 25 Jun 2014 14:24:04 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Authenticated: odpn1 odpn1.odpn.net e31ad0d0a9cedc9f056b4904cfffac56 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 17833@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) * PĆ”draig Brady : | > $ 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 From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 08 13:29:10 2014 Received: (at 17833) by debbugs.gnu.org; 8 Jul 2014 17:29:10 +0000 Received: from localhost ([127.0.0.1]:47197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X4ZCU-0002LG-K8 for submit@debbugs.gnu.org; Tue, 08 Jul 2014 13:29:10 -0400 Received: from mail6.vodafone.ie ([213.233.128.184]:35902) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X4ZCO-0002Kf-64 for 17833@debbugs.gnu.org; Tue, 08 Jul 2014 13:29:04 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApUBAMApvFNtTNyG/2dsb2JhbAANTINgg0m8Hoc/AYEuhHgBAQEEI1YQCw0EAwECAQkWCwICCQMCAQIBPQgGDQEFAgEBiEMIrXp3mUEXjzERB4J3gUwFkiGBQ45KkBhrAQE Received: from unknown (HELO [192.168.1.79]) ([109.76.220.134]) by mail3.vodafone.ie with ESMTP; 08 Jul 2014 18:28:52 +0100 Message-ID: <53BC2A53.2050204@draigBrady.com> Date: Tue, 08 Jul 2014 18:28:51 +0100 From: =?UTF-8?B?UMOhZHJhaWcgQnJhZHk=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: "Gabor Z. Papp" Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: multipart/mixed; boundary="------------090209080006090602020301" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 17833@debbugs.gnu.org, bug-gnulib X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) This is a multi-part message in MIME format. --------------090209080006090602020301 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 06/25/2014 01:24 PM, Gabor Z. Papp wrote: > * PĆ”draig Brady : > > | > $ 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. The missing entry is due to the bind mounts being classified as "dummy" devices. There is code in gnulib to explicitly avoid that for bind mounts, however that was negated with this change: http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=62bb7a8b Now that change is correct in isolation, but when combined with the incomplete original change, it triggered the issue. The attached patch should fix this up. > > | > 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. That's something we could still do in addition in coreutils. thanks, PĆ”draig. --------------090209080006090602020301 Content-Type: text/x-patch; name="gnulib-hasmntopt.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="gnulib-hasmntopt.patch" >From cbf9cb454f76c64088989bd246f3e5f73256329c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Tue, 8 Jul 2014 18:17:03 +0100 Subject: [PATCH] mountlist: don't treat bind mounts as dummy mounts This was originally implemented with commit 613bcb62, however that change failed to check for hasmntopt(). Then a subsequent commit 62bb7a8b caused hasmntopt() to be replaced on most platforms. * m4/ls-mntd-fs.m4: Check for hasmntopt() in the MOUNTED_GETMNTENT1 case also. --- ChangeLog | 6 ++++++ m4/ls-mntd-fs.m4 | 1 + 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/ChangeLog b/ChangeLog index 81e800f..231558f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-07-08 PĆ”draig Brady + + mountlist: don't treat bind mounts as dummy mounts + * m4/ls-mntd-fs.m4: Check for hasmntopt() in the MOUNTED_GETMNTENT1 + case also. + 2014-07-07 Eli Zaretskii Paul Eggert diff --git a/m4/ls-mntd-fs.m4 b/m4/ls-mntd-fs.m4 index a5e169b..563ed71 100644 --- a/m4/ls-mntd-fs.m4 +++ b/m4/ls-mntd-fs.m4 @@ -151,6 +151,7 @@ if test $ac_cv_func_getmntent = yes; then [Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes a single argument. (4.3BSD, SunOS, HP-UX, Dynix, Irix)]) + AC_CHECK_FUNCS([hasmntopt]) fi fi -- 1.7.7.6 --------------090209080006090602020301-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 09 05:19:00 2014 Received: (at 17833) by debbugs.gnu.org; 9 Jul 2014 09:19:00 +0000 Received: from localhost ([127.0.0.1]:47535 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X4o1j-0002LV-CA for submit@debbugs.gnu.org; Wed, 09 Jul 2014 05:19:00 -0400 Received: from mail2.vodafone.ie ([213.233.128.44]:57549) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X4o1g-0002LC-3a for 17833@debbugs.gnu.org; Wed, 09 Jul 2014 05:18:57 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApUBAPEHvVNtTa8s/2dsb2JhbAANTINgg0m8QYc/AYEnhHgBAQEEI1YQCw0EAwECAQkWCwICCQMCAQIBPQgGDQEFAgEBiEMIrVh3mXkXjzERB4J3gUwFkiGBQ45KkBhrAQE Received: from unknown (HELO [192.168.1.79]) ([109.77.175.44]) by mail2.vodafone.ie with ESMTP; 09 Jul 2014 10:18:48 +0100 Message-ID: <53BD08F8.5040007@draigBrady.com> Date: Wed, 09 Jul 2014 10:18:48 +0100 From: =?UTF-8?B?UMOhZHJhaWcgQnJhZHk=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: "Gabor Z. Papp" Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: multipart/mixed; boundary="------------070707040303070608090100" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 17833@debbugs.gnu.org, bug-gnulib X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) This is a multi-part message in MIME format. --------------070707040303070608090100 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apologies for resend. GNU mailers were having issues yesterday... On 06/25/2014 01:24 PM, Gabor Z. Papp wrote: > * PĆ”draig Brady : > > | > $ 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. The missing entry is due to the bind mounts being classified as "dummy" devices. There is code in gnulib to explicitly avoid that for bind mounts, however that was negated with this change: http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=62bb7a8b Now that change is correct in isolation, but when combined with the incomplete original change, it triggered the issue. The attached patch should fix this up. > > | > 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. That's something we could still do in addition in coreutils. thanks, PĆ”draig. --------------070707040303070608090100 Content-Type: text/x-patch; name="gnulib-hasmntopt.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="gnulib-hasmntopt.patch" >From cbf9cb454f76c64088989bd246f3e5f73256329c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Tue, 8 Jul 2014 18:17:03 +0100 Subject: [PATCH] mountlist: don't treat bind mounts as dummy mounts This was originally implemented with commit 613bcb62, however that change failed to check for hasmntopt(). Then a subsequent commit 62bb7a8b caused hasmntopt() to be replaced on most platforms. * m4/ls-mntd-fs.m4: Check for hasmntopt() in the MOUNTED_GETMNTENT1 case also. --- ChangeLog | 6 ++++++ m4/ls-mntd-fs.m4 | 1 + 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/ChangeLog b/ChangeLog index 81e800f..231558f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-07-08 PĆ”draig Brady + + mountlist: don't treat bind mounts as dummy mounts + * m4/ls-mntd-fs.m4: Check for hasmntopt() in the MOUNTED_GETMNTENT1 + case also. + 2014-07-07 Eli Zaretskii Paul Eggert diff --git a/m4/ls-mntd-fs.m4 b/m4/ls-mntd-fs.m4 index a5e169b..563ed71 100644 --- a/m4/ls-mntd-fs.m4 +++ b/m4/ls-mntd-fs.m4 @@ -151,6 +151,7 @@ if test $ac_cv_func_getmntent = yes; then [Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes a single argument. (4.3BSD, SunOS, HP-UX, Dynix, Irix)]) + AC_CHECK_FUNCS([hasmntopt]) fi fi -- 1.7.7.6 --------------070707040303070608090100-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 09 06:06:36 2014 Received: (at 17833) by debbugs.gnu.org; 9 Jul 2014 10:06:37 +0000 Received: from localhost ([127.0.0.1]:47573 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X4oln-0003oU-AS for submit@debbugs.gnu.org; Wed, 09 Jul 2014 06:06:36 -0400 Received: from mail2.vodafone.ie ([213.233.128.44]:28918) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X4oll-0003oD-Hl; Wed, 09 Jul 2014 06:06:34 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqkCAKQTvVNtTa8s/2dsb2JhbAANTINgU4J2vEGHPwGBJ4R4AQEBBCMPAUYQCw0LAgIFFgsCAgkDAgECAUUGDQEFAgEBiEMDBa1Zd5l8F4EsjhYHgneBTAEEnD6FcIZDiVVrAQE Received: from unknown (HELO [192.168.1.79]) ([109.77.175.44]) by mail2.vodafone.ie with ESMTP; 09 Jul 2014 11:06:14 +0100 Message-ID: <53BD1415.6010709@draigBrady.com> Date: Wed, 09 Jul 2014 11:06:13 +0100 From: =?UTF-8?B?UMOhZHJhaWcgQnJhZHk=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: "Gabor Z. Papp" Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> <53BD08F8.5040007@draigBrady.com> In-Reply-To: <53BD08F8.5040007@draigBrady.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 16189-done@debbugs.gnu.org, 17833@debbugs.gnu.org, Andrew D Warshall , bug-gnulib X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 07/09/2014 10:18 AM, PĆ”draig Brady wrote: > Apologies for resend. GNU mailers were having issues yesterday... > > On 06/25/2014 01:24 PM, Gabor Z. Papp wrote: >> * PĆ”draig Brady : >> >> | > $ 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. > > The missing entry is due to the bind mounts being classified as "dummy" devices. > There is code in gnulib to explicitly avoid that for bind mounts, > however that was negated with this change: > http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=62bb7a8b > Now that change is correct in isolation, but when combined > with the incomplete original change, it triggered the issue. > The attached patch should fix this up. Actually this was the cause of another bug wrt bind mounts in du. Andrew had identified the issue independently, so I'm applying this in this name now and marking http://bugs.gnu.org/16189 as done thanks, PĆ”draig. From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 10 19:28:49 2014 Received: (at 17833-done) by debbugs.gnu.org; 10 Jul 2014 23:28:49 +0000 Received: from localhost ([127.0.0.1]:52677 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5Nlf-0005qd-SQ for submit@debbugs.gnu.org; Thu, 10 Jul 2014 19:28:48 -0400 Received: from mail2.vodafone.ie ([213.233.128.44]:51563) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5Nlc-0005qN-Cf for 17833-done@debbugs.gnu.org; Thu, 10 Jul 2014 19:28:45 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqUCADQgv1NtTXdY/2dsb2JhbAANTINgU4J2vgCHQAGBIIR4AQEBBCMEUhALDQQDAQIBCRYLAgIJAwIBAgE9CAYNAQUCAQEWBIgpAwWrf3eZKhePMxEHgneBTAWSKYFFiFqFcIZMiVVrAQE Received: from unknown (HELO [192.168.1.79]) ([109.77.119.88]) by mail2.vodafone.ie with ESMTP; 11 Jul 2014 00:28:34 +0100 Message-ID: <53BF21A2.9060502@draigBrady.com> Date: Fri, 11 Jul 2014 00:28:34 +0100 From: =?UTF-8?B?UMOhZHJhaWcgQnJhZHk=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: "Gabor Z. Papp" Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> <53BC2A53.2050204@draigBrady.com> In-Reply-To: <53BC2A53.2050204@draigBrady.com> X-Enigmail-Version: 1.6 Content-Type: multipart/mixed; boundary="------------060505030008030504070707" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833-done Cc: 17833-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) This is a multi-part message in MIME format. --------------060505030008030504070707 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 07/08/2014 06:28 PM, PĆ”draig Brady wrote: > On 06/25/2014 01:24 PM, Gabor Z. Papp wrote: >> * PĆ”draig Brady : >> >> | > $ 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. > > The missing entry is due to the bind mounts being classified as "dummy" devices. > There is code in gnulib to explicitly avoid that for bind mounts, > however that was negated with this change: > http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=62bb7a8b > Now that change is correct in isolation, but when combined > with the incomplete original change, it triggered the issue. > The attached patch should fix this up. > >> >> | > 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. > > That's something we could still do in addition in coreutils. The attached should handle this by giving precedence to displaying real device nodes. thanks, PĆ”draig. --------------060505030008030504070707 Content-Type: text/x-patch; name="df-real-devices.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="df-real-devices.patch" >From 840e7afb6d7d499d52aaac0f9d34cb90208b2183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Thu, 10 Jul 2014 23:59:35 +0100 Subject: [PATCH] df: give precedence to real device nodes This is significant when /etc/mtab is a real file rather than a symlink to /proc/mounts, in which case the bind mounted dir will be listed as the source "device" rather than the real base device. Therefore we stat the device node, which should be local and a relatively cheap operation, and give precedence to real device nodes. For example given this setup: truncate -s10M bind.img mkfs -F bind.img mount bind.img /var/archive/ mkdir -p /var/archive/home mkdir -p /t/home mount --bind /var/archive/home/ /t/home/ on an older system without /proc/mounts we would have displayed: Filesystem Mounted on /var/archive/home/ /t/home but we now display: Filesystem Mounted on /dev/loop0 /var/archive Note on a newer system using /proc/mounts we display: Filesystem Mounted on /dev/loop0 /t/home * src/df.c (filter_mount_list): stat() the device node for each mount entry and use that to give precedence to real device nodes. * NEWS: Mention the bug fix. Fixes http://bugs.gnu.org/17833 --- NEWS | 5 +++++ src/df.c | 35 ++++++++++++++++++++++++----------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/NEWS b/NEWS index 4e90b79..e942fe8 100644 --- a/NEWS +++ b/NEWS @@ -51,6 +51,11 @@ GNU coreutils NEWS -*- outline -*- than error messages or values for the wrong file system. [These bugs were present in "the beginning".] + df now give precedence to displaying real device nodes in the presence of + bind mounts, on systems where the base device is not listed for all entries + in the mount list. + [bug introduced in coreutils-8.21] + du now silently ignores directory cycles introduced with bind mounts. Previously it would issue a warning and exit with a failure status. [bug introduced in coreutils-8.1] diff --git a/src/df.c b/src/df.c index 063cabf..46aeef9 100644 --- a/src/df.c +++ b/src/df.c @@ -48,6 +48,7 @@ static struct devlist { dev_t dev_num; + bool real_dev; struct mount_entry *me; struct devlist *next; } *device_list; @@ -618,35 +619,46 @@ filter_mount_list (bool devices_only) /* Sort all 'wanted' entries into the list device_list. */ for (me = mount_list; me;) { - struct stat buf; + struct stat mnt_buf; struct devlist *devlist; struct mount_entry *discard_me = NULL; + bool real_dev = false; /* TODO: On Linux we might avoid this stat() and another in get_dev() by using the device IDs available from /proc/self/mountinfo. read_file_system_list() could populate me_dev from those for efficiency and accuracy. */ - if (-1 == stat (me->me_mountdir, &buf)) + if (-1 == stat (me->me_mountdir, &mnt_buf)) { /* Stat failed - add ME to be able to complain about it later. */ - buf.st_dev = me->me_dev; + mnt_buf.st_dev = me->me_dev; } else { + /* when /etc/mtab is not linked to /proc/mounts, + then in the presence of bind mounts, the source will + be the bind mounted directory, rather than the base device. + In this case we want to give precedence to the base device. */ + struct stat sb; + real_dev = (! me->me_dummy + && stat (me->me_devname, &sb) == 0 + && (S_ISBLK (sb.st_mode) || S_ISCHR (sb.st_mode))); + /* If we've already seen this device... */ for (devlist = device_list; devlist; devlist = devlist->next) - if (devlist->dev_num == buf.st_dev) + if (devlist->dev_num == mnt_buf.st_dev) break; if (devlist) { /* ...let the shorter mountdir win. */ - if ((strchr (me->me_devname, '/') - && ! strchr (devlist->me->me_devname, '/')) - || (strlen (devlist->me->me_mountdir) - > strlen (me->me_mountdir)) - /* or one overmounted on a different device. */ - || ! STREQ (devlist->me->me_devname, me->me_devname)) + if (real_dev >= devlist->real_dev + && ((strchr (me->me_devname, '/') + && ! strchr (devlist->me->me_devname, '/')) + || (strlen (devlist->me->me_mountdir) + > strlen (me->me_mountdir)) + /* or one overmounted on a different device. */ + || ! STREQ (devlist->me->me_devname, me->me_devname))) { /* Discard mount entry for existing device. */ discard_me = devlist->me; @@ -672,7 +684,8 @@ filter_mount_list (bool devices_only) /* Add the device number to the global list devlist. */ devlist = xmalloc (sizeof *devlist); devlist->me = me; - devlist->dev_num = buf.st_dev; + devlist->dev_num = mnt_buf.st_dev; + devlist->real_dev = real_dev; devlist->next = device_list; device_list = devlist; -- 1.7.7.6 --------------060505030008030504070707-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 10 20:21:04 2014 Received: (at 17833) by debbugs.gnu.org; 11 Jul 2014 00:21:04 +0000 Received: from localhost ([127.0.0.1]:52698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5OaG-0007R5-1W for submit@debbugs.gnu.org; Thu, 10 Jul 2014 20:21:04 -0400 Received: from mout.kundenserver.de ([212.227.126.131]:65341) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5OaD-0007QN-4D for 17833@debbugs.gnu.org; Thu, 10 Jul 2014 20:21:02 -0400 Received: from [192.168.1.10] (p5084F953.dip0.t-ipconnect.de [80.132.249.83]) by mrelayeu.kundenserver.de (node=mreue001) with ESMTP (Nemesis) id 0MaRL6-1XKr1Z2gZs-00Jv1G; Fri, 11 Jul 2014 02:20:29 +0200 Message-ID: <53BF2DCD.6050904@bernhard-voelker.de> Date: Fri, 11 Jul 2014 02:20:29 +0200 From: Bernhard Voelker User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: 17833@debbugs.gnu.org, P@draigBrady.com, gzp@papp.hu Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> <53BC2A53.2050204@draigBrady.com> <53BF21A2.9060502@draigBrady.com> In-Reply-To: <53BF21A2.9060502@draigBrady.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Provags-ID: V02:K0:8RTcM2aEWedcjBcJ/t7h1JSFy9HKUYjBAW2CCNypFHv Z6PDdNKUaNC9aIrfcZ15wbCU5t6NF9vwmfWvCCQCUvJm7W5+u+ kAdUZSrPM6EZLz3HELO9wNBUBOgrtDeG7INVzvYT6WguJafZ5F kw1CaPNoiV4VaxH7QpVgxfQ5f5Yu3y06LTvlnxxaV0gLZv9FZg aZtQABsMA5D4mFMZYVC3l4Lcgp3bYZjW6jda1DFB+3L+V0xkT1 zEsqWTVXUkgTvrUnTani+l3mbghT0q7Z92SYbGWRZGG4eSZ7bZ gIYpVE7cMAkzD8VXVzUyJfkLWNXVF+I+4VC0Ebf309ojEwYMEQ ZEJFUUxyOT6euWihdp9Xn1JtF3bpiwK2yzQWjEJG8 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 07/11/2014 01:28 AM, PĆ”draig Brady wrote: > Subject: [PATCH] df: give precedence to real device nodes > > This is significant when /etc/mtab is a real file > rather than a symlink to /proc/mounts, [...] In the days we almost start thinking about to switch to /proc/self/mountinfo for df like mount/util-linux has done long time ago, I'm not sure if we should support such old (or broken?) systems. Presumably the version of mount is also quite old on such a system, and now we would add complexity to current df to work around the problems of such old mount? After all, it's just one stat() more, so I'm 50:50. > diff --git a/src/df.c b/src/df.c > index 063cabf..46aeef9 100644 > --- a/src/df.c > +++ b/src/df.c > @@ -48,6 +48,7 @@ > static struct devlist > { > dev_t dev_num; > + bool real_dev; > struct mount_entry *me; > struct devlist *next; > } *device_list; > @@ -618,35 +619,46 @@ filter_mount_list (bool devices_only) > /* Sort all 'wanted' entries into the list device_list. */ > for (me = mount_list; me;) > { > - struct stat buf; > + struct stat mnt_buf; > struct devlist *devlist; > struct mount_entry *discard_me = NULL; > + bool real_dev = false; > > /* TODO: On Linux we might avoid this stat() and another in get_dev() > by using the device IDs available from /proc/self/mountinfo. > read_file_system_list() could populate me_dev from those > for efficiency and accuracy. */ > - if (-1 == stat (me->me_mountdir, &buf)) > + if (-1 == stat (me->me_mountdir, &mnt_buf)) > { > /* Stat failed - add ME to be able to complain about it later. */ > - buf.st_dev = me->me_dev; > + mnt_buf.st_dev = me->me_dev; > } > else > { > + /* when /etc/mtab is not linked to /proc/mounts, > + then in the presence of bind mounts, the source will > + be the bind mounted directory, rather than the base device. > + In this case we want to give precedence to the base device. */ > + struct stat sb; > + real_dev = (! me->me_dummy > + && stat (me->me_devname, &sb) == 0 > + && (S_ISBLK (sb.st_mode) || S_ISCHR (sb.st_mode))); > + > /* If we've already seen this device... */ > for (devlist = device_list; devlist; devlist = devlist->next) > - if (devlist->dev_num == buf.st_dev) > + if (devlist->dev_num == mnt_buf.st_dev) > break; > > if (devlist) > { > /* ...let the shorter mountdir win. */ > - if ((strchr (me->me_devname, '/') > - && ! strchr (devlist->me->me_devname, '/')) > - || (strlen (devlist->me->me_mountdir) > - > strlen (me->me_mountdir)) > - /* or one overmounted on a different device. */ > - || ! STREQ (devlist->me->me_devname, me->me_devname)) > + if (real_dev >= devlist->real_dev > + && ((strchr (me->me_devname, '/') > + && ! strchr (devlist->me->me_devname, '/')) > + || (strlen (devlist->me->me_mountdir) > + > strlen (me->me_mountdir)) > + /* or one overmounted on a different device. */ > + || ! STREQ (devlist->me->me_devname, me->me_devname))) Wow, I never tried to use >= operator on a bool type, but it's - although IMO not very readable - obviously permitted and working. > { > /* Discard mount entry for existing device. */ > discard_me = devlist->me; > @@ -672,7 +684,8 @@ filter_mount_list (bool devices_only) > /* Add the device number to the global list devlist. */ > devlist = xmalloc (sizeof *devlist); > devlist->me = me; > - devlist->dev_num = buf.st_dev; > + devlist->dev_num = mnt_buf.st_dev; > + devlist->real_dev = real_dev; > devlist->next = device_list; > device_list = devlist; > > -- 1.7.7.6 With all the recent patches it seems like the upcoming refactoring of df.c could get some hard work ... or fun (depending on how one may want to put it). ;-) Thanks & have a nice day, Berny From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 11 04:33:10 2014 Received: (at 17833) by debbugs.gnu.org; 11 Jul 2014 08:33:10 +0000 Received: from localhost ([127.0.0.1]:52905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5WGO-0005xq-Qe for submit@debbugs.gnu.org; Fri, 11 Jul 2014 04:33:09 -0400 Received: from mail5.vodafone.ie ([213.233.128.176]:1881) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5WGH-0005xE-Jq for 17833@debbugs.gnu.org; Fri, 11 Jul 2014 04:33:03 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApUBAJigv1NtTEBb/2dsb2JhbAANTIcrwi6DFQGBIYR4AQEBBCMPAUYQCw0BCQECAgUWCwICCQMCAQIBPQgGDQEHAQGIQ6xdd5kEF4EsjVFJB4J3gUwBBKJAkCWBbg Received: from unknown (HELO [192.168.1.79]) ([109.76.64.91]) by mail3.vodafone.ie with ESMTP; 11 Jul 2014 09:32:50 +0100 Message-ID: <53BFA132.7030702@draigBrady.com> Date: Fri, 11 Jul 2014 09:32:50 +0100 From: =?UTF-8?B?UMOhZHJhaWcgQnJhZHk=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: Bernhard Voelker Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> <53BC2A53.2050204@draigBrady.com> <53BF21A2.9060502@draigBrady.com> <53BF2DCD.6050904@bernhard-voelker.de> In-Reply-To: <53BF2DCD.6050904@bernhard-voelker.de> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 17833@debbugs.gnu.org, gzp@papp.hu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 07/11/2014 01:20 AM, Bernhard Voelker wrote: > On 07/11/2014 01:28 AM, PĆ”draig Brady wrote: >> Subject: [PATCH] df: give precedence to real device nodes >> >> This is significant when /etc/mtab is a real file >> rather than a symlink to /proc/mounts, [...] > > In the days we almost start thinking about to switch to > /proc/self/mountinfo for df like mount/util-linux has done long > time ago, I'm not sure if we should support such old (or broken?) > systems. > Presumably the version of mount is also quite old on such a system, > and now we would add complexity to current df to work around the > problems of such old mount? > After all, it's just one stat() more, so I'm 50:50. Fair point. Also there is a bigger issue with this. Consider a local mount point, which is then eclipsed with an NFS mount for example. With this patch we'd ignore the NFS mount, which is incorrect. Given we already display the correct storage sizes, and this is only on older systems not using /proc/mounts, I'm leaning towards not handling this particular edge case. thanks, PĆ”draig. From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 11 04:39:54 2014 Received: (at 17833) by debbugs.gnu.org; 11 Jul 2014 08:39:54 +0000 Received: from localhost ([127.0.0.1]:52911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5WMz-0006Bo-NI for submit@debbugs.gnu.org; Fri, 11 Jul 2014 04:39:54 -0400 Received: from odpn1.odpn.net ([212.40.96.53]:48760) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5WMw-0006BZ-B7 for 17833@debbugs.gnu.org; Fri, 11 Jul 2014 04:39:51 -0400 Received: from odpn1.odpn.net [212.40.96.53] by odpn1.odpn.net id 1X5WMt-0003cT-Od; Fri, 11 Jul 2014 10:39:47 +0200 From: "Gabor Z. Papp" To: =?utf-8?Q?P=C3=A1draig?= Brady Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> <53BC2A53.2050204@draigBrady.com> <53BF21A2.9060502@draigBrady.com> <53BF2DCD.6050904@bernhard-voelker.de> <53BFA132.7030702@draigBrady.com> User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Date: Fri, 11 Jul 2014 10:39:46 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Authenticated: odpn1 odpn1.odpn.net e31ad0d0a9cedc9f056b4904cfffac56 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 17833@debbugs.gnu.org, Bernhard Voelker X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) * PĆ”draig Brady : | > Presumably the version of mount is also quite old on such a system, | > and now we would add complexity to current df to work around the | > problems of such old mount? Lets clear this. $ uname -a Linux host 3.4.94 #1 SMP Sun Jun 22 09:35:43 CEST 2014 i686 GNU/Linux $ /lib/libc.so.6 | grep release GNU C Library (GNU libc) stable release version 2.19, by Roland McGrath et al. $ mount --version mount from util-linux 2.24.1 (libmount 2.24.0: debug, assert) So is this an old system? I'm confused whats the problem with the system. $ ls -l /etc/mtab -rw-r--r-- 1 root root 391 Jun 22 10:18 /etc/mtab $ 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 From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 11 04:44:33 2014 Received: (at 17833) by debbugs.gnu.org; 11 Jul 2014 08:44:33 +0000 Received: from localhost ([127.0.0.1]:52917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5WRQ-0006Kb-Si for submit@debbugs.gnu.org; Fri, 11 Jul 2014 04:44:33 -0400 Received: from mail5.vodafone.ie ([213.233.128.176]:16439) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5WRK-0006KG-Hx for 17833@debbugs.gnu.org; Fri, 11 Jul 2014 04:44:27 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApQBAO+iv1NtTEBb/2dsb2JhbAANTIcrxUMBgSGEeAEBAQQjDwFGEAsNCwICBSECAg8CRgYNAQUCAQGIQ6xZd5kDF4EsjhoHgneBTAEEokCQJQ Received: from unknown (HELO [192.168.1.79]) ([109.76.64.91]) by mail3.vodafone.ie with ESMTP; 11 Jul 2014 09:44:16 +0100 Message-ID: <53BFA3E0.60408@draigBrady.com> Date: Fri, 11 Jul 2014 09:44:16 +0100 From: =?UTF-8?B?UMOhZHJhaWcgQnJhZHk=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: "Gabor Z. Papp" Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> <53BC2A53.2050204@draigBrady.com> <53BF21A2.9060502@draigBrady.com> <53BF2DCD.6050904@bernhard-voelker.de> <53BFA132.7030702@draigBrady.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 17833@debbugs.gnu.org, Bernhard Voelker X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On 07/11/2014 09:39 AM, Gabor Z. Papp wrote: > * PĆ”draig Brady : > > | > Presumably the version of mount is also quite old on such a system, > | > and now we would add complexity to current df to work around the > | > problems of such old mount? > > Lets clear this. > > $ uname -a > Linux host 3.4.94 #1 SMP Sun Jun 22 09:35:43 CEST 2014 i686 GNU/Linux > > $ /lib/libc.so.6 | grep release > GNU C Library (GNU libc) stable release version 2.19, by Roland McGrath et al. > > $ mount --version > mount from util-linux 2.24.1 (libmount 2.24.0: debug, assert) > > So is this an old system? I'm confused whats the problem with the system. > > $ ls -l /etc/mtab > -rw-r--r-- 1 root root 391 Jun 22 10:18 /etc/mtab > > $ 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 It's an older setup. What distro is this? You could setup like newer systems by doing: cp /etc/mtab{,.safe} ln -nsf /proc/mounts /etc/mtab From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 11 04:59:45 2014 Received: (at 17833) by debbugs.gnu.org; 11 Jul 2014 08:59:45 +0000 Received: from localhost ([127.0.0.1]:52932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5WgC-0006la-W1 for submit@debbugs.gnu.org; Fri, 11 Jul 2014 04:59:45 -0400 Received: from odpn1.odpn.net ([212.40.96.53]:53868) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5WgA-0006lQ-Lo for 17833@debbugs.gnu.org; Fri, 11 Jul 2014 04:59:43 -0400 Received: from odpn1.odpn.net [212.40.96.53] by odpn1.odpn.net id 1X5Wg9-0003m1-Mr; Fri, 11 Jul 2014 10:59:41 +0200 From: "Gabor Z. Papp" To: =?utf-8?Q?P=C3=A1draig?= Brady Subject: Re: bug#17833: coreutils 8.22 df References: <53AA93AA.6080705@draigBrady.com> <53BC2A53.2050204@draigBrady.com> <53BF21A2.9060502@draigBrady.com> <53BF2DCD.6050904@bernhard-voelker.de> <53BFA132.7030702@draigBrady.com> <53BFA3E0.60408@draigBrady.com> User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Date: Fri, 11 Jul 2014 10:59:41 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Authenticated: odpn1 odpn1.odpn.net e31ad0d0a9cedc9f056b4904cfffac56 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17833 Cc: 17833@debbugs.gnu.org, Bernhard Voelker X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) * PĆ”draig Brady : | > $ ls -l /etc/mtab | > -rw-r--r-- 1 root root 391 Jun 22 10:18 /etc/mtab | > | > $ 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 | It's an older setup. What distro is this? Nope. | You could setup like newer systems by doing: | cp /etc/mtab{,.safe} | ln -nsf /proc/mounts /etc/mtab manual says: 'but some information is lost that way, and in particular using the "user" option will fail.' From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 11 12:34:40 2014 Received: (at 17833) by debbugs.gnu.org; 11 Jul 2014 16:34:40 +0000 Received: from localhost ([127.0.0.1]:53666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5dmO-0006LN-2F for submit@debbugs.gnu.org; Fri, 11 Jul 2014 12:34:40 -0400 Received: from mail-wi0-f176.google.com ([209.85.212.176]:46305) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X5dmG-0006Kz-Oa for 17833@debbugs.gnu.org; Fri, 11 Jul 2014 12:34:33 -0400 Received: by mail-wi0-f176.google.com with SMTP id bs8so2411326wib.3 for <17833@debbugs.gnu.org>; Fri, 11 Jul 2014 09:34:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:content-type:content-transfer-encoding; bh=My1R6QDwhJDMKi/k897XKSZlKHmgo9hehlX62VXF0Qc=; b=uNXBc+0CcNvataIS3e+EA1NSzZiL5Nl+MtcbZGchyVxOseiQWFvxuKjF953CJo4zsQ 3XOB/OMPPnhEzGw89CrlA2T7wzYHvaMYpMSQWizp9e183cHJckPJshf9dAvLWctsDZvS IK0IM1KxCgpzyBy2o9ND73qAVIgdXmlHcIGCD1Zn6NrM717olTcSyjyKEo4EUHNpXNCK LyZO4b5NpVCDQtoaJN6Ov6KF7k6tDWB7X8wrWa7ma3AWE1re6Wr6D9CN7wwEEl9ZJhHd 6z4MoWSBzPceHj5DdJ4AzCM1c19gYRdA4AEt/pl48uW8SAZIU6rmfVSAzpiO4aLIQ9tm Tbng== X-Received: by 10.180.96.97 with SMTP id dr1mr6306823wib.19.1405096458989; Fri, 11 Jul 2014 09:34:18 -0700 (PDT) MIME-Version: 1.0 Received: by 10.194.222.168 with HTTP; Fri, 11 Jul 2014 09:33:58 -0700 (PDT) In-Reply-To: <53BF21A2.9060502@draigBrady.com> References: <53AA93AA.6080705@draigBrady.com> <53BC2A53.2050204@draigBrady.com> <53BF21A2.9060502@draigBrady.com> From: Jim Meyering Date: Fri, 11 Jul 2014 09:33:58 -0700 X-Google-Sender-Auth: XJ7JCWdsTJA4jcDwJa_5hlTkdag Message-ID: Subject: Re: bug#17833: coreutils 8.22 df To: 17833@debbugs.gnu.org, =?ISO-8859-1?Q?P=E1draig_Brady?= , gzp@papp.hu Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17833 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Thu, Jul 10, 2014 at 4:28 PM, P=E1draig Brady wrote: > The attached should handle this by giving precedence > to displaying real device nodes. Thanks. That looks fine. I'd add an "s" to that NEWS entry: s/give/gives/ + df now give precedence to displaying real device nodes in the presence o= f From unknown Fri Aug 15 12:47:09 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 09 Aug 2014 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator