Subject: bug#16189: FAIL: tests/du/bind-mount-dir-cycle --- patch attached

From: Pádraig Brady <[email-masked]>
Date: Thu, 19 Dec 2013 02:35:15 +0000

On 12/19/2013 01:43 AM, Andrew Warshall wrote:
> Hi-
> 
>    I'm resending this since it didn't seem to go through the first
>    time; also, I think I have a solution.
> 
>    This test fails on my system (Linux 3.7.10 kernel, glibc-2.17);
>    apparently "du a" is giving as output :
> 
> du: WARNING: Circular directory structure.
> This almost certainly means that you have a corrupted file system.
> NOTIFY YOUR SYSTEM MANAGER.
> The following directory is part of the cycle:
>   'a/b'
> 
>    instead of the expected
> 
> du: mount point 'a/b' already traversed
> 
>    Apparently, ./configure is assuming I don't have hasmntopt(), which
>    has become an issue because lib/mountlist.c now protects hasmntopt()
>    with #defines
> 
>    I've attached a patch, but I don't have autoconf; so someone who
>    does should test it before committing it.

CC'ing gnulib as that's where this check originates.
Also CC'ing interested parties from this related thread from today:
http://lists.gnu.org/archive/html/coreutils/2013-12/msg00143.html

Thanks for the analysis and patch!

Pádraig.
diff -Naurx '*~' coreutils-8.22-orig/ChangeLog coreutils-8.22/ChangeLog
--- coreutils-8.22-orig/ChangeLog	2013-12-18 20:30:27.000000000 -0500
+++ coreutils-8.22/ChangeLog	2013-12-18 20:41:16.000000000 -0500
@@ -1,3 +1,8 @@
+2013-12-18  Andrew D Warshall  <[email-masked]>
+
+	* m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
+	1-argument getmntent() (instead of assuming absence).
+
 2013-12-13  Pádraig Brady  <[email-masked]>
 
 	version 8.22
diff -Naurx '*~' coreutils-8.22-orig/m4/ls-mntd-fs.m4 coreutils-8.22/m4/ls-mntd-fs.m4
--- coreutils-8.22-orig/m4/ls-mntd-fs.m4	2013-12-18 20:30:27.000000000 -0500
+++ coreutils-8.22/m4/ls-mntd-fs.m4	2013-12-18 20:32:22.000000000 -0500
@@ -151,6 +151,7 @@
         [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