From f320c86206762e35f6ea6ebad24d67cfe179a1c0 Mon Sep 17 00:00:00 2001 From: Steve Dickson Date: Fri, 26 Jun 2015 09:39:10 -0400 Subject: [PATCH] Update to latest RC release: nfs-utils-1-3-3-rc5 (bz 1233005) Signed-off-by: Steve Dickson --- ...3.3-rc3.patch => nfs-utils-1.3.3-rc5.patch | 195 ++++++++++++++++-- nfs-utils.spec | 11 +- 2 files changed, 187 insertions(+), 19 deletions(-) rename nfs-utils-1.3.3-rc3.patch => nfs-utils-1.3.3-rc5.patch (78%) diff --git a/nfs-utils-1.3.3-rc3.patch b/nfs-utils-1.3.3-rc5.patch similarity index 78% rename from nfs-utils-1.3.3-rc3.patch rename to nfs-utils-1.3.3-rc5.patch index c2a328c..15dcff6 100644 --- a/nfs-utils-1.3.3-rc3.patch +++ b/nfs-utils-1.3.3-rc5.patch @@ -1,5 +1,5 @@ diff --git a/configure.ac b/configure.ac -index 8e427e3..e61430f 100644 +index 8e427e3..926b044 100644 --- a/configure.ac +++ b/configure.ac @@ -60,7 +60,6 @@ AC_ARG_WITH(systemd, @@ -10,6 +10,42 @@ index 8e427e3..e61430f 100644 ) AM_CONDITIONAL(INSTALL_SYSTEMD, [test "$use_systemd" = 1]) AC_SUBST(unitdir) +@@ -164,6 +163,8 @@ if test "$enable_mount" = yes; then + [Link mount.nfs with libmount @<:@default=no@:>@])], + enable_libmount=$enableval, + enable_libmount=no) ++else ++ enable_libmount=no + fi + + AC_ARG_ENABLE(tirpc, +@@ -214,9 +215,16 @@ fi + AC_ARG_ENABLE(nfsdcltrack, + [AC_HELP_STRING([--disable-nfsdcltrack], + [disable NFSv4 clientid tracking programs @<:@default=no@:>@])], +- enable_nfsdctrack=$enableval, ++ enable_nfsdcltrack=$enableval, + enable_nfsdcltrack="yes") + ++AC_ARG_ENABLE(osdlogin, ++ [AC_HELP_STRING([--enable-osdlogin], ++ [enable osd_login scripts @<:@default=no@:>@])], ++ enable_osdlogin=$enableval, ++ enable_osdlogin="no") ++ AM_CONDITIONAL(CONFIG_OSD_LOGIN, [test "$enable_osdlogin" = "yes" ]) ++ + dnl Check for TI-RPC library and headers + AC_LIBTIRPC + +@@ -347,7 +355,7 @@ AC_SUBST(LIBBSD) + AC_SUBST(LIBBLKID) + AC_SUBST(LIBDL) + +-if test "$enable_libmount" != no; then ++if test "$enable_libmount" = yes; then + AC_CHECK_LIB(mount, mnt_context_do_mount, [LIBMOUNT="-lmount"], AC_MSG_ERROR([libmount needed])) + AC_CHECK_HEADER(libmount/libmount.h, , AC_MSG_ERROR([Cannot find libmount header file libmount/libmount.h])) + fi diff --git a/support/include/nfs/export.h b/support/include/nfs/export.h index 2f59e6a..1194255 100644 --- a/support/include/nfs/export.h @@ -23,7 +59,7 @@ index 2f59e6a..1194255 100644 * All flags supported by the kernel before addition of the * export_features interface: diff --git a/support/nfs/exports.c b/support/nfs/exports.c -index eb782b9..761a046 100644 +index eb782b9..0aea6f1 100644 --- a/support/nfs/exports.c +++ b/support/nfs/exports.c @@ -154,6 +154,7 @@ getexportent(int fromkernel, int fromexports) @@ -50,6 +86,15 @@ index eb782b9..761a046 100644 if (ep->e_flags & NFSEXP_FSID) { fprintf(fp, "fsid=%d,", ep->e_fsid); } +@@ -407,7 +408,7 @@ int secinfo_addflavor(struct flav_info *flav, struct exportent *ep) + struct sec_entry *p; + + for (p=ep->e_secinfo; p->flav; p++) { +- if (p->flav == flav) ++ if (p->flav == flav || p->flav->fnum == flav->fnum) + return p - ep->e_secinfo; + } + if (p - ep->e_secinfo >= SECFLAVOR_COUNT) { @@ -581,6 +582,10 @@ parseopts(char *cp, struct exportent *ep, int warn, int *had_subtree_opt_ptr) clearflags(NFSEXP_NOACL, active, ep); else if (strcmp(opt, "no_acl") == 0) @@ -190,22 +235,25 @@ index d908afe..8a39f3e 100644 Wants=nfs-config.service diff --git a/systemd/nfs-server.service b/systemd/nfs-server.service -index 8010aad..db801cb 100644 +index 8010aad..12b02f2 100644 --- a/systemd/nfs-server.service +++ b/systemd/nfs-server.service -@@ -1,10 +1,12 @@ +@@ -1,11 +1,13 @@ [Unit] Description=NFS server and services +-Requires= network.target proc-fs-nfsd.mount rpcbind.target +DefaultDependencies=no - Requires= network.target proc-fs-nfsd.mount rpcbind.target ++Requires= network.target proc-fs-nfsd.mount rpcbind.service Requires= nfs-mountd.service Wants=rpc-statd.service nfs-idmapd.service Wants=rpc-statd-notify.service +-After= network.target proc-fs-nfsd.mount rpcbind.target nfs-mountd.service +After= local-fs.target - After= network.target proc-fs-nfsd.mount rpcbind.target nfs-mountd.service ++After= network.target proc-fs-nfsd.mount rpcbind.service nfs-mountd.service After= nfs-idmapd.service rpc-statd.service Before= rpc-statd-notify.service + @@ -13,6 +15,9 @@ Before= rpc-statd-notify.service Wants=auth-rpcgss-module.service After=rpc-gssd.service gssproxy.service rpc-svcgssd.service @@ -245,6 +293,18 @@ index f7424b0..41177b6 100644 PartOf=nfs-server.service PartOf=nfs-utils.service +diff --git a/systemd/var-lib-nfs-rpc_pipefs.mount b/systemd/var-lib-nfs-rpc_pipefs.mount +index 33c5db6..26d1c76 100644 +--- a/systemd/var-lib-nfs-rpc_pipefs.mount ++++ b/systemd/var-lib-nfs-rpc_pipefs.mount +@@ -1,6 +1,7 @@ + [Unit] + Description=RPC Pipe File System + DefaultDependencies=no ++After=systemd-tmpfiles-setup.service + Conflicts=umount.target + + [Mount] diff --git a/tools/mountstats/mountstats.man b/tools/mountstats/mountstats.man index bee3f86..a9df1e4 100644 --- a/tools/mountstats/mountstats.man @@ -286,9 +346,18 @@ index bee3f86..a9df1e4 100644 .SS Options specific to the nfsstat sub-command .IP "\fB\-3\fP" diff --git a/tools/mountstats/mountstats.py b/tools/mountstats/mountstats.py -index fd73feb..38943eb 100644 +index fd73feb..011bb42 100644 --- a/tools/mountstats/mountstats.py +++ b/tools/mountstats/mountstats.py +@@ -474,7 +474,7 @@ class DeviceData: + # authrefresh stats don't actually get captured in + # /proc/self/mountstats, so we fudge it here + authrefrsh = sends +- return (sends, trans, authrefrsh) ++ return (sends, retrans, authrefrsh) + + def display_nfsstat_stats(self): + """Pretty-print nfsstat-style stats @@ -686,7 +686,7 @@ def mountstats_command(args): """Mountstats command """ @@ -522,7 +591,7 @@ index e06f598..c9797fc 100644 nfs_error(_("%s: %s"), progname, strerror(error)); diff --git a/utils/mount/mount.nfs.man b/utils/mount/mount.nfs.man -index 1a4561b..15a82d5 100644 +index 1a4561b..0409c96 100644 --- a/utils/mount/mount.nfs.man +++ b/utils/mount/mount.nfs.man @@ -15,16 +15,20 @@ is meant to be used by the @@ -550,11 +619,74 @@ index 1a4561b..15a82d5 100644 .SH OPTIONS .TP .BI "\-r" +@@ -76,10 +80,13 @@ file system table + .TP + .I /etc/mtab + table of mounted file systems +- ++.TP ++.I /etc/nfsmount.conf ++Configuration file for NFS mounts + .PD + .SH "SEE ALSO" + .BR nfs (5), ++.BR nfsmount.conf (5), + .BR mount (8), + + .SH "AUTHOR" +diff --git a/utils/mount/nfs.man b/utils/mount/nfs.man +index fe4f9b1..e541cdc 100644 +--- a/utils/mount/nfs.man ++++ b/utils/mount/nfs.man +@@ -1706,6 +1706,9 @@ with the mount options already saved on disk for the NFS server mounted at /mnt. + .TP 1.5i + .I /etc/fstab + file system table ++.TP 1.5i ++.I /etc/nfsmount.conf ++Configuration file for NFS mounts + .SH BUGS + Before 2.4.7, the Linux NFS client did not support NFS over TCP. + .P +@@ -1735,6 +1738,7 @@ such as security negotiation, server referrals, and named attributes. + .BR mount.nfs (5), + .BR umount.nfs (5), + .BR exports (5), ++.BR nfsmount.conf (5), + .BR netconfig (5), + .BR ipv6 (7), + .BR nfsd (8), diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c -index 76ecb32..df67fac 100644 +index 76ecb32..c8f5a6d 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c -@@ -298,6 +298,7 @@ static int nfs_verify_lock_option(struct mount_options *options) +@@ -108,12 +108,6 @@ static void nfs_default_version(struct nfsmount_info *mi) + return; + } + +- if (mi->version.v_mode == V_GENERAL && +- config_default_vers.v_mode == V_DEFAULT) { +- mi->version.v_mode = V_SPECIFIC; +- return; +- } +- + if (mi->version.v_mode == V_DEFAULT && + config_default_vers.v_mode != V_DEFAULT) { + mi->version.major = config_default_vers.major; +@@ -121,9 +115,9 @@ static void nfs_default_version(struct nfsmount_info *mi) + return; + } + +- if (mi->version.v_mode == V_GENERAL && +- config_default_vers.v_mode != V_DEFAULT) { +- if (mi->version.major == config_default_vers.major) ++ if (mi->version.v_mode == V_GENERAL) { ++ if (config_default_vers.v_mode != V_DEFAULT && ++ mi->version.major == config_default_vers.major) + mi->version.minor = config_default_vers.minor; + return; + } +@@ -298,6 +292,7 @@ static int nfs_verify_lock_option(struct mount_options *options) "required for remote locking."), progname); nfs_error(_("%s: Either use '-o nolock' to keep " "locks local, or start statd."), progname); @@ -562,6 +694,22 @@ index 76ecb32..df67fac 100644 return 0; } +@@ -742,8 +737,13 @@ static int nfs_do_mount_v4(struct nfsmount_info *mi, + } + + if (mi->version.v_mode != V_SPECIFIC) { +- snprintf(version_opt, sizeof(version_opt) - 1, +- "vers=%lu.%lu", mi->version.major, mi->version.minor); ++ if (mi->version.v_mode == V_GENERAL) ++ snprintf(version_opt, sizeof(version_opt) - 1, ++ "vers=%lu", mi->version.major); ++ else ++ snprintf(version_opt, sizeof(version_opt) - 1, ++ "vers=%lu.%lu", mi->version.major, ++ mi->version.minor); + + if (po_append(options, version_opt) == PO_FAILED) { + errno = EINVAL; diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index c23d384..7d250f9 100644 --- a/utils/mountd/cache.c @@ -576,7 +724,7 @@ index c23d384..7d250f9 100644 me->mnt_dir[l] != '/')) ; diff --git a/utils/mountd/v4root.c b/utils/mountd/v4root.c -index 34d098a..429ebb8 100644 +index 34d098a..d521725 100644 --- a/utils/mountd/v4root.c +++ b/utils/mountd/v4root.c @@ -26,6 +26,7 @@ @@ -587,7 +735,7 @@ index 34d098a..429ebb8 100644 int v4root_needed; -@@ -56,22 +57,22 @@ static nfs_export pseudo_root = { +@@ -56,22 +57,25 @@ static nfs_export pseudo_root = { }; static void @@ -609,6 +757,9 @@ index 34d098a..429ebb8 100644 struct sec_entry *new; - i = secinfo_addflavor(se->flav, pseudo); ++ if (!flav->fnum) ++ continue; ++ + i = secinfo_addflavor(flav, pseudo); new = &pseudo->e_secinfo[i]; @@ -617,7 +768,7 @@ index 34d098a..429ebb8 100644 new->flags |= NFSEXP_INSECURE_PORT; } } -@@ -91,7 +92,7 @@ v4root_create(char *path, nfs_export *export) +@@ -91,7 +95,7 @@ v4root_create(char *path, nfs_export *export) strncpy(eep.e_path, path, sizeof(eep.e_path)); if (strcmp(path, "/") != 0) eep.e_flags &= ~NFSEXP_FSID; @@ -626,7 +777,7 @@ index 34d098a..429ebb8 100644 exp = export_create(&eep, 0); if (exp == NULL) return NULL; -@@ -139,7 +140,7 @@ pseudofs_update(char *hostname, char *path, nfs_export *source) +@@ -139,7 +143,7 @@ pseudofs_update(char *hostname, char *path, nfs_export *source) return 0; } /* Update an existing V4ROOT export: */ @@ -647,6 +798,22 @@ index be21ed4..3ba847e 100644 .BR rpc.mountd (8), .BR exports (5), .BR exportfs (8), +diff --git a/utils/nfsidmap/nfsidmap.c b/utils/nfsidmap/nfsidmap.c +index 5d62078..1f5ba67 100644 +--- a/utils/nfsidmap/nfsidmap.c ++++ b/utils/nfsidmap/nfsidmap.c +@@ -323,7 +323,10 @@ int main(int argc, char **argv) + } + type = strtok(arg, ":"); + value = strtok(NULL, ":"); +- ++ if (value == NULL) { ++ xlog_err("Error: Null uid/gid value."); ++ return 1; ++ } + if (verbose) { + xlog_warn("key: 0x%lx type: %s value: %s timeout %ld", + key, type, value, timeout); diff --git a/utils/statd/rmtcall.c b/utils/statd/rmtcall.c index fd576d9..66a6eeb 100644 --- a/utils/statd/rmtcall.c diff --git a/nfs-utils.spec b/nfs-utils.spec index 9752fc4..b7af897 100644 --- a/nfs-utils.spec +++ b/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://sourceforge.net/projects/nfs Version: 1.3.2 -Release: 9%{?dist} +Release: 10%{?dist} Epoch: 1 # group all 32bit related archs @@ -15,14 +15,13 @@ Source2: nfs.sysconfig Source3: nfs-utils_env.sh Source4: lockd.conf -Patch001: nfs-utils-1.3.3-rc4.patch +Patch001: nfs-utils-1.3.3-rc5.patch Patch100: nfs-utils-1.2.1-statdpath-man.patch Patch101: nfs-utils-1.2.1-exp-subtree-warn-off.patch Patch102: nfs-utils-1.2.3-sm-notify-res_init.patch Patch103: nfs-utils-1.2.5-idmap-errmsg.patch -Patch104: nfs-utils-1.3.2-systemd-tmpfiles.patch -Patch105: nfs-utils-1.3.2-systemd-gssargs.patch +Patch104: nfs-utils-1.3.2-systemd-gssargs.patch Group: System Environment/Daemons Provides: exportfs = %{epoch}:%{version}-%{release} @@ -81,7 +80,6 @@ This package also contains the mount.nfs and umount.nfs program. %patch102 -p1 %patch103 -p1 %patch104 -p1 -%patch105 -p1 # Remove .orig files find . -name "*.orig" | xargs rm -f @@ -309,6 +307,9 @@ fi /sbin/umount.nfs4 %changelog +* Fri Jun 26 2015 Steve Dickson 1.3.2-10 +- Update to latest RC release: nfs-utils-1-3-3-rc5 (bz 1233005) + * Wed Jun 17 2015 Fedora Release Engineering - 1:1.3.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild