import nfs-utils-2.5.4-15.el9

This commit is contained in:
CentOS Sources 2022-11-15 02:05:46 -05:00 committed by Stepan Oksanichenko
parent ffae9bee74
commit 431fcd78c3
7 changed files with 245 additions and 6 deletions

View File

@ -0,0 +1,32 @@
commit c547ad481dca5bc0b0a2e365ebcff3439848f664
Author: Rohan Sable <rsable@redhat.com>
Date: Mon Feb 14 11:15:22 2022 -0500
mount.nfs Fix error reporting for already mounted shares
When mount is triggered for an already mounted
share (using auto negotiation), it displays
"mount.nfs: Protocol not supported" or
"mount.nfs: access denied by server while mounting"
instead of EBUSY. This easily causes confusion if
the mount was not tried verbose :
Signed-off-by: Rohan Sable <rsable@redhat.com>
Signed-off-by: Yongcheng Yang <yoyang@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 3c4e218a..573df6ee 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -973,7 +973,9 @@ fall_back:
if ((result = nfs_try_mount_v3v2(mi, FALSE)))
return result;
- errno = olderrno;
+ if (errno != EBUSY && errno != EACCES)
+ errno = olderrno;
+
return result;
}

View File

@ -0,0 +1,37 @@
commit 28deb4f398363e4e75ea41ff0fe604b11f6ee91a
Author: Olga Kornievskaia <kolga@netapp.com>
Date: Tue Sep 21 13:00:12 2021 -0400
nfs.man: adding new mount option max_connect
When client discovers trunkable servers, instead of dropping newly
created trunkable connections, add this connection to the existing
RPC client.
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/utils/mount/nfs.man b/utils/mount/nfs.man
index f1b76936..57a693fd 100644
--- a/utils/mount/nfs.man
+++ b/utils/mount/nfs.man
@@ -416,6 +416,19 @@ Note that the
option may also be used by some pNFS drivers to decide how many
connections to set up to the data servers.
.TP 1.5i
+.BR max_connect= n
+While
+.BR nconnect
+option sets a limit on the number of connections that can be established
+to a given server IP,
+.BR max_connect
+option allows the user to specify maximum number of connections to different
+server IPs that belong to the same NFSv4.1+ server (session trunkable
+connections) up to a limit of 16. When client discovers that it established
+a client ID to an already existing server, instead of dropping the newly
+created network transport, the client will add this new connection to the
+list of available transports for that RPC client.
+.TP 1.5i
.BR rdirplus " / " nordirplus
Selects whether to use NFS v3 or v4 READDIRPLUS requests.
If this option is not specified, the NFS client uses READDIRPLUS requests

View File

@ -0,0 +1,36 @@
diff --git a/tools/rpcctl/rpcctl.py b/tools/rpcctl/rpcctl.py
index b8df556b..d2110ad6 100755
--- a/tools/rpcctl/rpcctl.py
+++ b/tools/rpcctl/rpcctl.py
@@ -90,10 +90,18 @@ class Xprt:
self.dstaddr = write_addr_file(self.path / "dstaddr", newaddr)
def set_state(self, state):
+ if self.info.get("main_xprt"):
+ raise Exception(f"Main xprts cannot be set {state}")
with open(self.path / "xprt_state", 'w') as f:
f.write(state)
self.read_state()
+ def remove(self):
+ if self.info.get("main_xprt"):
+ raise Exception("Main xprts cannot be removed")
+ self.set_state("offline")
+ self.set_state("remove")
+
def add_command(subparser):
parser = subparser.add_parser("xprt", help="Commands for individual xprts")
parser.set_defaults(func=Xprt.show, xprt=None)
@@ -139,10 +147,9 @@ class Xprt:
if args.property == "dstaddr":
xprt.set_dstaddr(socket.gethostbyname(args.newaddr[0]))
elif args.property == "remove":
- xprt.set_state("offline")
- xprt.set_state("remove")
+ xprt.remove()
else:
- args.set_state(args.property)
+ xprt.set_state(args.property)
print(xprt)

View File

