Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30 |
|
#
7449d736 |
| 01-May-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: introduce SMB2_OP_QUERY_WSL_EA
[ Upstream commit ea41367b2a602f602ea6594fc4a310520dcc64f4 ]
Add a new command to smb2_compound_op() for querying WSL extended attributes from reparse po
smb: client: introduce SMB2_OP_QUERY_WSL_EA
[ Upstream commit ea41367b2a602f602ea6594fc4a310520dcc64f4 ]
Add a new command to smb2_compound_op() for querying WSL extended attributes from reparse points.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25, v6.6.24, v6.6.23, v6.6.16, v6.6.15 |
|
#
df0a8a19 |
| 26-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: add support for WSL reparse points
[ Upstream commit 5a4b09ecf8e8ad26ea03a37e52e310fe13f15b49 ]
Add support for creating special files via WSL reparse points when using 'reparse=wsl' m
smb: client: add support for WSL reparse points
[ Upstream commit 5a4b09ecf8e8ad26ea03a37e52e310fe13f15b49 ]
Add support for creating special files via WSL reparse points when using 'reparse=wsl' mount option. They're faster than NFS reparse points because they don't require extra roundtrips to figure out what ->d_type a specific dirent is as such information is already stored in query dir responses and then making getdents() calls faster.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.14 |
|
#
831ffbd1 |
| 25-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: reduce number of parameters in smb2_compound_op()
[ Upstream commit fa792d8d235c20df5f422e4bd172db1efde55ab9 ]
Replace @desired_access, @create_disposition, @create_options and @mode p
smb: client: reduce number of parameters in smb2_compound_op()
[ Upstream commit fa792d8d235c20df5f422e4bd172db1efde55ab9 ]
Replace @desired_access, @create_disposition, @create_options and @mode parameters with a single @oparms.
No functional changes.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
84c597f7 |
| 25-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: fix potential broken compound request
[ Upstream commit 6914d288c63682e20e0f6e1e0b8e8f5847012d67 ]
Now that smb2_compound_op() can accept up to 5 commands in a single compound request,
smb: client: fix potential broken compound request
[ Upstream commit 6914d288c63682e20e0f6e1e0b8e8f5847012d67 ]
Now that smb2_compound_op() can accept up to 5 commands in a single compound request, set the appropriate NextCommand and related flags to all subsequent commands as well as handling the case where a valid @cfile is passed and therefore skipping create and close requests in the compound chain.
This fix a potential broken compound request that could be sent from smb2_get_reparse_inode() if the client found a valid open file (@cfile) prior to calling smb2_compound_op().
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
1e60bc0e |
| 05-Mar-2024 |
Meetakshi Setiya <msetiya@microsoft.com> |
smb: client: retry compound request without reusing lease
[ Upstream commit 71f15c90e785d1de4bcd65a279e7256684c25c0d ]
There is a shortcoming in the current implementation of the file lease mechani
smb: client: retry compound request without reusing lease
[ Upstream commit 71f15c90e785d1de4bcd65a279e7256684c25c0d ]
There is a shortcoming in the current implementation of the file lease mechanism exposed when the lease keys were attempted to be reused for unlink, rename and set_path_size operations for a client. As per MS-SMB2, lease keys are associated with the file name. Linux smb client maintains lease keys with the inode. If the file has any hardlinks, it is possible that the lease for a file be wrongly reused for an operation on the hardlink or vice versa. In these cases, the mentioned compound operations fail with STATUS_INVALID_PARAMETER. This patch adds a fallback to the old mechanism of not sending any lease with these compound operations if the request with lease key fails with STATUS_INVALID_PARAMETER. Resending the same request without lease key should not hurt any functionality, but might impact performance especially in cases where the error is not because of the usage of wrong lease key and we might end up doing an extra roundtrip.
Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
b6e27f7f |
| 01-May-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: do not defer close open handles to deleted files
[ Upstream commit ffceb7640cbfe6ea60e7769e107451d63a2fe3d3 ]
When a file/dentry has been deleted before closing all its open handles, c
smb: client: do not defer close open handles to deleted files
[ Upstream commit ffceb7640cbfe6ea60e7769e107451d63a2fe3d3 ]
When a file/dentry has been deleted before closing all its open handles, currently, closing them can add them to the deferred close list. This can lead to problems in creating file with the same name when the file is re-created before the deferred close completes. This issue was seen while reusing a client's already existing lease on a file for compound operations and xfstest 591 failed because of the deferred close handle that remained valid even after the file was deleted and was being reused to create a file with the same name. The server in this case returns an error on open with STATUS_DELETE_PENDING. Recreating the file would fail till the deferred handles are closed (duration specified in closetimeo).
This patch fixes the issue by flagging all open handles for the deleted file (file path to be precise) by setting status_file_deleted to true in the cifsFileInfo structure. As per the information classes specified in MS-FSCC, SMB2 query info response from the server has a DeletePending field, set to true to indicate that deletion has been requested on that file. If this is the case, flag the open handles for this file too.
When doing close in cifs_close for each of these handles, check the value of this boolean field and do not defer close these handles if the corresponding filepath has been deleted.
Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
f93d145f |
| 05-Mar-2024 |
Meetakshi Setiya <msetiya@microsoft.com> |
smb: client: reuse file lease key in compound operations
[ Upstream commit 2c7d399e551ccfd87bcae4ef5573097f3313d779 ]
Currently, when a rename, unlink or set path size compound operation is request
smb: client: reuse file lease key in compound operations
[ Upstream commit 2c7d399e551ccfd87bcae4ef5573097f3313d779 ]
Currently, when a rename, unlink or set path size compound operation is requested on a file that has a lot of dirty pages to be written to the server, we do not send the lease key for these requests. As a result, the server can assume that this request is from a new client, and send a lease break notification to the same client, on the same connection. As a response to the lease break, the client can consume several credits to write the dirty pages to the server. Depending on the server's credit grant implementation, the server can stop granting more credits to this connection, and this can cause a deadlock (which can only be resolved when the lease timer on the server expires). One of the problems here is that the client is sending no lease key, even if it has a lease for the file. This patch fixes the problem by reusing the existing lease key on the file for rename, unlink and set path size compound operations so that the client does not break its own lease.
A very trivial example could be a set of commands by a client that maintains open handle (for write) to a file and then tries to copy the contents of that file to another one, eg.,
tail -f /dev/null > myfile & mv myfile myfile2
Presently, the network capture on the client shows that the move (or rename) would trigger a lease break on the same client, for the same file. With the lease key reused, the lease break request-response overhead is eliminated, thereby reducing the roundtrips performed for this set of operations.
The patch fixes the bug described above and also provides perf benefit.
Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.13 |
|
#
cfb8f73d |
| 18-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: get rid of smb311_posix_query_path_info()
[ Upstream commit f83709b9e0eb7048d74ba4515f268c6eacbce9c9 ]
Merge smb311_posix_query_path_info into ->query_path_info() to get rid of duplica
smb: client: get rid of smb311_posix_query_path_info()
[ Upstream commit f83709b9e0eb7048d74ba4515f268c6eacbce9c9 ]
Merge smb311_posix_query_path_info into ->query_path_info() to get rid of duplicate code.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
a90f37e3 |
| 01-May-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: parse owner/group when creating reparse points
[ Upstream commit 858e74876c5cbff1dfd5bace99e32fbce2abd4b5 ]
Parse owner/group when creating special files and symlinks under SMB3.1.1 PO
smb: client: parse owner/group when creating reparse points
[ Upstream commit 858e74876c5cbff1dfd5bace99e32fbce2abd4b5 ]
Parse owner/group when creating special files and symlinks under SMB3.1.1 POSIX mounts.
Move the parsing of owner/group to smb2_compound_op() so we don't have to duplicate it in both smb2_get_reparse_inode() and smb311_posix_query_path_info().
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
433042a9 |
| 20-Jan-2024 |
Shyam Prasad N <sprasad@microsoft.com> |
cifs: commands that are retried should have replay flag set
[ Upstream commit 4f1fffa2376922f3d1d506e49c0fd445b023a28e ]
MS-SMB2 states that the header flag SMB2_FLAGS_REPLAY_OPERATION needs to be
cifs: commands that are retried should have replay flag set
[ Upstream commit 4f1fffa2376922f3d1d506e49c0fd445b023a28e ]
MS-SMB2 states that the header flag SMB2_FLAGS_REPLAY_OPERATION needs to be set when a command needs to be retried, so that the server is aware that this is a replay for an operation that appeared before.
This can be very important, for example, for state changing operations and opens which get retried following a reconnect; since the client maybe unaware of the status of the previous open.
This is particularly important for multichannel scenario, since disconnection of one connection does not mean that the session is lost. The requests can be replayed on another channel.
This change also makes use of exponential back-off before replays and also limits the number of retries to "retrans" mount option value.
Also, this change does not modify the read/write codepath.
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4, v6.6.3 |
|
#
870c73ab |
| 25-Nov-2023 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: cleanup smb2_query_reparse_point()
[ Upstream commit 3ded18a9e9d22a9cba8acad24b77a87851f9c9fa ]
Use smb2_compound_op() with SMB2_OP_GET_REPARSE to get reparse point.
Signed-off-by: Pa
smb: client: cleanup smb2_query_reparse_point()
[ Upstream commit 3ded18a9e9d22a9cba8acad24b77a87851f9c9fa ]
Use smb2_compound_op() with SMB2_OP_GET_REPARSE to get reparse point.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
a158bb66 |
| 28-Apr-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: optimise reparse point querying
[ Upstream commit 67ec9949b0dfe78c99e110dd975eb7dc5645630c ]
Reduce number of roundtrips to server when querying reparse points in ->query_path_info() b
smb: client: optimise reparse point querying
[ Upstream commit 67ec9949b0dfe78c99e110dd975eb7dc5645630c ]
Reduce number of roundtrips to server when querying reparse points in ->query_path_info() by sending a single compound request of create+get_reparse+get_info+close.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
02bcf865 |
| 28-Apr-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: allow creating special files via reparse points
[ Upstream commit 102466f303ffcd5cff207b3c122557f73f1041e6 ]
Add support for creating special files (e.g. char/block devices, sockets, f
smb: client: allow creating special files via reparse points
[ Upstream commit 102466f303ffcd5cff207b3c122557f73f1041e6 ]
Add support for creating special files (e.g. char/block devices, sockets, fifos) via NFS reparse points on SMB2+, which are fully supported by most SMB servers and documented in MS-FSCC.
smb2_get_reparse_inode() creates the file with a corresponding reparse point buffer set in @iov through a single roundtrip to the server.
Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202311260746.HOJ039BV-lkp@intel.com/ Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
886b7fb4 |
| 28-Apr-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: extend smb2_compound_op() to accept more commands
[ Upstream commit 3322960ce222997b1663ffa69e691b2edfec4ac9 ]
Make smb2_compound_op() accept up to MAX_COMPOUND(5) commands to be sent
smb: client: extend smb2_compound_op() to accept more commands
[ Upstream commit 3322960ce222997b1663ffa69e691b2edfec4ac9 ]
Make smb2_compound_op() accept up to MAX_COMPOUND(5) commands to be sent over a single compounded request.
This will allow next commits to read and write reparse files through a single roundtrip to the server.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30 |
|
#
7449d736 |
| 01-May-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: introduce SMB2_OP_QUERY_WSL_EA
[ Upstream commit ea41367b2a602f602ea6594fc4a310520dcc64f4 ]
Add a new command to smb2_compound_op() for querying WSL extended attributes from reparse po
smb: client: introduce SMB2_OP_QUERY_WSL_EA
[ Upstream commit ea41367b2a602f602ea6594fc4a310520dcc64f4 ]
Add a new command to smb2_compound_op() for querying WSL extended attributes from reparse points.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25, v6.6.24, v6.6.23, v6.6.16, v6.6.15 |
|
#
df0a8a19 |
| 26-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: add support for WSL reparse points
[ Upstream commit 5a4b09ecf8e8ad26ea03a37e52e310fe13f15b49 ]
Add support for creating special files via WSL reparse points when using 'reparse=wsl' m
smb: client: add support for WSL reparse points
[ Upstream commit 5a4b09ecf8e8ad26ea03a37e52e310fe13f15b49 ]
Add support for creating special files via WSL reparse points when using 'reparse=wsl' mount option. They're faster than NFS reparse points because they don't require extra roundtrips to figure out what ->d_type a specific dirent is as such information is already stored in query dir responses and then making getdents() calls faster.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.14 |
|
#
831ffbd1 |
| 25-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: reduce number of parameters in smb2_compound_op()
[ Upstream commit fa792d8d235c20df5f422e4bd172db1efde55ab9 ]
Replace @desired_access, @create_disposition, @create_options and @mode p
smb: client: reduce number of parameters in smb2_compound_op()
[ Upstream commit fa792d8d235c20df5f422e4bd172db1efde55ab9 ]
Replace @desired_access, @create_disposition, @create_options and @mode parameters with a single @oparms.
No functional changes.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
84c597f7 |
| 25-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: fix potential broken compound request
[ Upstream commit 6914d288c63682e20e0f6e1e0b8e8f5847012d67 ]
Now that smb2_compound_op() can accept up to 5 commands in a single compound request,
smb: client: fix potential broken compound request
[ Upstream commit 6914d288c63682e20e0f6e1e0b8e8f5847012d67 ]
Now that smb2_compound_op() can accept up to 5 commands in a single compound request, set the appropriate NextCommand and related flags to all subsequent commands as well as handling the case where a valid @cfile is passed and therefore skipping create and close requests in the compound chain.
This fix a potential broken compound request that could be sent from smb2_get_reparse_inode() if the client found a valid open file (@cfile) prior to calling smb2_compound_op().
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
1e60bc0e |
| 05-Mar-2024 |
Meetakshi Setiya <msetiya@microsoft.com> |
smb: client: retry compound request without reusing lease
[ Upstream commit 71f15c90e785d1de4bcd65a279e7256684c25c0d ]
There is a shortcoming in the current implementation of the file lease mechani
smb: client: retry compound request without reusing lease
[ Upstream commit 71f15c90e785d1de4bcd65a279e7256684c25c0d ]
There is a shortcoming in the current implementation of the file lease mechanism exposed when the lease keys were attempted to be reused for unlink, rename and set_path_size operations for a client. As per MS-SMB2, lease keys are associated with the file name. Linux smb client maintains lease keys with the inode. If the file has any hardlinks, it is possible that the lease for a file be wrongly reused for an operation on the hardlink or vice versa. In these cases, the mentioned compound operations fail with STATUS_INVALID_PARAMETER. This patch adds a fallback to the old mechanism of not sending any lease with these compound operations if the request with lease key fails with STATUS_INVALID_PARAMETER. Resending the same request without lease key should not hurt any functionality, but might impact performance especially in cases where the error is not because of the usage of wrong lease key and we might end up doing an extra roundtrip.
Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
b6e27f7f |
| 01-May-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: do not defer close open handles to deleted files
[ Upstream commit ffceb7640cbfe6ea60e7769e107451d63a2fe3d3 ]
When a file/dentry has been deleted before closing all its open handles, c
smb: client: do not defer close open handles to deleted files
[ Upstream commit ffceb7640cbfe6ea60e7769e107451d63a2fe3d3 ]
When a file/dentry has been deleted before closing all its open handles, currently, closing them can add them to the deferred close list. This can lead to problems in creating file with the same name when the file is re-created before the deferred close completes. This issue was seen while reusing a client's already existing lease on a file for compound operations and xfstest 591 failed because of the deferred close handle that remained valid even after the file was deleted and was being reused to create a file with the same name. The server in this case returns an error on open with STATUS_DELETE_PENDING. Recreating the file would fail till the deferred handles are closed (duration specified in closetimeo).
This patch fixes the issue by flagging all open handles for the deleted file (file path to be precise) by setting status_file_deleted to true in the cifsFileInfo structure. As per the information classes specified in MS-FSCC, SMB2 query info response from the server has a DeletePending field, set to true to indicate that deletion has been requested on that file. If this is the case, flag the open handles for this file too.
When doing close in cifs_close for each of these handles, check the value of this boolean field and do not defer close these handles if the corresponding filepath has been deleted.
Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
f93d145f |
| 05-Mar-2024 |
Meetakshi Setiya <msetiya@microsoft.com> |
smb: client: reuse file lease key in compound operations
[ Upstream commit 2c7d399e551ccfd87bcae4ef5573097f3313d779 ]
Currently, when a rename, unlink or set path size compound operation is request
smb: client: reuse file lease key in compound operations
[ Upstream commit 2c7d399e551ccfd87bcae4ef5573097f3313d779 ]
Currently, when a rename, unlink or set path size compound operation is requested on a file that has a lot of dirty pages to be written to the server, we do not send the lease key for these requests. As a result, the server can assume that this request is from a new client, and send a lease break notification to the same client, on the same connection. As a response to the lease break, the client can consume several credits to write the dirty pages to the server. Depending on the server's credit grant implementation, the server can stop granting more credits to this connection, and this can cause a deadlock (which can only be resolved when the lease timer on the server expires). One of the problems here is that the client is sending no lease key, even if it has a lease for the file. This patch fixes the problem by reusing the existing lease key on the file for rename, unlink and set path size compound operations so that the client does not break its own lease.
A very trivial example could be a set of commands by a client that maintains open handle (for write) to a file and then tries to copy the contents of that file to another one, eg.,
tail -f /dev/null > myfile & mv myfile myfile2
Presently, the network capture on the client shows that the move (or rename) would trigger a lease break on the same client, for the same file. With the lease key reused, the lease break request-response overhead is eliminated, thereby reducing the roundtrips performed for this set of operations.
The patch fixes the bug described above and also provides perf benefit.
Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.13 |
|
#
cfb8f73d |
| 18-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: get rid of smb311_posix_query_path_info()
[ Upstream commit f83709b9e0eb7048d74ba4515f268c6eacbce9c9 ]
Merge smb311_posix_query_path_info into ->query_path_info() to get rid of duplica
smb: client: get rid of smb311_posix_query_path_info()
[ Upstream commit f83709b9e0eb7048d74ba4515f268c6eacbce9c9 ]
Merge smb311_posix_query_path_info into ->query_path_info() to get rid of duplicate code.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
a90f37e3 |
| 01-May-2024 |
Steve French <stfrench@microsoft.com> |
smb: client: parse owner/group when creating reparse points
[ Upstream commit 858e74876c5cbff1dfd5bace99e32fbce2abd4b5 ]
Parse owner/group when creating special files and symlinks under SMB3.1.1 PO
smb: client: parse owner/group when creating reparse points
[ Upstream commit 858e74876c5cbff1dfd5bace99e32fbce2abd4b5 ]
Parse owner/group when creating special files and symlinks under SMB3.1.1 POSIX mounts.
Move the parsing of owner/group to smb2_compound_op() so we don't have to duplicate it in both smb2_get_reparse_inode() and smb311_posix_query_path_info().
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
433042a9 |
| 20-Jan-2024 |
Shyam Prasad N <sprasad@microsoft.com> |
cifs: commands that are retried should have replay flag set
[ Upstream commit 4f1fffa2376922f3d1d506e49c0fd445b023a28e ]
MS-SMB2 states that the header flag SMB2_FLAGS_REPLAY_OPERATION needs to be
cifs: commands that are retried should have replay flag set
[ Upstream commit 4f1fffa2376922f3d1d506e49c0fd445b023a28e ]
MS-SMB2 states that the header flag SMB2_FLAGS_REPLAY_OPERATION needs to be set when a command needs to be retried, so that the server is aware that this is a replay for an operation that appeared before.
This can be very important, for example, for state changing operations and opens which get retried following a reconnect; since the client maybe unaware of the status of the previous open.
This is particularly important for multichannel scenario, since disconnection of one connection does not mean that the session is lost. The requests can be replayed on another channel.
This change also makes use of exponential back-off before replays and also limits the number of retries to "retrans" mount option value.
Also, this change does not modify the read/write codepath.
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4, v6.6.3 |
|
#
870c73ab |
| 25-Nov-2023 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: cleanup smb2_query_reparse_point()
[ Upstream commit 3ded18a9e9d22a9cba8acad24b77a87851f9c9fa ]
Use smb2_compound_op() with SMB2_OP_GET_REPARSE to get reparse point.
Signed-off-by: Pa
smb: client: cleanup smb2_query_reparse_point()
[ Upstream commit 3ded18a9e9d22a9cba8acad24b77a87851f9c9fa ]
Use smb2_compound_op() with SMB2_OP_GET_REPARSE to get reparse point.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|