- From 0c2c4d1ad9bc9432cb0544dc2fd30d4803dc0a9a Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Wed, 5 Nov 2025 19:59:42 +0100
- Subject: [PATCH 1/3] sys: Map |ERROR_NOT_SUPPORTED| to |STATUS_NOT_SUPPORTED|,
- map |ERROR_CALL_NOT_IMPLEMENTED| to |STATUS_NOT_IMPLEMENTED|
- |map_setfile_error()|,|map_query_acl_error()|,|map_mount_errors()|
- should map |ERROR_NOT_SUPPORTED| to |STATUS_NOT_SUPPORTED|,
- and add a mapping from |ERROR_CALL_NOT_IMPLEMENTED| to
- |STATUS_NOT_IMPLEMENTED|
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- sys/nfs41sys_acl.c | 1 +
- sys/nfs41sys_fileinfo.c | 3 ++-
- sys/nfs41sys_mount.c | 1 +
- 3 files changed, 4 insertions(+), 1 deletion(-)
- diff --git a/sys/nfs41sys_acl.c b/sys/nfs41sys_acl.c
- index 3cab187..d8e4aa8 100644
- --- a/sys/nfs41sys_acl.c
- +++ b/sys/nfs41sys_acl.c
- @@ -183,6 +183,7 @@ NTSTATUS map_query_acl_error(
- {
- switch (error) {
- case NO_ERROR: return STATUS_SUCCESS;
- + case ERROR_CALL_NOT_IMPLEMENTED:return STATUS_NOT_IMPLEMENTED;
- case ERROR_NOT_SUPPORTED: return STATUS_NOT_SUPPORTED;
- case ERROR_NONE_MAPPED: return STATUS_NONE_MAPPED;
- case ERROR_ACCESS_DENIED: return STATUS_ACCESS_DENIED;
- diff --git a/sys/nfs41sys_fileinfo.c b/sys/nfs41sys_fileinfo.c
- index aaa2018..7fc38bf 100644
- --- a/sys/nfs41sys_fileinfo.c
- +++ b/sys/nfs41sys_fileinfo.c
- @@ -546,7 +546,8 @@ NTSTATUS map_setfile_error(
- case ERROR_DIRECTORY_NOT_SUPPORTED: return STATUS_FILE_IS_A_DIRECTORY;
- case ERROR_FILE_INVALID: return STATUS_FILE_INVALID;
- case ERROR_NOT_SAME_DEVICE: return STATUS_NOT_SAME_DEVICE;
- - case ERROR_NOT_SUPPORTED: return STATUS_NOT_IMPLEMENTED;
- + case ERROR_CALL_NOT_IMPLEMENTED: return STATUS_NOT_IMPLEMENTED;
- + case ERROR_NOT_SUPPORTED: return STATUS_NOT_SUPPORTED;
- case ERROR_NETWORK_ACCESS_DENIED: return STATUS_NETWORK_ACCESS_DENIED;
- case ERROR_NETNAME_DELETED: return STATUS_NETWORK_NAME_DELETED;
- case ERROR_BUFFER_OVERFLOW: return STATUS_INSUFFICIENT_RESOURCES;
- diff --git a/sys/nfs41sys_mount.c b/sys/nfs41sys_mount.c
- index 80c4c3b..1f330c9 100644
- --- a/sys/nfs41sys_mount.c
- +++ b/sys/nfs41sys_mount.c
- @@ -255,6 +255,7 @@ NTSTATUS map_mount_errors(
- case ERROR_BAD_NET_RESP: return STATUS_UNEXPECTED_NETWORK_ERROR;
- case ERROR_BAD_NET_NAME: return STATUS_BAD_NETWORK_NAME;
- case ERROR_BAD_NETPATH: return STATUS_BAD_NETWORK_PATH;
- + case ERROR_CALL_NOT_IMPLEMENTED: return STATUS_NOT_IMPLEMENTED;
- case ERROR_NOT_SUPPORTED: return STATUS_NOT_SUPPORTED;
- case ERROR_NFS_VERSION_MISMATCH: return STATUS_NFS_VERSION_MISMATCH;
- case ERROR_BAD_ARGUMENTS: return STATUS_INVALID_PARAMETER;
- --
- 2.51.0
- From 75955c7e47c33c5ebaea53e468d90df418df5656 Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Wed, 5 Nov 2025 20:11:19 +0100
- Subject: [PATCH 2/3] daemon: Fix NFSv4.2 SEEK EOF detection
- Fix NFSv4.2 SEEK EOF detection for files which are one single hole,
- or end with one hole.
- Found with nfs-ganesha release "V9.0".
- Reported-by: Lionel Cons <lionelcons1972@gmail.com>
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- daemon/fsctl.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
- diff --git a/daemon/fsctl.c b/daemon/fsctl.c
- index a8353c1..a12d5d8 100644
- --- a/daemon/fsctl.c
- +++ b/daemon/fsctl.c
- @@ -179,6 +179,17 @@ int query_sparsefile_datasections(nfs41_open_state *state,
- (int)data_seek_sr_eof,
- (int)hole_seek_sr_eof));
- + /*
- + * Check whether we reached an EOF
- + */
- + if ((data_size == 0LL) &&
- + ((data_seek_sr_eof == TRUE) || (hole_seek_sr_eof == TRUE))) {
- + DPRINTF(QARLVL,
- + ("(data_size==0)&&"
- + "(data_seek_sr_eof==TRUE||hole_seek_sr_eof==TRUE), EOF\n"));
- + break;
- + }
- +
- if (i < out_maxrecords) {
- outbuffer[i].FileOffset.QuadPart = data_seek_sr_offset;
- outbuffer[i].Length.QuadPart = data_size;
- --
- 2.51.0
- From 485f65c36f2b1a2f07845c310d1f2f26c4dc562a Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Wed, 5 Nov 2025 20:33:12 +0100
- Subject: [PATCH 3/3] tests: Update FreeBSD nfsd setup with comment about
- client-side "wheel" group
- Update FreeBSD nfsd setup with comment about client-side "wheel" group.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- tests/nfs_server_setup.txt | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
- diff --git a/tests/nfs_server_setup.txt b/tests/nfs_server_setup.txt
- index 00f802d..e802e80 100644
- --- a/tests/nfs_server_setup.txt
- +++ b/tests/nfs_server_setup.txt
- @@ -225,7 +225,12 @@ printf 'V4: /\n' >'/etc/exports'
- printf '/nfsdata -network=10.49.202.0 -mask=255.255.255.0 -sec=sys\n' >>'/etc/exports'
- service nfsd start
- -##### 2. Misc commands:
- +##### 2. ms-nfs41-client setup:
- +- Normal setup
- +- Add groups entry for group "wheel" if neccesary:
- +$ printf 'wheel:S-1-0-0:0:\n' >>'/etc/group'
- +
- +##### 3. Misc commands:
- pw groupadd group -n None -g 197121
- pw groupadd group -n ced -g 197608
- pw useradd -n ced -u 197608 -g None -G None,ced -m -s /bin/sh
- --
- 2.51.0
msnfs41client: Patches for NFSv4.2 SEEK+misc, 2025-11-05-002
Posted by Anonymous on Wed 5th Nov 2025 20:09
raw | new post
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.
rovema.kpaste.net RSS