@ -0,0 +1,40 @@
commit 9abd3b4b57155dfdfd6895e6086ef550ee56fc49
Author: Wenchao Hao <haowenchao@huawei.com>
Date: Tue Feb 22 16:06:51 2022 -0500
idmapd: Fix error status when nfs-idmapd exits
nfs-idmapd.service would report following error when stopped:
Starting NFSv4 ID-name mapping service...
rpc.idmapd[1198]: Setting log level to 0
Started NFSv4 ID-name mapping service.
rpc.idmapd[1198]: exiting on signal 15
Stopping NFSv4 ID-name mapping service...
nfs-idmapd.service: Main process exited, code=exited, status=1/FAILURE
nfs-idmapd.service: Failed with result 'exit-code'.
Stopped NFSv4 ID-name mapping service.
commit 93e8f092(idmapd: Add graceful exit and resource cleanup)
redirected SIGTERM, so when executing "systemctl stop nfs-idmapd", the
main() of idmapd would running to tail to return, while it returned 1
which considered as error by systemd.
So here just return 0 in main().
Signed-off-by: Wenchao Hao <haowenchao@huawei.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
index e2c160e8..e79c124d 100644
--- a/utils/idmapd/idmapd.c
+++ b/utils/idmapd/idmapd.c
@@ -474,7 +474,7 @@ main(int argc, char **argv)
event_free(svrdirev);
event_base_free(evbase);
- return 1;
+ return 0;
}
static void

View File

