Hello community,

here is the log from the commit of package coreutils for openSUSE:Factory 
checked in at 2015-01-30 06:02:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/coreutils (Old)
 and      /work/SRC/openSUSE:Factory/.coreutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "coreutils"

Changes:
--------
--- /work/SRC/openSUSE:Factory/coreutils/coreutils-testsuite.changes    
2014-11-07 14:07:12.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.coreutils.new/coreutils-testsuite.changes       
2015-01-30 06:02:38.000000000 +0100
@@ -1,0 +2,17 @@
+Mon Jan 19 23:06:22 UTC 2015 - [email protected]
+
+- Add upstream patches for df(1) from upstream, thus aligning with SLES12:
+  * df: improve mount point selection with inaccurate mount list:
+    - coreutils-df-improve-mount-point-selection.patch
+  * doc: mention that df -a includes duplicate file systems (deb#737399)
+    - coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
+  * df: ensure -a shows all remote file system entries (deb#737399)
+    - coreutils-df-show-all-remote-file-systems.patch
+  * df: only suppress remote mounts of separate exports with --total
+    (deb#737399, rh#920806, boo#866010, boo#901905)
+    - coreutils-df-total-suppress-separate-remotes.patch
+- Refresh patches:
+  * coreutils-chroot-perform-chdir-unless-skip-chdir.patch
+  * coreutils-tests-make-inotify-rotate-more-robust-and-efficient.patch
+
+-------------------------------------------------------------------
coreutils.changes: same change

New:
----
  coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
  coreutils-df-improve-mount-point-selection.patch
  coreutils-df-show-all-remote-file-systems.patch
  coreutils-df-total-suppress-separate-remotes.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ coreutils-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.aOg9s2/_old  2015-01-30 06:02:40.000000000 +0100
+++ /var/tmp/diff_new_pack.aOg9s2/_new  2015-01-30 06:02:40.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package coreutils-testsuite
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -107,6 +107,12 @@
 # Assorted fixes
 Patch113:       coreutils-misc.patch
 
+# Upstream patches for df(1) on top of v8.23, thus aligning with SLES12.
+Patch201:       coreutils-df-improve-mount-point-selection.patch
+Patch202:       coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
+Patch203:       coreutils-df-show-all-remote-file-systems.patch
+Patch204:       coreutils-df-total-suppress-separate-remotes.patch
+
 # Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
 # a glibc issue in mkstemp.
 Patch300:       coreutils-skip-some-sort-tests-on-ppc.patch
@@ -169,6 +175,11 @@
 %patch112
 %patch113
 
+%patch201
+%patch202
+%patch203
+%patch204
+
 %patch300
 
 %ifarch %ix86 x86_64 ppc ppc64

++++++ coreutils.spec ++++++
--- /var/tmp/diff_new_pack.aOg9s2/_old  2015-01-30 06:02:40.000000000 +0100
+++ /var/tmp/diff_new_pack.aOg9s2/_new  2015-01-30 06:02:40.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package coreutils
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -107,6 +107,12 @@
 # Assorted fixes
 Patch113:       coreutils-misc.patch
 
+# Upstream patches for df(1) on top of v8.23, thus aligning with SLES12.
+Patch201:       coreutils-df-improve-mount-point-selection.patch
+Patch202:       coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
+Patch203:       coreutils-df-show-all-remote-file-systems.patch
+Patch204:       coreutils-df-total-suppress-separate-remotes.patch
+
 # Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
 # a glibc issue in mkstemp.
 Patch300:       coreutils-skip-some-sort-tests-on-ppc.patch
@@ -169,6 +175,11 @@
 %patch112
 %patch113
 
+%patch201
+%patch202
+%patch203
+%patch204
+
 %patch300
 
 %ifarch %ix86 x86_64 ppc ppc64

++++++ coreutils-chroot-perform-chdir-unless-skip-chdir.patch ++++++
--- /var/tmp/diff_new_pack.aOg9s2/_old  2015-01-30 06:02:40.000000000 +0100
+++ /var/tmp/diff_new_pack.aOg9s2/_new  2015-01-30 06:02:40.000000000 +0100
@@ -76,7 +76,7 @@
 ===================================================================
 --- NEWS.orig
 +++ NEWS
-@@ -172,6 +172,19 @@ GNU coreutils NEWS
+@@ -180,6 +180,19 @@ GNU coreutils NEWS
    --format=%T now reports the file system type, and tail -f now uses inotify,
    rather than the default of issuing a warning and reverting to polling.
  
@@ -100,7 +100,7 @@
 ===================================================================
 --- doc/coreutils.texi.orig
 +++ doc/coreutils.texi
-@@ -16068,7 +16068,10 @@ On many systems, only the super-user can
+@@ -16074,7 +16074,10 @@ On many systems, only the super-user can
  some systems (e.g., FreeBSD) can be configured to allow certain regular
  users to use the @code{chroot} system call, and hence to run this program.
  Also, on Cygwin, anyone can run the @command{chroot} command, because the
@@ -112,7 +112,7 @@
  Synopses:
  
  @example
-@@ -16078,10 +16081,11 @@ chroot @var{option}
+@@ -16084,10 +16087,11 @@ chroot @var{option}
  
  Ordinarily, file names are looked up starting at the root of the
  directory structure, i.e., @file{/}.  @command{chroot} changes the root to
@@ -128,7 +128,7 @@
  @var{command} must not be a special built-in utility
  (@pxref{Special built-in utilities}).
  
-@@ -16090,6 +16094,14 @@ Options must precede operands.
+@@ -16096,6 +16100,14 @@ Options must precede operands.
  
  @table @samp
  
@@ -143,7 +143,7 @@
  @item --userspec=@var{user}[:@var{group}]
  @opindex --userspec
  By default, @var{command} is run with the same credentials
-@@ -16100,13 +16112,13 @@ If a @var{user} is specified then the su
+@@ -16106,13 +16118,13 @@ If a @var{user} is specified then the su
  are set according to the system defined list for that user,
  unless overridden with the @option{--groups} option.
  

++++++ coreutils-df-doc-df-a-includes-duplicate-file-systems.patch ++++++
Upstream patch for df(1) on top of v8.23, to be removed with v8.24.
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=097897bd2c9d

>From 097897bd2c9de5723af24b3848d6d922a862064b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <[email protected]>
Date: Mon, 27 Oct 2014 11:41:09 +0000
Subject: [PATCH] doc: mention that df -a includes duplicate file systems

* src/df.c (usage): Mention that duplicate file systems are shown
with this option, not just dummy file systems.
* doc/coreutils.texi (df invocation): For the --all option, expand
on the class of normally suppressed mount entries that it includes.

Reported in http://bugs.debian.org/737399
---
 doc/coreutils.texi |   12 ++++++++----
 src/df.c           |    4 ++--
 2 files changed, 10 insertions(+), 6 deletions(-)

Index: doc/coreutils.texi
===================================================================
--- doc/coreutils.texi.orig
+++ doc/coreutils.texi
@@ -11184,11 +11184,15 @@ The program accepts the following option
 @itemx --all
 @opindex -a
 @opindex --all
-@cindex automounter file systems
 @cindex ignore file systems
-Include in the listing dummy file systems, which
-are omitted by default.  Such file systems are typically special-purpose
-pseudo-file-systems, such as automounter entries.
+Include in the listing dummy, duplicate, or inaccessible file systems, which
+are omitted by default.  Dummy file systems are typically special purpose
+pseudo file systems such as @samp{/proc}, with no associated storage.
+Duplicate file systems are local or remote file systems that are mounted
+at separate locations in the local file hierarchy, or bind mounted locations.
+Inaccessible file systems are those which are mounted but subsequently
+over-mounted by another file system at that point, or otherwise inaccessible
+due to permissions of the mount point etc.
 
 @item -B @var{size}
 @itemx --block-size=@var{size}
Index: src/df.c
===================================================================
--- src/df.c.orig
+++ src/df.c
@@ -648,7 +648,7 @@ filter_mount_list (bool devices_only)
                       > strlen (me->me_mountdir))
                   /* let an entry overmounted on a different device win...  */
                   || (! STREQ (devlist->me->me_devname, me->me_devname)
-                      /* ... but only when matching an exsiting mount point, to
+                      /* ... but only when matching an existing mount point, to
                       avoid problematic replacement when given inaccurate mount
                       lists, seen with some chroot environments for example.  
*/
                       && STREQ (me->me_mountdir, devlist->me->me_mountdir)))
@@ -1396,7 +1396,7 @@ or all file systems by default.\n\
       /* TRANSLATORS: The thousands and decimal separators are best
          adjusted to an appropriate default for your locale.  */
       fputs (_("\
-  -a, --all             include dummy file systems\n\
+  -a, --all             include pseudo, duplicate, inaccessible file systems\n\
   -B, --block-size=SIZE  scale sizes by SIZE before printing them; e.g.,\n\
                            '-BM' prints sizes in units of 1,048,576 bytes;\n\
                            see SIZE format below\n\
++++++ coreutils-df-improve-mount-point-selection.patch ++++++
Upstream patch for df(1) on top of v8.23, to be removed with v8.24.
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=ed1a495b3ccb

>From ed1a495b3ccb2665a13229ca866f2115bd768d17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <[email protected]>
Date: Mon, 18 Aug 2014 17:59:26 +0100
Subject: [PATCH] df: improve mount point selection with inaccurate mount list

v8.23 has a test failure on Fedora rawhide build servers
in tests/df/skip-duplicate.sh.  This was due to no '/'
entry being output by df.  That was due to an inaccurate
/proc/mounts on the build environment as stat(/mnt/point)
identified all these /proc/mounts entries as having the
same device id:

  /                    rootfs
  /                    /dev/md1
  /dev                 devtmpfs
  /run                 tmpfs
  /boot                /dev/md0
  /proc/filesystems    /dev/md1

Since the device name on the right changes for a given id,
that causes the entries to be continually replaced, thus
resulting in no '/' entry.  I'm guessing this is due to
the mock environment bind mounting unneeded or sensitive
items to a dummy file on the host / (/dev/md1) though
have not looked into those details.

So rather than relying on an accurate /proc/mounts,
the attached patch takes a more conservative replacement
approach and only swaps a new device entry when the
mount point matches.  That should handle all practical
cases while also avoiding this situation.

* src/df.c (filter_mount_list): Only replace entries with
different device names when the mount point also matches.
---
 src/df.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Index: src/df.c
===================================================================
--- src/df.c.orig
+++ src/df.c
@@ -640,13 +640,18 @@ filter_mount_list (bool devices_only)
 
           if (devlist)
             {
-              /* ...let the shorter mountdir win.  */
+                  /* let "real" devices with '/' in the name win.  */
               if ((strchr (me->me_devname, '/')
                    && ! strchr (devlist->me->me_devname, '/'))
+                  /* let a shorter mountdir win.  */
                   || (strlen (devlist->me->me_mountdir)
                       > strlen (me->me_mountdir))
-                  /* or one overmounted on a different device.  */
-                  || ! STREQ (devlist->me->me_devname, me->me_devname))
+                  /* let an entry overmounted on a different device win...  */
+                  || (! STREQ (devlist->me->me_devname, me->me_devname)
+                      /* ... but only when matching an exsiting mount point, to
+                      avoid problematic replacement when given inaccurate mount
+                      lists, seen with some chroot environments for example.  
*/
+                      && STREQ (me->me_mountdir, devlist->me->me_mountdir)))
                 {
                   /* Discard mount entry for existing device.  */
                   discard_me = devlist->me;
++++++ coreutils-df-show-all-remote-file-systems.patch ++++++
Upstream patch for df(1) on top of v8.23, to be removed with v8.24.
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=3ab3c7bb24b8

>From 3ab3c7bb24b86ef2d2fede9fe26e3ee585db5411 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <[email protected]>
Date: Mon, 27 Oct 2014 23:37:08 +0000
Subject: [PATCH] df: ensure -a shows all remote file system entries

commit v8.22-125-g9d736f8 printed placeholder "-" values
for device names that didn't match the preferred device name
for a particular mount point.  However that was seen to erroneously
suppress values for aliased host names or exports, common with
remote file systems.

* src/df.c (me_for_dev): Rename from devname_for_dev() so that
we can determine the remoteness as well as the name for the
preferred mount entry.
(get_dev): Don't output place holder values when both
current and preferred mount entries are remote.

Reported in http://bugs.debian.org/737399
---
 src/df.c |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

Index: src/df.c
===================================================================
--- src/df.c.orig
+++ src/df.c
@@ -703,17 +703,17 @@ filter_mount_list (bool devices_only)
 }
 
 /* Search a mount entry list for device id DEV.
-   Return the corresponding device name if found or NULL if not.  */
+   Return the corresponding mount entry if found or NULL if not.  */
 
-static char const * _GL_ATTRIBUTE_PURE
-devname_for_dev (dev_t dev)
+static struct mount_entry const * _GL_ATTRIBUTE_PURE
+me_for_dev (dev_t dev)
 {
   struct devlist *dl = device_list;
 
   while (dl)
     {
       if (dl->dev_num == dev)
-        return dl->me->me_devname;
+        return dl->me;
       dl = dl->next;
     }
 
@@ -928,12 +928,15 @@ get_dev (char const *disk, char const *m
   else if (process_all && show_all_fs)
     {
       /* Ensure we don't output incorrect stats for over-mounted directories.
-         Discard stats when the device name doesn't match.  */
+         Discard stats when the device name doesn't match.  Though don't
+         discard when used and current mount entries are both remote due
+         to the possibility of aliased host names or exports.  */
       struct stat sb;
       if (stat (stat_file, &sb) == 0)
         {
-          char const * devname = devname_for_dev (sb.st_dev);
-          if (devname && ! STREQ (devname, disk))
+          struct mount_entry const * dev_me = me_for_dev (sb.st_dev);
+          if (dev_me && ! STREQ (dev_me->me_devname, disk)
+              && (! dev_me->me_remote || ! me_remote))
             {
               fstype = "-";
               fsu.fsu_blocksize = fsu.fsu_blocks = fsu.fsu_bfree =
++++++ coreutils-df-total-suppress-separate-remotes.patch ++++++
Upstream patch for df(1) on top of v8.23, to be removed with v8.24.
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=2e81e6224340

>From 2e81e62243409c5c574b899f52b08c000e4d99fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <[email protected]>
Date: Wed, 29 Oct 2014 02:49:17 +0000
Subject: [PATCH] df: only suppress remote mounts of separate exports with
 --total

* src/df.c (filter_mount_list): Separate remote locations are
generally explicitly mounted, so list each even if they share
the same remote device and thus storage.  However with --total
keep the suppression to give a more accurate value for the
total storage available.
(usage): Expand on the new implications of --total and move
it in the options list according to alphabetic order.
doc/coreutils.texi (df invocation): Mention that --total impacts
on deduplication of remote file systems and also move location
according to alphabetic order.
* tests/df/skip-duplicates.sh: Add remote test cases.
* NEWS: Mention the change in behavior.

Reported in http://bugs.debian.org/737399
Reported in http://bugzilla.redhat.com/920806
Reported in http://bugzilla.opensuse.org/866010
Reported in http://bugzilla.opensuse.org/901905
---
 NEWS                        |    8 ++++++++
 doc/coreutils.texi          |   28 +++++++++++++++-------------
 src/df.c                    |   41 ++++++++++++++++++++++++++++-------------
 tests/df/skip-duplicates.sh |   31 ++++++++++++++++++++++++++++---
 4 files changed, 79 insertions(+), 29 deletions(-)

Index: NEWS
===================================================================
--- NEWS.orig
+++ NEWS
@@ -1,5 +1,13 @@
 GNU coreutils NEWS                                    -*- outline -*-
 
+** Changes in behavior
+
+  df no longer suppresses separate exports of the same remote device, as
+  these are generally explicitly mounted.  The --total option does still
+  suppress duplicate remote file systems.
+  [suppression was introduced in coreutils-8.21]
+
+
 * Noteworthy changes in release 8.23 (2014-07-18) [stable]
 
 ** Bug fixes
Index: doc/coreutils.texi
===================================================================
--- doc/coreutils.texi.orig
+++ doc/coreutils.texi
@@ -11202,19 +11202,6 @@ due to permissions of the mount point et
 Scale sizes by @var{size} before printing them (@pxref{Block size}).
 For example, @option{-BG} prints sizes in units of 1,073,741,824 bytes.
 
-@item --total
-@opindex --total
-@cindex grand total of disk size, usage and available space
-Print a grand total of all arguments after all arguments have
-been processed.  This can be used to find out the total disk size, usage
-and available space of all listed devices.
-
-For the grand total line, @command{df} prints @samp{"total"} into the
-@var{source} column, and @samp{"-"} into the @var{target} column.
-If there is no @var{source} column (see @option{--output}), then
-@command{df} prints @samp{"total"} into the @var{target} column,
-if present.
-
 @optHumanReadable
 
 @item -H
@@ -11355,6 +11342,21 @@ some systems (notably SunOS), doing this
 but in general this option makes @command{df} much slower, especially when
 there are many or very busy file systems.
 
+@item --total
+@opindex --total
+@cindex grand total of disk size, usage and available space
+Print a grand total of all arguments after all arguments have
+been processed.  This can be used to find out the total disk size, usage
+and available space of all listed devices.  If no arguments are specified
+df will try harder to elide file systems insignificant to the total
+available space, by suppressing duplicate remote file systems.
+
+For the grand total line, @command{df} prints @samp{"total"} into the
+@var{source} column, and @samp{"-"} into the @var{target} column.
+If there is no @var{source} column (see @option{--output}), then
+@command{df} prints @samp{"total"} into the @var{target} column,
+if present.
+
 @item -t @var{fstype}
 @itemx --type=@var{fstype}
 @opindex -t
Index: src/df.c
===================================================================
--- src/df.c.orig
+++ src/df.c
@@ -640,18 +640,28 @@ filter_mount_list (bool devices_only)
 
           if (devlist)
             {
-                  /* let "real" devices with '/' in the name win.  */
-              if ((strchr (me->me_devname, '/')
-                   && ! strchr (devlist->me->me_devname, '/'))
-                  /* let a shorter mountdir win.  */
-                  || (strlen (devlist->me->me_mountdir)
-                      > strlen (me->me_mountdir))
-                  /* let an entry overmounted on a different device win...  */
-                  || (! STREQ (devlist->me->me_devname, me->me_devname)
-                      /* ... but only when matching an existing mount point, to
-                      avoid problematic replacement when given inaccurate mount
-                      lists, seen with some chroot environments for example.  
*/
-                      && STREQ (me->me_mountdir, devlist->me->me_mountdir)))
+              if (! print_grand_total && me->me_remote && 
devlist->me->me_remote
+                  && ! STREQ (devlist->me->me_devname, me->me_devname))
+                {
+                  /* Don't discard remote entries with different locations,
+                     as these are more likely to be explicitly mounted.
+                     However avoid this when producing a total to give
+                     a more accurate value in that case.  */
+                }
+              else if ((strchr (me->me_devname, '/')
+                       /* let "real" devices with '/' in the name win.  */
+                        && ! strchr (devlist->me->me_devname, '/'))
+                       /* let a shorter mountdir win.  */
+                       || (strlen (devlist->me->me_mountdir)
+                           > strlen (me->me_mountdir))
+                       /* let an entry overmounted on a new device win...  */
+                       || (! STREQ (devlist->me->me_devname, me->me_devname)
+                           /* ... but only when matching an existing mnt point,
+                              to avoid problematic replacement when given
+                              inaccurate mount lists, seen with some chroot
+                              environments for example.  */
+                           && STREQ (me->me_mountdir,
+                                     devlist->me->me_mountdir)))
                 {
                   /* Discard mount entry for existing device.  */
                   discard_me = devlist->me;
@@ -1403,7 +1413,6 @@ or all file systems by default.\n\
   -B, --block-size=SIZE  scale sizes by SIZE before printing them; e.g.,\n\
                            '-BM' prints sizes in units of 1,048,576 bytes;\n\
                            see SIZE format below\n\
-      --total           produce a grand total\n\
   -h, --human-readable  print sizes in powers of 1024 (e.g., 1023M)\n\
   -H, --si              print sizes in powers of 1000 (e.g., 1.1G)\n\
 "), stdout);
@@ -1419,6 +1428,12 @@ or all file systems by default.\n\
                                or print all fields if FIELD_LIST is omitted.\n\
   -P, --portability     use the POSIX output format\n\
       --sync            invoke sync before getting usage info\n\
+"), stdout);
+      fputs (_("\
+      --total           elide all entries insignificant to available space,\n\
+                          and produce a grand total\n\
+"), stdout);
+      fputs (_("\
   -t, --type=TYPE       limit listing to file systems of type TYPE\n\
   -T, --print-type      print file system type\n\
   -x, --exclude-type=TYPE   limit listing to file systems not of type TYPE\n\
Index: tests/df/skip-duplicates.sh
===================================================================
--- tests/df/skip-duplicates.sh.orig
+++ tests/df/skip-duplicates.sh
@@ -26,7 +26,12 @@ require_gcc_shared_
 df --local || skip_ "df fails"
 
 export CU_NONROOT_FS=$(df --local --output=target 2>&1 | grep /. | head -n1)
-test -z "$CU_NONROOT_FS" && unique_entries=1 || unique_entries=2
+export CU_REMOTE_FS=$(df --local --output=target 2>&1 | grep /. |
+                      tail -n+2 | head -n1)
+
+unique_entries=1
+test -z "$CU_NONROOT_FS" || unique_entries=$(expr $unique_entries + 1)
+test -z "$CU_REMOTE_FS" || unique_entries=$(expr $unique_entries + 2)
 
 grep '^#define HAVE_MNTENT_H 1' $CONFIG_HEADER > /dev/null \
       || skip_ "no mntent.h available to confirm the interface"
@@ -46,6 +51,7 @@ cat > k.c <<'EOF' || framework_failure_
 struct mntent *getmntent (FILE *fp)
 {
   static char *nonroot_fs;
+  static char *remote_fs;
   static int done;
 
   /* Prove that LD_PRELOAD works. */
@@ -63,6 +69,9 @@ struct mntent *getmntent (FILE *fp)
     {.mnt_fsname="virtfs",  .mnt_dir="/NONROOT", .mnt_type="fstype1"},
     {.mnt_fsname="virtfs2", .mnt_dir="/NONROOT", .mnt_type="fstype2"},
     {.mnt_fsname="netns",   .mnt_dir="net:[1234567]"},
+    {.mnt_fsname="rem:ote1",.mnt_dir="/REMOTE"},
+    {.mnt_fsname="rem:ote1",.mnt_dir="/REMOTE"},
+    {.mnt_fsname="rem:ote2",.mnt_dir="/REMOTE"},
   };
 
   if (done == 1)
@@ -70,17 +79,26 @@ struct mntent *getmntent (FILE *fp)
       nonroot_fs = getenv ("CU_NONROOT_FS");
       if (!nonroot_fs || !*nonroot_fs)
         nonroot_fs = "/"; /* merge into / entries.  */
+
+      remote_fs = getenv ("CU_REMOTE_FS");
     }
 
   if (done == 1 && !getenv ("CU_TEST_DUPE_INVALID"))
     done++;  /* skip the first entry.  */
 
-  while (done++ <= 7)
+  while (done++ <= 10)
     {
       if (!mntents[done-2].mnt_type)
         mntents[done-2].mnt_type = "-";
       if (STREQ (mntents[done-2].mnt_dir, "/NONROOT"))
         mntents[done-2].mnt_dir = nonroot_fs;
+      if (STREQ (mntents[done-2].mnt_dir, "/REMOTE"))
+        {
+          if (!remote_fs || !*remote_fs)
+            continue;
+          else
+            mntents[done-2].mnt_dir = remote_fs;
+        }
       return &mntents[done-2];
     }
 
@@ -102,6 +120,12 @@ test -f x || skip_ "internal test failur
 LD_PRELOAD=./k.so df -T >out || fail=1
 test $(wc -l <out) -eq $(expr 1 + $unique_entries) || { fail=1; cat out; }
 
+# With --total we should suppress the duplicate but separate remote file system
+LD_PRELOAD=./k.so df --total >out || fail=1
+test "$CU_REMOTE_FS" && elide_remote=1 || elide_remote=0
+test $(wc -l <out) -eq $(expr 2 + $unique_entries - $elide_remote) ||
+  { fail=1; cat out; }
+
 # Ensure we don't fail when unable to stat (currently) unavailable entries
 LD_PRELOAD=./k.so CU_TEST_DUPE_INVALID=1 df -T >out || fail=1
 test $(wc -l <out) -eq $(expr 1 + $unique_entries) || { fail=1; cat out; }
@@ -118,7 +142,8 @@ test $(grep -c 'virtfs2.*fstype2' <out)
 
 # Ensure that filtering duplicates does not affect -a processing.
 LD_PRELOAD=./k.so df -a >out || fail=1
-test $(wc -l <out) -eq 6 || { fail=1; cat out; }
+total_fs=6; test "$CU_REMOTE_FS" && total_fs=$(expr $total_fs + 3)
+test $(wc -l <out) -eq $total_fs || { fail=1; cat out; }
 # Ensure placeholder "-" values used for the eclipsed "virtfs"
 test $(grep -c 'virtfs *-' <out) -eq 1 || { fail=1; cat out; }
 
++++++ coreutils-tests-make-inotify-rotate-more-robust-and-efficient.patch 
++++++
--- /var/tmp/diff_new_pack.aOg9s2/_old  2015-01-30 06:02:40.000000000 +0100
+++ /var/tmp/diff_new_pack.aOg9s2/_new  2015-01-30 06:02:40.000000000 +0100
@@ -17,12 +17,12 @@
 upon failure to avoid any erroneous diagnostics due
 to persistent files on NFS.
 ---
- tests/tail-2/inotify-rotate.sh | 45 +++++++++++++++++++++++-------------------
+ tests/tail-2/inotify-rotate.sh |   45 
++++++++++++++++++++++-------------------
  1 file changed, 25 insertions(+), 20 deletions(-)
 
-diff --git tests/tail-2/inotify-rotate.sh b/tests/tail-2/inotify-rotate.sh
-index 1c942cc..6b539a6 100755
---- tests/tail-2/inotify-rotate.sh
+Index: tests/tail-2/inotify-rotate.sh
+===================================================================
+--- tests/tail-2/inotify-rotate.sh.orig
 +++ tests/tail-2/inotify-rotate.sh
 @@ -22,48 +22,53 @@ if test "$VERBOSE" = yes; then
  fi
@@ -98,6 +98,3 @@
  done
  
  wait
--- 
-1.8.4.5
-

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to