summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/nfs-utils
diff options
context:
space:
mode:
authorTrevor Gamblin <tgamblin@baylibre.com>2023-07-20 16:07:05 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-07-25 15:27:33 +0100
commit795d8114d424670153cce21b6e6bdd7300c672d7 (patch)
tree9c0a7393fd53610496b1b3203c50f0b35fa7280d /meta/recipes-connectivity/nfs-utils
parenta776b31811a26e799da4fa381aca55e9d8c052d9 (diff)
downloadpoky-795d8114d424670153cce21b6e6bdd7300c672d7.tar.gz
nfs-utils: upgrade 2.6.2 -> 2.6.3
Changelog: http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=shortlog Three patches were removed as they're now upstream: 2c0b5249 Replace statfs64 with statfs 167f2336 Fix function prototypes 896946e3 mountd: Check for return of stat function do_compile still failed after removing these patches, reporting undefined references to 'event_base_new', 'sqlite3_open_v2', etc. This is fixed by backporting 0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch from upstream. (From OE-Core rev: 8042f96a90e979374299404dbe34164f9aa65079) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/nfs-utils')
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Replace-statfs64-with-statfs.patch171
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch80
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch34
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch93
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb (renamed from meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb)8
5 files changed, 84 insertions, 302 deletions
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Replace-statfs64-with-statfs.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Replace-statfs64-with-statfs.patch
deleted file mode 100644
index 40ceff9ae9..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Replace-statfs64-with-statfs.patch
+++ /dev/null
@@ -1,171 +0,0 @@
1From e89652b853ca7de671093ae44305fa3435e13d3d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 15 Dec 2022 13:29:43 -0800
4Subject: [PATCH] Replace statfs64 with statfs
5
6autoconf AC_SYS_LARGEFILE is used by configure to add needed defines
7when needed for enabling 64bit off_t, therefore replacing statfs64 with
8statfs should be functionally same. Additionally this helps compiling
9with latest musl where 64bit LFS functions like statfs64 and friends are
10now moved under _LARGEFILE64_SOURCE feature test macro, this works on
11glibc systems because _GNU_SOURCE macros also enables
12_LARGEFILE64_SOURCE indirectly. This is not case with musl and this
13latest issue is exposed.
14
15Upstream-Status: Submitted [https://lore.kernel.org/linux-nfs/20221215213605.4061853-1-raj.khem@gmail.com/T/#u]
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 support/export/cache.c | 14 +++++++-------
19 support/include/nfsd_path.h | 6 +++---
20 support/misc/nfsd_path.c | 24 ++++++++++++------------
21 utils/exportfs/exportfs.c | 4 ++--
22 4 files changed, 24 insertions(+), 24 deletions(-)
23
24diff --git a/support/export/cache.c b/support/export/cache.c
25index a5823e9..2497d4f 100644
26--- a/support/export/cache.c
27+++ b/support/export/cache.c
28@@ -346,27 +346,27 @@ static int uuid_by_path(char *path, int type, size_t uuidlen, char *uuid)
29
30 /* Possible sources of uuid are
31 * - blkid uuid
32- * - statfs64 uuid
33+ * - statfs uuid
34 *
35- * On some filesystems (e.g. vfat) the statfs64 uuid is simply an
36+ * On some filesystems (e.g. vfat) the statfs uuid is simply an
37 * encoding of the device that the filesystem is mounted from, so
38 * it we be very bad to use that (as device numbers change). blkid
39 * must be preferred.
40- * On other filesystems (e.g. btrfs) the statfs64 uuid contains
41+ * On other filesystems (e.g. btrfs) the statfs uuid contains
42 * important info that the blkid uuid cannot contain: This happens
43 * when multiple subvolumes are exported (they have the same
44- * blkid uuid but different statfs64 uuids).
45+ * blkid uuid but different statfs uuids).
46 * We rely on get_uuid_blkdev *knowing* which is which and not returning
47- * a uuid for filesystems where the statfs64 uuid is better.
48+ * a uuid for filesystems where the statfs uuid is better.
49 *
50 */
51- struct statfs64 st;
52+ struct statfs st;
53 char fsid_val[17];
54 const char *blkid_val = NULL;
55 const char *val;
56 int rc;
57
58- rc = nfsd_path_statfs64(path, &st);
59+ rc = nfsd_path_statfs(path, &st);
60
61 if (type == 0 && rc == 0) {
62 const unsigned long *bad;
63diff --git a/support/include/nfsd_path.h b/support/include/nfsd_path.h
64index 3b73aad..aa1e1dd 100644
65--- a/support/include/nfsd_path.h
66+++ b/support/include/nfsd_path.h
67@@ -7,7 +7,7 @@
68 #include <sys/stat.h>
69
70 struct file_handle;
71-struct statfs64;
72+struct statfs;
73
74 void nfsd_path_init(void);
75
76@@ -18,8 +18,8 @@ char * nfsd_path_prepend_dir(const char *dir, const char *pathname);
77 int nfsd_path_stat(const char *pathname, struct stat *statbuf);
78 int nfsd_path_lstat(const char *pathname, struct stat *statbuf);
79
80-int nfsd_path_statfs64(const char *pathname,
81- struct statfs64 *statbuf);
82+int nfsd_path_statfs(const char *pathname,
83+ struct statfs *statbuf);
84
85 char * nfsd_realpath(const char *path, char *resolved_path);
86
87diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
88index 65e53c1..c3dea4f 100644
89--- a/support/misc/nfsd_path.c
90+++ b/support/misc/nfsd_path.c
91@@ -184,46 +184,46 @@ nfsd_path_lstat(const char *pathname, struct stat *statbuf)
92 return nfsd_run_stat(nfsd_wq, nfsd_lstatfunc, pathname, statbuf);
93 }
94
95-struct nfsd_statfs64_data {
96+struct nfsd_statfs_data {
97 const char *pathname;
98- struct statfs64 *statbuf;
99+ struct statfs *statbuf;
100 int ret;
101 int err;
102 };
103
104 static void
105-nfsd_statfs64func(void *data)
106+nfsd_statfsfunc(void *data)
107 {
108- struct nfsd_statfs64_data *d = data;
109+ struct nfsd_statfs_data *d = data;
110
111- d->ret = statfs64(d->pathname, d->statbuf);
112+ d->ret = statfs(d->pathname, d->statbuf);
113 if (d->ret < 0)
114 d->err = errno;
115 }
116
117 static int
118-nfsd_run_statfs64(struct xthread_workqueue *wq,
119+nfsd_run_statfs(struct xthread_workqueue *wq,
120 const char *pathname,
121- struct statfs64 *statbuf)
122+ struct statfs *statbuf)
123 {
124- struct nfsd_statfs64_data data = {
125+ struct nfsd_statfs_data data = {
126 pathname,
127 statbuf,
128 0,
129 0
130 };
131- xthread_work_run_sync(wq, nfsd_statfs64func, &data);
132+ xthread_work_run_sync(wq, nfsd_statfsfunc, &data);
133 if (data.ret < 0)
134 errno = data.err;
135 return data.ret;
136 }
137
138 int
139-nfsd_path_statfs64(const char *pathname, struct statfs64 *statbuf)
140+nfsd_path_statfs(const char *pathname, struct statfs *statbuf)
141 {
142 if (!nfsd_wq)
143- return statfs64(pathname, statbuf);
144- return nfsd_run_statfs64(nfsd_wq, pathname, statbuf);
145+ return statfs(pathname, statbuf);
146+ return nfsd_run_statfs(nfsd_wq, pathname, statbuf);
147 }
148
149 struct nfsd_realpath_data {
150diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
151index 0897b22..6d79a5b 100644
152--- a/utils/exportfs/exportfs.c
153+++ b/utils/exportfs/exportfs.c
154@@ -513,7 +513,7 @@ validate_export(nfs_export *exp)
155 */
156 struct stat stb;
157 char *path = exportent_realpath(&exp->m_export);
158- struct statfs64 stf;
159+ struct statfs stf;
160 int fs_has_fsid = 0;
161
162 if (stat(path, &stb) < 0) {
163@@ -528,7 +528,7 @@ validate_export(nfs_export *exp)
164 if (!can_test())
165 return;
166
167- if (!statfs64(path, &stf) &&
168+ if (!statfs(path, &stf) &&
169 (stf.f_fsid.__val[0] || stf.f_fsid.__val[1]))
170 fs_has_fsid = 1;
171
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch
new file mode 100644
index 0000000000..5afc714f19
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch
@@ -0,0 +1,80 @@
1From b62a3fe424026b73ec6b1934483b16863c7dff23 Mon Sep 17 00:00:00 2001
2From: Wiktor Jaskulski <wjaskulski@adva.com>
3Date: Thu, 11 May 2023 15:28:23 -0400
4Subject: [PATCH] configure.ac: libevent and libsqlite3 checked when nfsv4 is
5 disabled
6
7Upstream-Status: Backport
8(http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=bc4a5deef9f820c55fdac3c0070364c17cd91cca)
9
10Signed-off-by: Steve Dickson <steved@redhat.com>
11Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
12---
13 configure.ac | 38 +++++++++++++++-----------------------
14 1 file changed, 15 insertions(+), 23 deletions(-)
15
16diff --git a/configure.ac b/configure.ac
17index 4ade528d..519cacbf 100644
18--- a/configure.ac
19+++ b/configure.ac
20@@ -335,42 +335,34 @@ AC_CHECK_HEADER(rpc/rpc.h, ,
21 AC_MSG_ERROR([Header file rpc/rpc.h not found - maybe try building with --enable-tirpc]))
22 CPPFLAGS="${nfsutils_save_CPPFLAGS}"
23
24+dnl check for libevent libraries and headers
25+AC_LIBEVENT
26+
27+dnl Check for sqlite3
28+AC_SQLITE3_VERS
29+
30+case $libsqlite3_cv_is_recent in
31+yes) ;;
32+unknown)
33+ dnl do not fail when cross-compiling
34+ AC_MSG_WARN([assuming sqlite is at least v3.3]) ;;
35+*)
36+ AC_MSG_ERROR([nfsdcld requires sqlite-devel]) ;;
37+esac
38+
39 if test "$enable_nfsv4" = yes; then
40- dnl check for libevent libraries and headers
41- AC_LIBEVENT
42
43 dnl check for the keyutils libraries and headers
44 AC_KEYUTILS
45
46- dnl Check for sqlite3
47- AC_SQLITE3_VERS
48-
49 if test "$enable_nfsdcld" = "yes"; then
50 AC_CHECK_HEADERS([libgen.h sys/inotify.h], ,
51 AC_MSG_ERROR([Cannot find header needed for nfsdcld]))
52-
53- case $libsqlite3_cv_is_recent in
54- yes) ;;
55- unknown)
56- dnl do not fail when cross-compiling
57- AC_MSG_WARN([assuming sqlite is at least v3.3]) ;;
58- *)
59- AC_MSG_ERROR([nfsdcld requires sqlite-devel]) ;;
60- esac
61 fi
62
63 if test "$enable_nfsdcltrack" = "yes"; then
64 AC_CHECK_HEADERS([libgen.h sys/inotify.h], ,
65 AC_MSG_ERROR([Cannot find header needed for nfsdcltrack]))
66-
67- case $libsqlite3_cv_is_recent in
68- yes) ;;
69- unknown)
70- dnl do not fail when cross-compiling
71- AC_MSG_WARN([assuming sqlite is at least v3.3]) ;;
72- *)
73- AC_MSG_ERROR([nfsdcltrack requires sqlite-devel]) ;;
74- esac
75 fi
76
77 else
78--
792.41.0
80
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch
deleted file mode 100644
index 13a21e5307..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 887ecc7837962e9be77a4fea7d9122648f73a84a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 15 Aug 2022 14:47:53 -0700
4Subject: [PATCH] mountd: Check for return of stat function
5
6simplify the check, stat() return 0 on success -1 on failure
7
8Fixes clang reported errors e.g.
9
10| v4clients.c:29:6: error: logical not is only applied to the left hand side of this comparison [-Werror,-Wlogical-not-parentheses]
11| if (!stat("/proc/fs/nfsd/clients", &sb) == 0 ||
12| ^ ~~
13
14Upstream-Status: Submitted [https://patchwork.kernel.org/project/linux-nfs/patch/20220816024403.2694169-1-raj.khem@gmail.com/]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16Cc: Konstantin Khorenko <khorenko@virtuozzo.com>
17Cc: Steve Dickson <steved@redhat.com>
18---
19 support/export/v4clients.c | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/support/export/v4clients.c b/support/export/v4clients.c
23index 5f15b61..3230251 100644
24--- a/support/export/v4clients.c
25+++ b/support/export/v4clients.c
26@@ -26,7 +26,7 @@ void v4clients_init(void)
27 {
28 struct stat sb;
29
30- if (!stat("/proc/fs/nfsd/clients", &sb) == 0 ||
31+ if (stat("/proc/fs/nfsd/clients", &sb) != 0 ||
32 !S_ISDIR(sb.st_mode))
33 return;
34 if (clients_fd >= 0)
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch
deleted file mode 100644
index 793bc4651c..0000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch
+++ /dev/null
@@ -1,93 +0,0 @@
1From cf0ffbb5c8fa167376926d12a63613f15aa7602f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 15 Aug 2022 14:50:15 -0700
4Subject: [PATCH] Fix function prototypes
5
6Clang is now erroring out on functions with out parameter types
7
8Fixes errors like
9error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
10
11Upstream-Status: Submitted [https://patchwork.kernel.org/project/linux-nfs/patch/20220816024403.2694169-2-raj.khem@gmail.com/]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 support/export/auth.c | 2 +-
15 support/export/v4root.c | 2 +-
16 support/export/xtab.c | 2 +-
17 utils/exportfs/exportfs.c | 4 ++--
18 utils/mount/network.c | 2 +-
19 5 files changed, 6 insertions(+), 6 deletions(-)
20
21diff --git a/support/export/auth.c b/support/export/auth.c
22index 03ce4b8..2d7960f 100644
23--- a/support/export/auth.c
24+++ b/support/export/auth.c
25@@ -82,7 +82,7 @@ check_useipaddr(void)
26 }
27
28 unsigned int
29-auth_reload()
30+auth_reload(void)
31 {
32 struct stat stb;
33 static ino_t last_inode;
34diff --git a/support/export/v4root.c b/support/export/v4root.c
35index c12a7d8..fbb0ad5 100644
36--- a/support/export/v4root.c
37+++ b/support/export/v4root.c
38@@ -198,7 +198,7 @@ static int v4root_add_parents(nfs_export *exp)
39 * looking for components of the v4 mount.
40 */
41 void
42-v4root_set()
43+v4root_set(void)
44 {
45 nfs_export *exp;
46 int i;
47diff --git a/support/export/xtab.c b/support/export/xtab.c
48index c888a80..e210ca9 100644
49--- a/support/export/xtab.c
50+++ b/support/export/xtab.c
51@@ -135,7 +135,7 @@ xtab_write(char *xtab, char *xtabtmp, char *lockfn, int is_export)
52 }
53
54 int
55-xtab_export_write()
56+xtab_export_write(void)
57 {
58 return xtab_write(etab.statefn, etab.tmpfn, etab.lockfn, 1);
59 }
60diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
61index 6ba615d..0897b22 100644
62--- a/utils/exportfs/exportfs.c
63+++ b/utils/exportfs/exportfs.c
64@@ -69,14 +69,14 @@ static int _lockfd = -1;
65 * need these additional lockfile() routines.
66 */
67 static void
68-grab_lockfile()
69+grab_lockfile(void)
70 {
71 _lockfd = open(lockfile, O_CREAT|O_RDWR, 0666);
72 if (_lockfd != -1)
73 lockf(_lockfd, F_LOCK, 0);
74 }
75 static void
76-release_lockfile()
77+release_lockfile(void)
78 {
79 if (_lockfd != -1) {
80 lockf(_lockfd, F_ULOCK, 0);
81diff --git a/utils/mount/network.c b/utils/mount/network.c
82index ed2f825..01ead49 100644
83--- a/utils/mount/network.c
84+++ b/utils/mount/network.c
85@@ -179,7 +179,7 @@ static const unsigned long probe_mnt3_only[] = {
86
87 static const unsigned int *nfs_default_proto(void);
88 #ifdef MOUNT_CONFIG
89-static const unsigned int *nfs_default_proto()
90+static const unsigned int *nfs_default_proto(void)
91 {
92 extern unsigned long config_default_proto;
93 /*
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb
index 21df1803c5..4454285789 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb
@@ -30,11 +30,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
30 file://bugfix-adjust-statd-service-name.patch \ 30 file://bugfix-adjust-statd-service-name.patch \
31 file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \ 31 file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
32 file://clang-warnings.patch \ 32 file://clang-warnings.patch \
33 file://0005-mountd-Check-for-return-of-stat-function.patch \ 33 file://0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch \
34 file://0006-Fix-function-prototypes.patch \
35 file://0001-Replace-statfs64-with-statfs.patch \
36 " 34 "
37SRC_URI[sha256sum] = "5200873e81c4d610e2462fc262fe18135f2dbe78b7979f95accd159ae64d5011" 35SRC_URI[sha256sum] = "38d89e853a71d3c560ff026af3d969d75e24f782ff68324e76261fe0344459e1"
38 36
39# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will 37# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
40# pull in the remainder of the dependencies. 38# pull in the remainder of the dependencies.
@@ -62,6 +60,8 @@ EXTRA_OECONF = "--with-statduser=rpcuser \
62 --with-rpcgen=${HOSTTOOLS_DIR}/rpcgen \ 60 --with-rpcgen=${HOSTTOOLS_DIR}/rpcgen \
63 " 61 "
64 62
63LDFLAGS:append = " -lsqlite3 -levent"
64
65PACKAGECONFIG ??= "tcp-wrappers \ 65PACKAGECONFIG ??= "tcp-wrappers \
66 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ 66 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
67" 67"