From: "Pali Rohár" <pali@kernel.org>
To: Steve French <sfrench@samba.org>,
Paulo Alcantara <pc@manguebit.com>,
Ronnie Sahlberg <ronniesahlberg@gmail.com>
Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/7] cifs: Improve mount option -o reparse and support for native Windows sockets
Date: Sun, 6 Oct 2024 12:00:39 +0200 [thread overview]
Message-ID: <20241006100046.30772-1-pali@kernel.org> (raw)
This patch series improves choosing reparse format when creating new
special files.
In following table is behavior of creating new special files before
this patch series. In columns are mount options, in rows are file types
and in each cell is reparse format which is created.
-o reparse=default -o reparse=nfs -o reparse=wsl
symlink native native native
socket nfs nfs wsl
fifo nfs nfs wsl
block nfs nfs wsl
char nfs nfs wsl
After this patch series the table looks like:
-o reparse=default -o reparse=nfs -o reparse=wsl -o reparse=native+nfs -o reparse=native+wsl -o reparse=native -o reparse=none
symlink native nfs wsl native native native -disallowed-
socket native nfs wsl native native native -disallowed-
fifo nfs nfs wsl nfs wsl -disallowed- -disallowed-
block nfs nfs wsl nfs wsl -disallowed- -disallowed-
char nfs nfs wsl nfs wsl -disallowed- -disallowed-
The default behavior when no option is specified (which is same as
-o reparse=default) changes only for creating new sockets which are
now created in its native NTFS form with IO_REPARSE_TAG_AF_UNIX reparse
tag.
The nfs and wsl behavior is changed to always create new special files
in its own formats.
There are new options native+nfs and native+wsl which creates by default
in native form (symlinks + sockets) and fallbacks to nfs/wsl for other
types (fifo, char, block). This is probably the most useful for
interoperability. Mount option -o reparse=default is now same as
-o reparse=native+nfs
For completeness there are also new options -o reparse=native which
allows to creating only native types used by Windows applications
(symlinks and sockets) and option -o reparse=none to completely disable
creating new reparse points.
Pali Rohár (7):
cifs: Add mount option -o reparse=native
cifs: Add mount option -o reparse=none
cifs: Add support for creating native Windows sockets
cifs: Add support for creating NFS-style symlinks
cifs: Improve guard for excluding $LXDEV xattr
cifs: Add support for creating WSL-style symlinks
cifs: Validate content of WSL reparse point buffers
fs/smb/client/cifsglob.h | 18 +++-
fs/smb/client/fs_context.c | 16 +++
fs/smb/client/fs_context.h | 4 +
fs/smb/client/reparse.c | 211 +++++++++++++++++++++++++++++++------
fs/smb/client/reparse.h | 2 +
5 files changed, 218 insertions(+), 33 deletions(-)
--
2.20.1
next reply other threads:[~2024-10-06 10:01 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-06 10:00 Pali Rohár [this message]
2024-10-06 10:00 ` [PATCH 1/7] cifs: Add mount option -o reparse=native Pali Rohár
2024-10-07 4:28 ` Steve French
2024-10-07 18:36 ` Pali Rohár
[not found] ` <CAH2r5mttO-aDq94QrLQm10xJRGLg=PULqX9fcfoykAweVVO+uQ@mail.gmail.com>
2024-10-10 22:21 ` Steve French
2024-10-10 22:38 ` Pali Rohár
[not found] ` <CAH2r5msEiD05ehJs_a05sP_rX7BkVH-9LZp8Sj6EFbpZA9bfrg@mail.gmail.com>
2024-10-10 22:44 ` Pali Rohár
2024-10-06 10:00 ` [PATCH 2/7] cifs: Add mount option -o reparse=none Pali Rohár
2024-10-06 10:00 ` [PATCH 3/7] cifs: Add support for creating native Windows sockets Pali Rohár
2024-10-10 21:47 ` Pali Rohár
2024-10-06 10:00 ` [PATCH 4/7] cifs: Add support for creating NFS-style symlinks Pali Rohár
2024-10-06 10:00 ` [PATCH 5/7] cifs: Improve guard for excluding $LXDEV xattr Pali Rohár
2024-10-06 10:00 ` [PATCH 6/7] cifs: Add support for creating WSL-style symlinks Pali Rohár
2024-10-10 21:50 ` Pali Rohár
2024-10-06 10:00 ` [PATCH 7/7] cifs: Validate content of WSL reparse point buffers Pali Rohár
2024-10-12 8:52 ` [PATCH v2 0/7] Allow to choose symlink and socket type Pali Rohár
2024-10-12 8:55 ` [PATCH v2 1/7] cifs: Add mount option -o symlink= for choosing symlink create type Pali Rohár
2024-10-12 8:55 ` [PATCH v2 2/7] cifs: Add mount option -o reparse=none Pali Rohár
2024-10-12 8:55 ` [PATCH v2 3/7] cifs: Add support for creating native Windows sockets Pali Rohár
2024-10-12 8:56 ` [PATCH v2 4/7] cifs: Add support for creating NFS-style symlinks Pali Rohár
2024-12-09 18:00 ` Pali Rohár
2024-10-12 8:56 ` [PATCH v2 5/7] cifs: Improve guard for excluding $LXDEV xattr Pali Rohár
2024-10-12 8:56 ` [PATCH v2 6/7] cifs: Add support for creating WSL-style symlinks Pali Rohár
2024-10-12 8:56 ` [PATCH v2 7/7] cifs: Validate content of WSL reparse point buffers Pali Rohár
[not found] ` <CAH2r5mtGqqM35Cy5k9NN=X05rTZPk-adhb7LgoV8PGNVL9P6FQ@mail.gmail.com>
2024-10-13 4:19 ` Fwd: [PATCH v2 0/7] Allow to choose symlink and socket type Steve French
2024-10-13 8:59 ` Pali Rohár
2024-10-13 13:38 ` Pali Rohár
2024-10-14 9:32 ` Pali Rohár
2024-10-28 10:13 ` Pali Rohár
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241006100046.30772-1-pali@kernel.org \
--to=pali@kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pc@manguebit.com \
--cc=ronniesahlberg@gmail.com \
--cc=sfrench@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox