From: Paulo Alcantara <pc@manguebit.com>
To: smfrench@gmail.com
Cc: linux-cifs@vger.kernel.org, Paulo Alcantara <pc@manguebit.com>
Subject: [PATCH v2 0/9] reparse points work
Date: Sat, 25 Nov 2023 23:55:01 -0300 [thread overview]
Message-ID: <20231126025510.28147-1-pc@manguebit.com> (raw)
Hi Steve,
This series contains reparse point fixes and improvements for SMB2+:
- Add support for creating character/block devices, sockets and fifos
via NFS reparse points by default.
- Add support for creating SMB symlinks via IO_REPARSE_TAG_SYMLINK
reparse points.
- smb2_compound_op()
* allow up to MAX_COMPOUND(5) commands in a single compound request
* introduce SMB2_OP_{GET,SET}_REPARSE commands
- Optimisations for dentry revalidation and read/write of reparse
points by reducing number of roundtrips.
- Fix renaming and hardlinking of reparse points
For people who pass 'mfsymlinks' and 'sfu' mount options, the
implementation is expected to avoid creating reparse points at all.
Volker Lendecke had suggested trying to create both SMB symlink and
mfsymlink in a single compound request but this series doesn't have
it. It could be implemented later.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
---
Changes in v2:
- Fix missing mode bits for SMB symlinks (reported by Steve)
- Fix uninitialised var warnings (reported by kernel test robot)
- Add dentry reval optimisation for SMB3 POSIX query info as well
---
Paulo Alcantara (9):
smb: client: extend smb2_compound_op() to accept more commands
smb: client: allow creating special files via reparse points
smb: client: allow creating symlinks via reparse points
smb: client: optimise reparse point querying
smb: client: fix renaming of reparse points
smb: client: fix hardlinking of reparse points
smb: client: cleanup smb2_query_reparse_point()
smb: client: optimise dentry revalidation for reparse points
smb: client: fix missing mode bits for SMB symlinks
fs/smb/client/cifsglob.h | 47 +-
fs/smb/client/cifsproto.h | 30 +-
fs/smb/client/cifssmb.c | 17 +-
fs/smb/client/dir.c | 7 +-
fs/smb/client/file.c | 10 +-
fs/smb/client/inode.c | 98 ++--
fs/smb/client/link.c | 29 +-
fs/smb/client/smb2glob.h | 26 +-
fs/smb/client/smb2inode.c | 1054 ++++++++++++++++++++++---------------
fs/smb/client/smb2ops.c | 297 ++++++-----
fs/smb/client/smb2proto.h | 29 +-
fs/smb/client/trace.h | 7 +-
12 files changed, 997 insertions(+), 654 deletions(-)
--
2.43.0
next reply other threads:[~2023-11-26 2:55 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-26 2:55 Paulo Alcantara [this message]
2023-11-26 2:55 ` [PATCH v2 1/9] smb: client: extend smb2_compound_op() to accept more commands Paulo Alcantara
2023-11-26 2:55 ` [PATCH v2 2/9] smb: client: allow creating special files via reparse points Paulo Alcantara
2023-11-26 2:55 ` [PATCH v2 3/9] smb: client: allow creating symlinks " Paulo Alcantara
2023-11-26 2:55 ` [PATCH v2 4/9] smb: client: optimise reparse point querying Paulo Alcantara
2023-11-26 2:55 ` [PATCH v2 5/9] smb: client: fix renaming of reparse points Paulo Alcantara
2023-11-26 2:55 ` [PATCH v2 6/9] smb: client: fix hardlinking " Paulo Alcantara
2023-11-26 2:55 ` [PATCH v2 7/9] smb: client: cleanup smb2_query_reparse_point() Paulo Alcantara
2023-11-26 2:55 ` [PATCH v2 8/9] smb: client: optimise dentry revalidation for reparse points Paulo Alcantara
2023-11-26 2:55 ` [PATCH v2 9/9] smb: client: fix missing mode bits for SMB symlinks Paulo Alcantara
2023-11-27 4:28 ` [PATCH v2 0/9] reparse points work Steve French
2023-11-27 10:14 ` Paulo Alcantara
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=20231126025510.28147-1-pc@manguebit.com \
--to=pc@manguebit.com \
--cc=linux-cifs@vger.kernel.org \
--cc=smfrench@gmail.com \
/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