Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
8e32a03f15
!116 [sync] PR-113: backport patches from community
From: @openeuler-sync-bot 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2025-02-13 08:17:18 +00:00
zhangjian
778abc8ace backport patches from upstream commutinity
Signed-off-by: zhangjian <zhangjian496@huawei.com>
(cherry picked from commit 26b75078a052c5bc35deef9bc118b941ec3de7f0)
2025-02-13 09:15:40 +08:00
openeuler-ci-bot
648d746c79
!107 [sync] PR-106: backport patches from community
From: @openeuler-sync-bot 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2024-09-13 01:07:51 +00:00
SuperSix173
4da475f783 backport bugfix patch from community
(cherry picked from commit 4a3e8d4a57053d0559873086e0df880a53ca3256)
2024-09-12 19:45:36 +08:00
openeuler-ci-bot
dfb097f032
!98 upgrade version to 2.6.3
From: @wguanghao 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2024-01-12 03:12:54 +00:00
wguanghao
39313d74ff upgrade version to 2.6.3 2024-01-10 14:18:04 +08:00
openeuler-ci-bot
65ef7ca891
!96 backport patch from community
From: @wguanghao 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2023-12-20 02:24:22 +00:00
wguanghao
6887026ab9 backport bugfix patch from community 2023-12-19 20:43:47 +08:00
openeuler-ci-bot
a5c328ae43
!75 backport patches from community
From: @wguanghao 
Reviewed-by: @swf504 
Signed-off-by: @swf504
2023-03-24 01:26:43 +00:00
wuguanghao
3f76f86e5d backport patches from community 2023-03-23 11:13:11 +08:00
13 changed files with 412 additions and 178 deletions

View File

@ -0,0 +1,40 @@
From 92a0f7d3cc7fc1206e0a763ab737f797b8946ca7 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.de>
Date: Wed, 25 Oct 2023 12:34:45 -0400
Subject: [PATCH] export: fix handling of error from match_fsid()
If match_fsid() returns -1 we shouldn't assume that the path definitely
doesn't match the fsid, though it might not.
This is a similar situation to where an export is expected to be a mount
point, but is found not to be one. So it can be handled the same way,
by setting 'dev_missing'.
This will only have an effect if no other path matched the fsid, which
is what we want.
The current code results in nothing being exported if any export point,
or any mount point beneath a crossmnt export point, fails a 'stat'
request, which is too harsh.
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
---
support/export/cache.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/support/export/cache.c b/support/export/cache.c
index 19bbba5..e459502 100644
--- a/support/export/cache.c
+++ b/support/export/cache.c
@@ -858,7 +858,8 @@ static void nfsd_fh(int f)
case 0:
continue;
case -1:
- goto out;
+ dev_missing ++;
+ continue;
}
if (is_ipaddr_client(dom)
&& !ipaddr_client_matches(exp, ai))
--
1.8.3.1

View File

@ -1,44 +0,0 @@
From c7e995c8a4a3985d1b315814d29e8d9211d6dc5e Mon Sep 17 00:00:00 2001
From: lixiaokeng <lixiaokeng@huawei.com>
Date: Tue, 30 Nov 2021 16:38:02 +0800
Subject: [PATCH 1/2] fix coredump in bl_add_disk
The serial->data is not malloced separately, so it can't be freed.
Just free(serial).
Signed-off-by: Lixiaokeng <lixiaokeng@huawei.com>
---
utils/blkmapd/device-discovery.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
index f5f9b10..2c50205 100644
--- a/utils/blkmapd/device-discovery.c
+++ b/utils/blkmapd/device-discovery.c
@@ -188,7 +188,6 @@ static void bl_add_disk(char *filepath)
if (disk && diskpath) {
if (serial) {
- free(serial->data);
free(serial);
}
return;
@@ -229,7 +228,6 @@ static void bl_add_disk(char *filepath)
disk->valid_path = path;
}
if (serial) {
- free(serial->data);
free(serial);
}
}
@@ -242,7 +240,6 @@ static void bl_add_disk(char *filepath)
free(path);
}
if (serial) {
- free(serial->data);
free(serial);
}
return;
--
2.26.1.windows.1

View File

@ -0,0 +1,76 @@
From e115a6edfaa07203c6d6d40eba9e4f097efe0cf2 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.de>
Date: Wed, 25 Oct 2023 12:40:24 -0400
Subject: [PATCH] export: move cache_open() before workers are forked.
If each worker has a separate open on a cache channel, then each worker
will potentially receive every upcall request resulting in duplicated
work.
A worker will only not see a request that another worker sees if that
other worker answers the request before this worker gets a chance to
read it.
To avoid duplicate effort between threads and so get maximum benefit
from multiple threads, open the cache channels before forking.
Note that the kernel provides locking so that only one thread can be
reading to writing to any channel at any given moment.
Fixes: 5fc3bac9e0c3 ("mountd: Ensure we don't share cache file descriptors among processes.")
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
---
utils/exportd/exportd.c | 8 ++++++--
utils/mountd/mountd.c | 8 ++++++--
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/utils/exportd/exportd.c b/utils/exportd/exportd.c
index 2dd12cb..6f86644 100644
--- a/utils/exportd/exportd.c
+++ b/utils/exportd/exportd.c
@@ -289,12 +289,16 @@ main(int argc, char **argv)
else if (num_threads > MAX_THREADS)
num_threads = MAX_THREADS;
+ /* Open cache channel files BEFORE forking so each upcall is
+ * only handled by one thread. Kernel provides locking for both
+ * read and write.
+ */
+ cache_open();
+
if (num_threads > 1)
fork_workers();
- /* Open files now to avoid sharing descriptors among forked processes */
- cache_open();
v4clients_init();
/* Process incoming upcalls */
diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c
index bcf749f..f9c62cd 100644
--- a/utils/mountd/mountd.c
+++ b/utils/mountd/mountd.c
@@ -916,12 +916,16 @@ main(int argc, char **argv)
else if (num_threads > MAX_THREADS)
num_threads = MAX_THREADS;
+ /* Open cache channel files BEFORE forking so each upcall is
+ * only handled by one thread. Kernel provides locking for both
+ * read and write.
+ */
+ cache_open();
+
if (num_threads > 1)
fork_workers();
nfsd_path_init();
- /* Open files now to avoid sharing descriptors among forked processes */
- cache_open();
v4clients_init();
xlog(L_NOTICE, "Version " VERSION " starting");
--
1.8.3.1

View File