@ -0,0 +1,31 @@
commit 7f8463fe702174bd613df9d308cc899af25ae02e
Author: Steve Dickson <steved@redhat.com>
Date: Wed Feb 23 15:19:51 2022 -0500
systemd: Fix format-overflow warning
rpc-pipefs-generator.c:35:23: error: '%s' directive output between 0 and 2147483653 bytes may exceed minimum required size of 4095 [-Werror=format-overflow=]
35 | sprintf(path, "%s/%s", dirname, pipefs_unit);
| ^
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/systemd/rpc-pipefs-generator.c b/systemd/rpc-pipefs-generator.c
index c24db567..7b2bb4f7 100644
--- a/systemd/rpc-pipefs-generator.c
+++ b/systemd/rpc-pipefs-generator.c
@@ -28,11 +28,12 @@ static int generate_mount_unit(const char *pipefs_path, const char *pipefs_unit,
{
char *path;
FILE *f;
+ size_t size = (strlen(dirname) + 1 + strlen(pipefs_unit) + 1);
- path = malloc(strlen(dirname) + 1 + strlen(pipefs_unit));
+ path = malloc(size);
if (!path)
return 1;
- sprintf(path, "%s/%s", dirname, pipefs_unit);
+ snprintf(path, size, "%s/%s", dirname, pipefs_unit);
f = fopen(path, "w");
if (!f)
{

View File

@ -0,0 +1,31 @@
commit 8a835cebb149ba2a54b6518722c79019cf8e3da4
Author: Benjamin Coddington <bcodding@redhat.com>
Date: Mon Aug 1 13:19:04 2022 -0400
rpc-statd.service: Stop rpcbind and rpc.stat in an exit race
When `systemctl stop rpcbind.socket` is run, the dependency means
that systemd first sends SIGTERM to rpcbind, then sigterm to rpc.statd.
On SIGTERM, rpcbind tears down /var/run/rpcbind.sock. However,
rpc-statd on SIGTERM attempts to unregister from rpcbind
systemd needs to wait for rpc.statd to exit before sending
SIGTERM to rpcbind
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2100395
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/systemd/rpc-statd.service b/systemd/rpc-statd.service
index 095629f2..392750da 100644
--- a/systemd/rpc-statd.service
+++ b/systemd/rpc-statd.service
@@ -5,7 +5,7 @@ Conflicts=umount.target
Requires=nss-lookup.target rpcbind.socket
Wants=network-online.target
Wants=rpc-statd-notify.service
-After=network-online.target nss-lookup.target rpcbind.socket
+After=network-online.target nss-lookup.target rpcbind.service
PartOf=nfs-utils.service
IgnoreOnIsolate=yes

View File

@ -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.5.4
Release: 10%{?dist}
Release: 15%{?dist}
Epoch: 1
# group all 32bit related archs
@ -24,6 +24,16 @@ Patch004: nfs-utils-2.5.4-mount-nov2.patch
Patch005: nfs-utils-2.5.4-gssd-debug-msg.patch
Patch006: nfs-utils-2.5.4-rpcctl.patch
#
# RHEL9.1
#
Patch007: nfs-utils-2.5.4-nfsman-maxconnect.patch
Patch008: nfs-utils-2.5.4-rpcpipefs-warn.patch
Patch009: nfs-utils-2.5.4-rpcidmapd-return.patch
Patch010: nfs-utils-2.5.4-mount-ebusy.patch
Patch011: nfs-utils-2.5.4-rpcctl-xprt.patch
Patch012: nfs-utils-2.5.4-systemd-rpcstatd.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.5-idmap-errmsg.patch
@ -36,7 +46,7 @@ Provides: exportfs = %{epoch}:%{version}-%{release}
Provides: nfsstat = %{epoch}:%{version}-%{release}
Provides: showmount = %{epoch}:%{version}-%{release}
Provides: rpcdebug = %{epoch}:%{version}-%{release}
Provides: rpcclt = %{epoch}:%{version}-%{release}
Provides: rpcctl = %{epoch}:%{version}-%{release}
Provides: rpc.idmapd = %{epoch}:%{version}-%{release}
Provides: rpc.mountd = %{epoch}:%{version}-%{release}
Provides: rpc.nfsd = %{epoch}:%{version}-%{release}
@ -101,7 +111,7 @@ Show NFS client Statistics
%package -n nfsv4-client-utils
Summary: NFSv4 utilities for supporting client
Provides: rpc.gssd = %{epoch}:%{version}-%{release}
Provides: rpcclt = %{epoch}:%{version}-%{release}
Provides: rpcctl = %{epoch}:%{version}-%{release}
Provides: mount.nfs = %{epoch}:%{version}-%{release}
Provides: mount.nfs4 = %{epoch}:%{version}-%{release}
Provides: umount.nfs = %{epoch}:%{version}-%{release}
@ -279,9 +289,6 @@ fi
if [ $1 -eq 0 ]; then
%systemd_preun nfs-client.target
%systemd_preun nfs-server.service
rm -rf /var/lib/nfs/statd
rm -rf /var/lib/nfs/v4recovery
fi
%preun -n nfsv4-client-utils
@ -301,6 +308,11 @@ fi
/bin/systemctl --system daemon-reload >/dev/null 2>&1 || :
if [ $1 -eq 0 ] ; then
rm -rf /var/lib/nfs/statd
rm -rf /var/lib/nfs/v4recovery
fi
%triggerin -- nfs-utils > 1:2.1.1-3
/bin/systemctl try-restart gssproxy || :
@ -454,6 +466,26 @@ fi
%{_mandir}/*/nfsiostat.8.gz
%changelog
* Thu Aug 18 2022 Steve Dickson <steved@redhat.com> 2.5.4-15
- Fix uninstall warnings (bz 2048023)
- rpc-statd.service: Stop rpcbind and rpc.stat in an exit race (bz 2112941)
* Mon Aug 1 2022 Steve Dickson <steved@redhat.com> 2.5.4-14
- Fix the typo of dependency tag "Provides: rpcclt" (bz 2104406)
* Thu Jul 28 2022 Steve Dickson <steved@redhat.com> 2.5.4-13
- mount.nfs: Fix Typo auto negotiating code. (bz 2054300)
* Fri Jul 22 2022 Steve Dickson <steved@redhat.com> 2.5.4-12
- idmapd: Fix error status when nfs-idmapd exits (bz 2001764)
- mount.nfs Fix error reporting for already mounted shares (bz 2054300)
- rpcctl - fix failure when setting xprt offline and online (bz 2081934)
- rpc-pipefs-generator: allocate enough space (bz 2109420)
* Sat Jul 16 2022 Steve Dickson <steved@redhat.com> 2.5.4-11
- nfs.man: adding new mount option max_connect (bz 2106848)
- systemd: Fix format-overflow warning (bz 2106896)
* Mon Feb 28 2022 Steve Dickson <steved@redhat.com> 2.5.4-10
- Added the rpcctl command (bz 2059245)