forked from pool/coreutils
Accepting request 282919 from Base:System
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/282919 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/coreutils?expand=0&rev=108
This commit is contained in:
commit
7287e38e48
@ -76,7 +76,7 @@ Index: NEWS
|
||||
===================================================================
|
||||
--- 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 @@ Index: doc/coreutils.texi
|
||||
===================================================================
|
||||
--- 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 @@ Index: doc/coreutils.texi
|
||||
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 @@ Index: doc/coreutils.texi
|
||||
@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 @@ Index: doc/coreutils.texi
|
||||
@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.
|
||||
|
||||
|
65
coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
Normal file
65
coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
Normal file
@ -0,0 +1,65 @@
|
||||
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?= <P@draigBrady.com>
|
||||
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\
|
67
coreutils-df-improve-mount-point-selection.patch
Normal file
67
coreutils-df-improve-mount-point-selection.patch
Normal file
@ -0,0 +1,67 @@
|
||||
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?= <P@draigBrady.com>
|
||||
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;
|
70
coreutils-df-show-all-remote-file-systems.patch
Normal file
70
coreutils-df-show-all-remote-file-systems.patch
Normal file
@ -0,0 +1,70 @@
|
||||
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?= <P@draigBrady.com>
|
||||
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 =
|
250
coreutils-df-total-suppress-separate-remotes.patch
Normal file
250
coreutils-df-total-suppress-separate-remotes.patch
Normal file
@ -0,0 +1,250 @@
|
||||
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?= <P@draigBrady.com>
|
||||
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; }
|
||||
|
@ -17,12 +17,12 @@ Also ensure that we use the standard exit procedure
|
||||
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 @@ index 1c942cc..6b539a6 100755
|
||||
done
|
||||
|
||||
wait
|
||||
--
|
||||
1.8.4.5
|
||||
|
||||
|
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 19 23:06:22 UTC 2015 - mail@bernhard-voelker.de
|
||||
|
||||
- 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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 1 00:20:55 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
|
@ -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 @@ Patch112: coreutils-getaddrinfo.patch
|
||||
# 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 @@ the GNU fileutils, sh-utils, and textutils packages.
|
||||
%patch112
|
||||
%patch113
|
||||
|
||||
%patch201
|
||||
%patch202
|
||||
%patch203
|
||||
%patch204
|
||||
|
||||
%patch300
|
||||
|
||||
%ifarch %ix86 x86_64 ppc ppc64
|
||||
|
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 19 23:06:22 UTC 2015 - mail@bernhard-voelker.de
|
||||
|
||||
- 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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 1 00:20:55 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
|
@ -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 @@ Patch112: coreutils-getaddrinfo.patch
|
||||
# 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 @@ the GNU fileutils, sh-utils, and textutils packages.
|
||||
%patch112
|
||||
%patch113
|
||||
|
||||
%patch201
|
||||
%patch202
|
||||
%patch203
|
||||
%patch204
|
||||
|
||||
%patch300
|
||||
|
||||
%ifarch %ix86 x86_64 ppc ppc64
|
||||
|
Loading…
Reference in New Issue
Block a user