@ -1,35 +0,0 @@
From 576d3569c025e829e4ce432103532fcf63808d39 Mon Sep 17 00:00:00 2001
From: zhanchengbin <zhanchengbin1@huawei.com>
Date: Tue, 6 Sep 2022 09:49:30 +0800
Subject: [PATCH] nfs-blkmaped: Fix the error status when nfs_blkmapd stops
The systemctl stop nfs-blkmap.service will sends the SIGTERM signal
to the nfs-blkmap.service first.If the process fails to be stopped,
it sends the SIGKILL signal again to kill the process.
However, exit(1) is executed in the SIGTERM processing function of
nfs-blkmap.service. As a result, systemd receives an error message
indicating that nfs-blkmap.service failed.
"Active: failed" is displayed when the systemctl status
nfs-blkmap.service command is executed.
Signed-off-by: zhanchengbin <zhanchengbin1@huawei.com>
---
utils/blkmapd/device-discovery.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
index 77ebe73..8ca548c 100644
--- a/utils/blkmapd/device-discovery.c
+++ b/utils/blkmapd/device-discovery.c
@@ -462,7 +462,7 @@ static void sig_die(int signal)
unlink(PID_FILE);
}
BL_LOG_ERR("exit on signal(%d)\n", signal);
- exit(1);
+ exit(0);
}
static void usage(void)
{
--
1.8.3.1

View File

@ -0,0 +1,116 @@
From 75b04a9bff709a49f55326b439851822dd630be6 Mon Sep 17 00:00:00 2001
From: Olga Kornievskaia <kolga@netapp.com>
Date: Mon, 16 Oct 2023 11:45:54 -0400
Subject: [PATCH] gssd: fix handling DNS lookup failure
When the kernel does its first ever lookup for a given server ip it
sends down info for server, protocol, etc. On the gssd side as it
scans the pipefs structure and sees a new entry it reads that info
and creates a clp_info structure. At that time it also does
a DNS lookup of the provided ip to name using getnameinfo(),
this is saved in clp->servername for all other upcalls that is
down under that directory.
If this 1st getnameinfo() results in a failed resolution for
whatever reason (a temporary DNS resolution problem), this cause
of all other future upcalls to fail.
As a fix, this patch proposed to (1) save the server info that's
passed only in the initial pipefs new entry creation in the
clp_info structure, then (2) for the upcalls, if clp->servername
is NULL, then do the DNS lookup again and set all the needed
clp_info fields upon successful resolution.
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
---
utils/gssd/gssd.c | 41 +++++++++++++++++++++++++++++++++++++++++
utils/gssd/gssd.h | 6 ++++++
2 files changed, 47 insertions(+)
diff --git a/utils/gssd/gssd.c b/utils/gssd/gssd.c
index 833d8e0..ca9b326 100644
--- a/utils/gssd/gssd.c
+++ b/utils/gssd/gssd.c
@@ -365,6 +365,12 @@ gssd_read_service_info(int dirfd, struct clnt_info *clp)
fail:
printerr(0, "ERROR: failed to parse %s/info\n", clp->relpath);
+ clp->upcall_address = strdup(address);
+ clp->upcall_port = strdup(port);
+ clp->upcall_program = program;
+ clp->upcall_vers = version;
+ clp->upcall_protoname = strdup(protoname);
+ clp->upcall_service = strdup(service);
free(servername);
free(protoname);
clp->servicename = NULL;
@@ -408,6 +414,16 @@ gssd_free_client(struct clnt_info *clp)
free(clp->servicename);
free(clp->servername);
free(clp->protocol);
+ if (!clp->servername) {
+ if (clp->upcall_address)
+ free(clp->upcall_address);
+ if (clp->upcall_port)
+ free(clp->upcall_port);
+ if (clp->upcall_protoname)
+ free(clp->upcall_protoname);
+ if (clp->upcall_service)
+ free(clp->upcall_service);
+ }
free(clp);
}
@@ -446,6 +462,31 @@ gssd_clnt_gssd_cb(int UNUSED(fd), short UNUSED(which), void *data)
{
struct clnt_info *clp = data;
+ /* if there was a failure to translate IP to name for this server,
+ * try again
+ */
+ if (!clp->servername) {
+ if (!gssd_addrstr_to_sockaddr((struct sockaddr *)&clp->addr,
+ clp->upcall_address, clp->upcall_port ?
+ clp->upcall_port : "")) {
+ goto do_upcall;
+ }
+ clp->servername = gssd_get_servername(clp->upcall_address,
+ (struct sockaddr *)&clp->addr, clp->upcall_address);
+ if (!clp->servername)
+ goto do_upcall;
+
+ if (asprintf(&clp->servicename, "%s@%s", clp->upcall_service,
+ clp->servername) < 0) {
+ free(clp->servername);
+ clp->servername = NULL;
+ goto do_upcall;
+ }
+ clp->prog = clp->upcall_program;
+ clp->vers = clp->upcall_vers;
+ clp->protocol = strdup(clp->upcall_protoname);
+ }
+do_upcall:
handle_gssd_upcall(clp);
}
diff --git a/utils/gssd/gssd.h b/utils/gssd/gssd.h
index 519dc43..4e070ed 100644
--- a/utils/gssd/gssd.h
+++ b/utils/gssd/gssd.h
@@ -86,6 +86,12 @@ struct clnt_info {
int gssd_fd;
struct event *gssd_ev;
struct sockaddr_storage addr;
+ char *upcall_address;
+ char *upcall_port;
+ int upcall_program;
+ int upcall_vers;
+ char *upcall_protoname;
+ char *upcall_service;
};
struct clnt_upcall_info {
--
1.8.3.1

View File

@ -1,94 +0,0 @@
From 9565ab64e60f8282967e138f43c6057562dc5c27 Mon Sep 17 00:00:00 2001
From: zhanchengbin <zhanchengbin1@huawei.com>
Date: Sat, 19 Nov 2022 11:50:07 -0500
Subject: [PATCH] nfs-blkmapd: PID file read by systemd failed
When started nfs-blkmap.service, the PID file can't be opened, The
cause is that the child process does not create the PID file before
the systemd reads the PID file.
Adding "ExecStartPost=/bin/sleep 0.1" to
/usr/lib/systemd/system/nfs-blkmap.service will probably solve this
problem, However, there is no guarantee that the above solutions are
effective under high cpu pressure.So replace the daemon function with
the fork function, and put the behavior of creating the PID file in
the parent process to solve the above problems.
Signed-off-by: zhanchengbin <zhanchengbin1@huawei.com>
Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
---
utils/blkmapd/device-discovery.c | 48 ++++++++++++++++++++++++++--------------
1 file changed, 32 insertions(+), 16 deletions(-)
diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
index bd89059..a565fdb 100644
--- a/utils/blkmapd/device-discovery.c
+++ b/utils/blkmapd/device-discovery.c
@@ -504,28 +504,44 @@ int main(int argc, char **argv)
if (fg) {
openlog("blkmapd", LOG_PERROR, 0);
} else {
- if (daemon(0, 0) != 0) {
- fprintf(stderr, "Daemonize failed\n");
- exit(1);
+ pid_t pid = fork();
+ if (pid < 0) {
+ BL_LOG_ERR("fork error\n");
+ exit(1);
+ } else if (pid != 0) {
+ pidfd = open(PID_FILE, O_WRONLY | O_CREAT, 0644);
+ if (pidfd < 0) {
+ BL_LOG_ERR("Create pid file %s failed\n", PID_FILE);
+ exit(1);
+ }
+
+ if (lockf(pidfd, F_TLOCK, 0) < 0) {
+ BL_LOG_ERR("Already running; Exiting!");
+ close(pidfd);
+ exit(1);
+ }
+ if (ftruncate(pidfd, 0) < 0)
+ BL_LOG_ERR("ftruncate on %s failed: m\n", PID_FILE);
+ sprintf(pidbuf, "%d\n", pid);
+ if (write(pidfd, pidbuf, strlen(pidbuf)) != (ssize_t)strlen(pidbuf))
+ BL_LOG_ERR("write on %s failed: m\n", PID_FILE);
+ exit(0);
+ }
+
+ (void)setsid();
+ if (chdir("/")) {
+ BL_LOG_ERR("chdir error\n");
+ }
+ int fd = open("/dev/null", O_RDWR, 0);
+ if (fd >= 0) {
+ (void)dup2(fd, STDIN_FILENO);
+ (void)dup2(fd, STDOUT_FILENO);
+ (void)dup2(fd, STDERR_FILENO);
+
+ (void)close(fd);
}
openlog("blkmapd", LOG_PID, 0);
- pidfd = open(PID_FILE, O_WRONLY | O_CREAT, 0644);
- if (pidfd < 0) {
- BL_LOG_ERR("Create pid file %s failed\n", PID_FILE);
- exit(1);
- }
-
- if (lockf(pidfd, F_TLOCK, 0) < 0) {
- BL_LOG_ERR("Already running; Exiting!");
- close(pidfd);
- exit(1);
- }
- if (ftruncate(pidfd, 0) < 0)
- BL_LOG_WARNING("ftruncate on %s failed: m\n", PID_FILE);
- sprintf(pidbuf, "%d\n", getpid());
- if (write(pidfd, pidbuf, strlen(pidbuf)) != (ssize_t)strlen(pidbuf))
- BL_LOG_WARNING("write on %s failed: m\n", PID_FILE);
}
signal(SIGINT, sig_die);
--
2.27.0

View File

@ -0,0 +1,29 @@
From 131ec613bab84b7894e428375cc360bb82a336a3 Mon Sep 17 00:00:00 2001
From: Steve Dickson <steved@redhat.com>
Date: Tue, 23 Jul 2024 12:06:28 -0400
Subject: [PATCH] nfsidmap: Fix a memory leak
Reported-by: Zhang Yaqi <zhangyaqi@kylinos.cn>
Signed-off-by: Steve Dickson <steved@redhat.com>
Reference:https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=131ec613bab84b7894e428375cc360bb82a336a3
Conflict:no
---
support/nfsidmap/umich_ldap.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/support/nfsidmap/umich_ldap.c b/support/nfsidmap/umich_ldap.c
index 1aa2af4..0f88ba4 100644
--- a/support/nfsidmap/umich_ldap.c
+++ b/support/nfsidmap/umich_ldap.c
@@ -200,6 +200,7 @@ static int set_krb5_ccname(const char *krb5_ccache_name)
IDMAP_LOG(5, ("Failed to set creds cache for kerberos, err(%d)",
retval));
}
+ free(env);
#endif /* else HAVE_GSS_KRB5_CCACHE_NAME */
out:
return retval;
--
1.8.3.1

View File

@ -0,0 +1,39 @@
From 92995e0d38dc00e930c562cf936220f83c09d082 Mon Sep 17 00:00:00 2001
From: Paulo Andrade <pandrade@redhat.com>
Date: Tue, 23 Jul 2024 12:03:30 -0400
Subject: [PATCH] rpc-gssd.service has status failed (due to rpc.gssd segfault)
Ensure strings are not NULL before doing a strdup() in error path.
Fixes: https://issues.redhat.com/browse/RHEL-43286
Signed-off-by: Steve Dickson <steved@redhat.com>
Reference:https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=92995e0d38dc00e930c562cf936220f83c09d082
Conflict:no
---
utils/gssd/gssd.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/utils/gssd/gssd.c b/utils/gssd/gssd.c
index d7a2822..01ce7d1 100644
--- a/utils/gssd/gssd.c
+++ b/utils/gssd/gssd.c
@@ -365,12 +365,12 @@ gssd_read_service_info(int dirfd, struct clnt_info *clp)
fail:
printerr(0, "ERROR: failed to parse %s/info\n", clp->relpath);
- clp->upcall_address = strdup(address);
- clp->upcall_port = strdup(port);
+ clp->upcall_address = address ? strdup(address) : NULL;
+ clp->upcall_port = port ? strdup(port) : NULL;
clp->upcall_program = program;
clp->upcall_vers = version;
- clp->upcall_protoname = strdup(protoname);
- clp->upcall_service = strdup(service);
+ clp->upcall_protoname = protoname ? strdup(protoname) : NULL;
+ clp->upcall_service = service ? strdup(service) : NULL;
free(servername);
free(protoname);
clp->servicename = NULL;
--
1.8.3.1

View File

@ -0,0 +1,32 @@
From 7916134e5d9b1641effd3b6d964c806a09cfdcee Mon Sep 17 00:00:00 2001
From: Steve Dickson <steved@redhat.com>
Date: Thu, 10 Aug 2023 11:57:39 -0400
Subject: [PATCH] Fixed a regression in the junction code
commit cdbef4e9 created a regression in the
in the junction code by adding a O_PATH flag
to the open() in junction_open_path()
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2213669
Signed-off-by: Steve Dickson <steved@redhat.com>
---
support/junction/junction.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/support/junction/junction.c b/support/junction/junction.c
index 0628bb0..c1ec8ff 100644
--- a/support/junction/junction.c
+++ b/support/junction/junction.c
@@ -63,7 +63,7 @@ junction_open_path(const char *pathname, int *fd)
if (pathname == NULL || fd == NULL)
return FEDFS_ERR_INVAL;
- tmp = open(pathname, O_PATH|O_DIRECTORY);
+ tmp = open(pathname, O_DIRECTORY);
if (tmp == -1) {
switch (errno) {
case EPERM:
--
2.33.0

View File

@ -0,0 +1,55 @@
From 90a23f7c6343bcb1b69c93ceccc14cc06e14d958 Mon Sep 17 00:00:00 2001
From: Aram Akhavan <github@aram.nubmail.ca>
Date: Sat, 15 Jul 2023 13:21:04 -0400
Subject: [PATCH] libnfsidmap: try to get the domain directly from hostname if
the DNS lookup fails and always show the log message if the domain can't be
determined
In nfs4_init_name_mapping(), if no domain is specified in the config file, the hostname will be looked up in DNS, and the domain extracted from that.
If DNS resolution isn't up at this time (i.e. on idmapd startup), the hardcoded domain in IDMAPD_DEFAULT_DOMAIN is used. This will break id mapping
for anyone who doesn't happen to use "localdomain". Previously, the log message indicating this has happened requires -v to be passed, so the
"failure" was silent by default.
Signed-off-by: Aram Akhavan <github@aram.nubmail.ca>
Signed-off-by: Steve Dickson <steved@redhat.com>
---
support/nfsidmap/libnfsidmap.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/support/nfsidmap/libnfsidmap.c b/support/nfsidmap/libnfsidmap.c
index 0a912e5..1db24d1 100644
--- a/support/nfsidmap/libnfsidmap.c
+++ b/support/nfsidmap/libnfsidmap.c
@@ -219,10 +219,16 @@ static int domain_from_dns(char **domain)
if (gethostname(hname, sizeof(hname)) == -1)
return -1;
- if ((he = gethostbyname(hname)) == NULL)
- return -1;
- if ((c = strchr(he->h_name, '.')) == NULL || *++c == '\0')
- return -1;
+ if ((he = gethostbyname(hname)) == NULL) {
+ IDMAP_LOG(1, ("libnfsidmap: DNS lookup of hostname failed. Attempting to use domain from hostname as is."));
+ if ((c = strchr(hname, '.')) == NULL || *++c == '\0')
+ return -1;
+ }
+ else {
+ if ((c = strchr(he->h_name, '.')) == NULL || *++c == '\0')
+ return -1;
+ }
+
/*
* Query DNS to see if the _nfsv4idmapdomain TXT record exists
* If so use it...
@@ -387,7 +393,7 @@ int nfs4_init_name_mapping(char *conffile)
dflt = 1;
ret = domain_from_dns(&default_domain);
if (ret) {
- IDMAP_LOG(1, ("libnfsidmap: Unable to determine "
+ IDMAP_LOG(0, ("libnfsidmap: Unable to determine "
"the NFSv4 domain; Using '%s' as the NFSv4 domain "
"which means UIDs will be mapped to the 'Nobody-User' "
"user defined in %s",
--
2.33.0

Binary file not shown.

BIN
nfs-utils-2.6.3.tar.xz Normal file

Binary file not shown.

View File

@ -3,7 +3,7 @@
%global _statdpath /var/lib/nfs/statd
Name: nfs-utils
Version: 2.6.2
Version: 2.6.3
Release: 3
Epoch: 2
Summary: The Linux NFS userland utility package
@ -15,9 +15,14 @@ Source0: https://www.kernel.org/pub/linux/utils/nfs-utils/%{version}/%{name}-%{v
Patch0: 0000-systemd-idmapd-require-rpc-pipefs.patch
Patch1: 0001-correct-the-statd-path-in-man.patch
Patch2: 0002-nfs-utils-set-use-gss-proxy-1-to-enable-gss-proxy-by.patch
Patch3: 0003-fix-coredump-in-bl_add_disk.patch
Patch4: 0004-nfs-blkmaped-Fix-the-error-status-when-nfs_blkmapd-s.patch
Patch5: 0005-nfs-blkmapd-PID-file-read-by-systemd-failed.patch
Patch3: 0003-export-fix-handling-of-error-from-match_fsid.patch
Patch4: 0004-export-move-cache_open-before-workers-are-forked.patch
Patch5: 0005-gssd-fix-handling-DNS-lookup-failure.patch
Patch6: 0006-nfsidmap-fix-a-memory-leak.patch
Patch7: 0007-rpc-gssd-service-has-status-failed-due-to-segfault.patch
Patch8: 0008-fixed-a-regression-in-the-junction-code.patch
Patch9: 0009-libnfsidmap-try-to-get-the-domain-directly-from-host.patch
BuildRequires: libevent-devel,libcap-devel, libtirpc-devel libblkid-devel
BuildRequires: krb5-libs >= 1.4 autoconf >= 2.57 openldap-devel >= 2.2
BuildRequires: automake, libtool, gcc, device-mapper-devel
@ -237,8 +242,8 @@ fi
%dir %attr(700,rpcuser,rpcuser) %{_sharedstatedir}/nfs/statd/sm
%dir %attr(700,rpcuser,rpcuser) %{_sharedstatedir}/nfs/statd/sm.bak
%ghost %attr(644,rpcuser,rpcuser) %{_statdpath}/state
%attr(0600,root,root) %config(noreplace) /usr/lib/modprobe.d/50-nfs.conf
%{_libexecdir}/nfsrahead
%{_udevrulesdir}/60-nfs.rules
%{_udevrulesdir}/99-nfs.rules
%attr(4755,root,root) /sbin/mount.nfs
/sbin/{rpc.statd,nfsdcltrack,osd_login,mount.nfs4,umount.*,nfsdcld}
@ -289,6 +294,21 @@ fi
%{_mandir}/*/*
%changelog
* Mon Nov 18 2024 zhangjian <zhangjian496@huawei.com> - 2:2.6.3-3
- backport bugfix patches from community
* Tue Sep 10 2024 zhangjian <zhangjian496@huawei.com> - 2:2.6.3-2
- backport bugfix patches from community
* Wed Jan 10 2024 wuguanghao <wuguanghao3@huawei.com> - 2:2.6.3-1
- upgrade version to 2.6.3
* Tue Dec 19 2023 wuguanghao <wuguanghao3@huawei.com> - 2:2.6.2-5
- backport bugfix patches from community
* Wed Mar 22 2023 wuguanghao <wuguanghao3@huawei.com> - 2:2.6.2-4
- backport patches from community
* Mon Nov 21 2022 fangchuang <fangchuangchuang@huawei.com> - 2:2.6.2-3
- nfs-blkmapd: PID file read by systemd failed