- From 2aaa05247feca5ba961307c43a6e6bc7186c8cc9 Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Thu, 31 Jul 2025 14:44:36 +0200
- Subject: [PATCH 1/3] daemon: Bump
- |FILE_REMOTE_PROTOCOL_INFORMATION.StructureVersion| to |4|
- Bump |FILE_REMOTE_PROTOCOL_INFORMATION.StructureVersion| to |4| to
- avoid issues with software who considers the results as invalid because
- |StructureVersion| is less than |4|.
- Reported-by: Lionel Cons <Lionelcons1972@gmail.com>
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- daemon/fileinfoutil.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
- diff --git a/daemon/fileinfoutil.c b/daemon/fileinfoutil.c
- index 8af628e..2556c87 100644
- --- a/daemon/fileinfoutil.c
- +++ b/daemon/fileinfoutil.c
- @@ -219,7 +219,7 @@ void nfs_to_remote_protocol_info(
- {
- (void)memset(rpi_out, 0, sizeof(FILE_REMOTE_PROTOCOL_INFORMATION));
- - rpi_out->StructureVersion = 1;
- + rpi_out->StructureVersion = 4;
- rpi_out->StructureSize = sizeof(FILE_REMOTE_PROTOCOL_INFORMATION);
- rpi_out->Protocol = WNNC_NET_RDR2SAMPLE; /* FIXME! */
- --
- 2.45.1
- From 093c537c2f27d99fdce6b119fa49ef112f72e603 Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Sat, 2 Aug 2025 15:47:06 +0200
- Subject: [PATCH 2/3] include,tests: Add new Windows 11 volume flags
- Add new Windows 11 volume flags FILE_SUPPORTS_BYPASS_IO,
- FILE_SUPPORTS_STREAM_SNAPSHOTS and FILE_SUPPORTS_CASE_SENSITIVE_DIRS.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- include/from_kernel.h | 3 ++
- tests/winfsinfo1/winfsinfo.c | 66 ++++++++++++++++--------------------
- 2 files changed, 33 insertions(+), 36 deletions(-)
- diff --git a/include/from_kernel.h b/include/from_kernel.h
- index 3361aef..b9640a1 100644
- --- a/include/from_kernel.h
- +++ b/include/from_kernel.h
- @@ -483,6 +483,9 @@ typedef enum _FSINFOCLASS {
- #define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
- #define FILE_RETURNS_CLEANUP_RESULT_INFO 0x00000200
- #define FILE_SUPPORTS_POSIX_UNLINK_RENAME 0x00000400
- +#define FILE_SUPPORTS_BYPASS_IO 0x00000800
- +#define FILE_SUPPORTS_STREAM_SNAPSHOTS 0x00001000
- +#define FILE_SUPPORTS_CASE_SENSITIVE_DIRS 0x00002000
- #define FILE_VOLUME_IS_COMPRESSED 0x00008000
- #define FILE_SUPPORTS_OBJECT_IDS 0x00010000
- #define FILE_SUPPORTS_ENCRYPTION 0x00020000
- diff --git a/tests/winfsinfo1/winfsinfo.c b/tests/winfsinfo1/winfsinfo.c
- index e6d9f9c..5aa3041 100644
- --- a/tests/winfsinfo1/winfsinfo.c
- +++ b/tests/winfsinfo1/winfsinfo.c
- @@ -163,42 +163,36 @@ int getvolumeinfo(const char *progname, const char *filename)
- volumeFlags &= ~(s); \
- }
- - TESTVOLFLAG(FILE_SUPPORTS_USN_JOURNAL);
- - TESTVOLFLAG(FILE_SUPPORTS_OPEN_BY_FILE_ID);
- - TESTVOLFLAG(FILE_SUPPORTS_EXTENDED_ATTRIBUTES);
- - TESTVOLFLAG(FILE_SUPPORTS_HARD_LINKS);
- - TESTVOLFLAG(FILE_SUPPORTS_TRANSACTIONS);
- - TESTVOLFLAG(FILE_SEQUENTIAL_WRITE_ONCE);
- - TESTVOLFLAG(FILE_READ_ONLY_VOLUME);
- - TESTVOLFLAG(FILE_NAMED_STREAMS);
- - TESTVOLFLAG(FILE_SUPPORTS_ENCRYPTION);
- - TESTVOLFLAG(FILE_SUPPORTS_OBJECT_IDS);
- - TESTVOLFLAG(FILE_VOLUME_IS_COMPRESSED);
- - TESTVOLFLAG(FILE_SUPPORTS_REMOTE_STORAGE);
- - TESTVOLFLAG(FILE_RETURNS_CLEANUP_RESULT_INFO);
- - TESTVOLFLAG(FILE_SUPPORTS_POSIX_UNLINK_RENAME);
- - TESTVOLFLAG(FILE_SUPPORTS_REPARSE_POINTS);
- - TESTVOLFLAG(FILE_SUPPORTS_SPARSE_FILES);
- - TESTVOLFLAG(FILE_VOLUME_QUOTAS);
- - TESTVOLFLAG(FILE_FILE_COMPRESSION);
- - TESTVOLFLAG(FILE_PERSISTENT_ACLS);
- - TESTVOLFLAG(FILE_UNICODE_ON_DISK);
- - TESTVOLFLAG(FILE_CASE_PRESERVED_NAMES);
- - TESTVOLFLAG(FILE_CASE_SENSITIVE_SEARCH);
- - TESTVOLFLAG(FILE_SUPPORTS_INTEGRITY_STREAMS);
- -#ifdef FILE_SUPPORTS_BLOCK_REFCOUNTING
- - TESTVOLFLAG(FILE_SUPPORTS_BLOCK_REFCOUNTING);
- -#endif
- -#ifdef FILE_SUPPORTS_SPARSE_VDL
- - TESTVOLFLAG(FILE_SUPPORTS_SPARSE_VDL);
- -#endif
- -#ifdef FILE_DAX_VOLUME
- - TESTVOLFLAG(FILE_DAX_VOLUME);
- -#endif
- -#ifdef FILE_SUPPORTS_GHOSTING
- - TESTVOLFLAG(FILE_SUPPORTS_GHOSTING);
- -#endif
- -
- + TESTVOLFLAG(FILE_CASE_SENSITIVE_SEARCH)
- + TESTVOLFLAG(FILE_CASE_PRESERVED_NAMES)
- + TESTVOLFLAG(FILE_UNICODE_ON_DISK)
- + TESTVOLFLAG(FILE_PERSISTENT_ACLS)
- + TESTVOLFLAG(FILE_FILE_COMPRESSION)
- + TESTVOLFLAG(FILE_VOLUME_QUOTAS)
- + TESTVOLFLAG(FILE_SUPPORTS_SPARSE_FILES)
- + TESTVOLFLAG(FILE_SUPPORTS_REPARSE_POINTS)
- + TESTVOLFLAG(FILE_SUPPORTS_REMOTE_STORAGE)
- + TESTVOLFLAG(FILE_RETURNS_CLEANUP_RESULT_INFO)
- + TESTVOLFLAG(FILE_SUPPORTS_POSIX_UNLINK_RENAME)
- + TESTVOLFLAG(FILE_SUPPORTS_BYPASS_IO)
- + TESTVOLFLAG(FILE_SUPPORTS_STREAM_SNAPSHOTS)
- + TESTVOLFLAG(FILE_SUPPORTS_CASE_SENSITIVE_DIRS)
- + TESTVOLFLAG(FILE_VOLUME_IS_COMPRESSED)
- + TESTVOLFLAG(FILE_SUPPORTS_OBJECT_IDS)
- + TESTVOLFLAG(FILE_SUPPORTS_ENCRYPTION)
- + TESTVOLFLAG(FILE_NAMED_STREAMS)
- + TESTVOLFLAG(FILE_READ_ONLY_VOLUME)
- + TESTVOLFLAG(FILE_SEQUENTIAL_WRITE_ONCE)
- + TESTVOLFLAG(FILE_SUPPORTS_TRANSACTIONS)
- + TESTVOLFLAG(FILE_SUPPORTS_HARD_LINKS)
- + TESTVOLFLAG(FILE_SUPPORTS_EXTENDED_ATTRIBUTES)
- + TESTVOLFLAG(FILE_SUPPORTS_OPEN_BY_FILE_ID)
- + TESTVOLFLAG(FILE_SUPPORTS_USN_JOURNAL)
- + TESTVOLFLAG(FILE_SUPPORTS_INTEGRITY_STREAMS)
- + TESTVOLFLAG(FILE_SUPPORTS_BLOCK_REFCOUNTING)
- + TESTVOLFLAG(FILE_SUPPORTS_SPARSE_VDL)
- + TESTVOLFLAG(FILE_DAX_VOLUME)
- + TESTVOLFLAG(FILE_SUPPORTS_GHOSTING)
- /*
- * print any leftover flags not covered by |TESTVOLFLAG(FILE_*)|
- --
- 2.45.1
- From f4f4661050003d0f8596ff7aebe6e6ceb94e655e Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Sat, 2 Aug 2025 18:11:13 +0200
- Subject: [PATCH 3/3] daemon: Set volume flag
- |FILE_SUPPORTS_CASE_SENSITIVE_DIRS| for |FileCaseSensitiveInformation|
- Set volume flag |FILE_SUPPORTS_CASE_SENSITIVE_DIRS| to announce
- |FileCaseSensitiveInformation| support.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- daemon/nfs41_superblock.c | 3 +++
- 1 file changed, 3 insertions(+)
- diff --git a/daemon/nfs41_superblock.c b/daemon/nfs41_superblock.c
- index 977a4c1..eb8a938 100644
- --- a/daemon/nfs41_superblock.c
- +++ b/daemon/nfs41_superblock.c
- @@ -195,6 +195,9 @@ void nfs41_superblock_fs_attributes(
- /* NFSv4 protocol uses Unicode by default */
- FsAttrs->FileSystemAttributes |= FILE_UNICODE_ON_DISK;
- + /* We support |FileCaseSensitiveInformation| to query each dir */
- + FsAttrs->FileSystemAttributes |= FILE_SUPPORTS_CASE_SENSITIVE_DIRS;
- +
- if (superblock->link_support)
- FsAttrs->FileSystemAttributes |= FILE_SUPPORTS_HARD_LINKS;
- if (superblock->symlink_support)
- --
- 2.45.1
msnfs41client: Patches for Win11 volume flags+misc, 2025-08-02
Posted by Anonymous on Sat 2nd Aug 2025 18:00
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.