From b7b45d88adc199c23bb3e5df9e47d71e82b8986d Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 10 Aug 2021 08:03:07 -0400 Subject: [PATCH] import nfs-utils-2.3.3-41.el8_4.2 --- SOURCES/nfs-utils-2.3.3-mount-sloppy.patch | 116 +++++++++++++++++++++ SPECS/nfs-utils.spec | 13 ++- 2 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 SOURCES/nfs-utils-2.3.3-mount-sloppy.patch diff --git a/SOURCES/nfs-utils-2.3.3-mount-sloppy.patch b/SOURCES/nfs-utils-2.3.3-mount-sloppy.patch new file mode 100644 index 0000000..e734c74 --- /dev/null +++ b/SOURCES/nfs-utils-2.3.3-mount-sloppy.patch @@ -0,0 +1,116 @@ +diff -up nfs-utils-2.3.3/utils/mount/nfs.man.save nfs-utils-2.3.3/utils/mount/nfs.man +--- nfs-utils-2.3.3/utils/mount/nfs.man.save 2021-07-28 14:42:20.977740892 -0400 ++++ nfs-utils-2.3.3/utils/mount/nfs.man 2021-07-28 14:42:01.133212815 -0400 +@@ -525,6 +525,13 @@ using the FS-Cache facility. See cachefi + and /Documentation/filesystems/caching + for detail on how to configure the FS-Cache facility. + Default value is nofsc. ++.TP 1.5i ++.B sloppy ++The ++.B sloppy ++option is an alternative to specifying ++.BR mount.nfs " -s " option. ++ + .SS "Options for NFS versions 2 and 3 only" + Use these options, along with the options in the above subsection, + for NFS versions 2 and 3 only. +diff -up nfs-utils-2.3.3/utils/mount/parse_opt.c.save nfs-utils-2.3.3/utils/mount/parse_opt.c +--- nfs-utils-2.3.3/utils/mount/parse_opt.c.save 2021-07-28 14:40:15.467400995 -0400 ++++ nfs-utils-2.3.3/utils/mount/parse_opt.c 2021-07-28 14:39:57.666927309 -0400 +@@ -178,6 +178,22 @@ static void options_tail_insert(struct m + options->count++; + } + ++static void options_head_insert(struct mount_options *options, ++ struct mount_option *option) ++{ ++ struct mount_option *ohead = options->head; ++ ++ option->prev = NULL; ++ option->next = ohead; ++ if (ohead) ++ ohead->prev = option; ++ else ++ options->tail = option; ++ options->head = option; ++ ++ options->count++; ++} ++ + static void options_delete(struct mount_options *options, + struct mount_option *option) + { +@@ -374,6 +390,23 @@ po_return_t po_join(struct mount_options + } + + /** ++ * po_insert - insert an option into a group of options ++ * @options: pointer to mount options ++ * @option: pointer to a C string containing the option to add ++ * ++ */ ++po_return_t po_insert(struct mount_options *options, char *str) ++{ ++ struct mount_option *option = option_create(str); ++ ++ if (option) { ++ options_head_insert(options, option); ++ return PO_SUCCEEDED; ++ } ++ return PO_FAILED; ++} ++ ++/** + * po_append - concatenate an option onto a group of options + * @options: pointer to mount options + * @option: pointer to a C string containing the option to add +diff -up nfs-utils-2.3.3/utils/mount/parse_opt.h.save nfs-utils-2.3.3/utils/mount/parse_opt.h +--- nfs-utils-2.3.3/utils/mount/parse_opt.h.save 2021-07-28 14:40:54.292434148 -0400 ++++ nfs-utils-2.3.3/utils/mount/parse_opt.h 2021-07-28 14:39:57.666927309 -0400 +@@ -43,6 +43,7 @@ void po_replace(struct mount_options * + struct mount_options *); + po_return_t po_join(struct mount_options *, char **); + ++po_return_t po_insert(struct mount_options *, char *); + po_return_t po_append(struct mount_options *, char *); + po_found_t po_contains(struct mount_options *, char *); + po_found_t po_contains_prefix(struct mount_options *options, +diff -up nfs-utils-2.3.3/utils/mount/stropts.c.save nfs-utils-2.3.3/utils/mount/stropts.c +--- nfs-utils-2.3.3/utils/mount/stropts.c.save 2021-07-28 14:41:14.842981010 -0400 ++++ nfs-utils-2.3.3/utils/mount/stropts.c 2021-07-28 14:42:01.134212842 -0400 +@@ -336,13 +336,21 @@ static int nfs_verify_lock_option(struct + return 1; + } + +-static int nfs_append_sloppy_option(struct mount_options *options) ++static int nfs_insert_sloppy_option(struct mount_options *options) + { +- if (!sloppy || linux_version_code() < MAKE_VERSION(2, 6, 27)) ++ if (linux_version_code() < MAKE_VERSION(2, 6, 27)) + return 1; + +- if (po_append(options, "sloppy") == PO_FAILED) +- return 0; ++ if (po_contains(options, "sloppy")) { ++ po_remove_all(options, "sloppy"); ++ sloppy++; ++ } ++ ++ if (sloppy) { ++ if (po_insert(options, "sloppy") == PO_FAILED) ++ return 0; ++ } ++ + return 1; + } + +@@ -424,7 +432,7 @@ static int nfs_validate_options(struct n + if (!nfs_set_version(mi)) + return 0; + +- if (!nfs_append_sloppy_option(mi->options)) ++ if (!nfs_insert_sloppy_option(mi->options)) + return 0; + + return 1; diff --git a/SPECS/nfs-utils.spec b/SPECS/nfs-utils.spec index 2d9af3b..4ccfe7f 100644 --- a/SPECS/nfs-utils.spec +++ b/SPECS/nfs-utils.spec @@ -2,7 +2,7 @@ Summary: NFS utilities and supporting clients and daemons for the kernel NFS ser Name: nfs-utils URL: http://linux-nfs.org/ Version: 2.3.3 -Release: 41%{?dist} +Release: 41%{?dist}.2 Epoch: 1 # group all 32bit related archs @@ -73,6 +73,11 @@ Patch035: nfs-utils-2.3.3-exports-manpage-outdated.patch Patch036: nfs-utils-2.3.3-gssd-multithread-updates.patch Patch037: nfs-utils-2.3.3-mountd-pseudofs.patch +# +# RHEL 8.4-Z +# +Patch038: nfs-utils-2.3.3-mount-sloppy.patch + Patch100: nfs-utils-1.2.1-statdpath-man.patch Patch101: nfs-utils-1.2.1-exp-subtree-warn-off.patch Patch102: nfs-utils-2.3.3-idmap-errmsg.patch @@ -355,6 +360,12 @@ fi %{_libdir}/libnfsidmap.so %changelog +* Wed Jul 28 2021 Steve Dickson 2.3.3-41_4.2 +- mount.nfs: Fix the sloppy option processing (bz 1982340) + +* Wed Jul 14 2021 Steve Dickson 2.3.3-41_4.1 +- mount.nfs: insert 'sloppy' at beginning of the options (bz 1982340) + * Wed Jan 20 2021 Steve Dickson 2.3.3-41 - mountd: never root squash on the pseudofs (bz 1804912)