Update to latest RC release: nfs-utils-1-3-3-rc5 (bz 1233005)

Signed-off-by: Steve Dickson <steved@redhat.com>
This commit is contained in:
Steve Dickson 2015-06-26 09:39:10 -04:00
parent 9803832a37
commit f320c86206
2 changed files with 187 additions and 19 deletions

View File

@ -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

View File

@ -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 <steved@redhat.com> 1.3.2-10
- Update to latest RC release: nfs-utils-1-3-3-rc5 (bz 1233005)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.3.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild