Revision tags: v6.6.32, v6.6.31, v6.6.30, 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 |
|
#
97db4160 |
| 28-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: parse uid, gid, mode and dev from WSL reparse points
[ Upstream commit 78e26bec4d6d3aef04276e28bed48a45fd00e116 ]
Parse the extended attributes from WSL reparse points to correctly rep
smb: client: parse uid, gid, mode and dev from WSL reparse points
[ Upstream commit 78e26bec4d6d3aef04276e28bed48a45fd00e116 ]
Parse the extended attributes from WSL reparse points to correctly report uid, gid mode and dev from ther instantiated inodes.
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 ...
|
#
db0f1c07 |
| 05-Mar-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: move most of reparse point handling code to common file
[ Upstream commit c520ba7573a84bd37f8803a3beeb8f6f995bf9e1 ]
In preparation to add support for creating special files also via W
smb: client: move most of reparse point handling code to common file
[ Upstream commit c520ba7573a84bd37f8803a3beeb8f6f995bf9e1 ]
In preparation to add support for creating special files also via WSL reparse points in next commits.
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, v6.6.13 |
|
#
de2cadf4 |
| 18-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: don't clobber ->i_rdev from cached reparse points
[ Upstream commit 66c9314b61ed5b7bfcff0d89359aa0f975c0ab53 ]
Don't clobber ->i_rdev from valid reparse inodes over readdir(2) as it ca
smb: client: don't clobber ->i_rdev from cached reparse points
[ Upstream commit 66c9314b61ed5b7bfcff0d89359aa0f975c0ab53 ]
Don't clobber ->i_rdev from valid reparse inodes over readdir(2) as it can't be provided by query dir responses.
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 ...
|
#
36f8070c |
| 17-Jan-2024 |
Steve French <stfrench@microsoft.com> |
cifs: minor comment cleanup
[ Upstream commit 0b549c4f594167d7ef056393c6a06ac77f5690ff ]
minor comment cleanup and trivial camelCase removal
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Signe
cifs: minor comment cleanup
[ Upstream commit 0b549c4f594167d7ef056393c6a06ac77f5690ff ]
minor comment cleanup and trivial camelCase removal
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.32, v6.6.31, v6.6.30, 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 |
|
#
97db4160 |
| 28-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: parse uid, gid, mode and dev from WSL reparse points
[ Upstream commit 78e26bec4d6d3aef04276e28bed48a45fd00e116 ]
Parse the extended attributes from WSL reparse points to correctly rep
smb: client: parse uid, gid, mode and dev from WSL reparse points
[ Upstream commit 78e26bec4d6d3aef04276e28bed48a45fd00e116 ]
Parse the extended attributes from WSL reparse points to correctly report uid, gid mode and dev from ther instantiated inodes.
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 ...
|
#
db0f1c07 |
| 05-Mar-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: move most of reparse point handling code to common file
[ Upstream commit c520ba7573a84bd37f8803a3beeb8f6f995bf9e1 ]
In preparation to add support for creating special files also via W
smb: client: move most of reparse point handling code to common file
[ Upstream commit c520ba7573a84bd37f8803a3beeb8f6f995bf9e1 ]
In preparation to add support for creating special files also via WSL reparse points in next commits.
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, v6.6.13 |
|
#
de2cadf4 |
| 18-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: don't clobber ->i_rdev from cached reparse points
[ Upstream commit 66c9314b61ed5b7bfcff0d89359aa0f975c0ab53 ]
Don't clobber ->i_rdev from valid reparse inodes over readdir(2) as it ca
smb: client: don't clobber ->i_rdev from cached reparse points
[ Upstream commit 66c9314b61ed5b7bfcff0d89359aa0f975c0ab53 ]
Don't clobber ->i_rdev from valid reparse inodes over readdir(2) as it can't be provided by query dir responses.
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 ...
|
#
36f8070c |
| 17-Jan-2024 |
Steve French <stfrench@microsoft.com> |
cifs: minor comment cleanup
[ Upstream commit 0b549c4f594167d7ef056393c6a06ac77f5690ff ]
minor comment cleanup and trivial camelCase removal
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Signe
cifs: minor comment cleanup
[ Upstream commit 0b549c4f594167d7ef056393c6a06ac77f5690ff ]
minor comment cleanup and trivial camelCase removal
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.32, v6.6.31, v6.6.30, 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 |
|
#
97db4160 |
| 28-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: parse uid, gid, mode and dev from WSL reparse points
[ Upstream commit 78e26bec4d6d3aef04276e28bed48a45fd00e116 ]
Parse the extended attributes from WSL reparse points to correctly rep
smb: client: parse uid, gid, mode and dev from WSL reparse points
[ Upstream commit 78e26bec4d6d3aef04276e28bed48a45fd00e116 ]
Parse the extended attributes from WSL reparse points to correctly report uid, gid mode and dev from ther instantiated inodes.
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 ...
|
#
db0f1c07 |
| 05-Mar-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: move most of reparse point handling code to common file
[ Upstream commit c520ba7573a84bd37f8803a3beeb8f6f995bf9e1 ]
In preparation to add support for creating special files also via W
smb: client: move most of reparse point handling code to common file
[ Upstream commit c520ba7573a84bd37f8803a3beeb8f6f995bf9e1 ]
In preparation to add support for creating special files also via WSL reparse points in next commits.
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, v6.6.13 |
|
#
de2cadf4 |
| 18-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: don't clobber ->i_rdev from cached reparse points
[ Upstream commit 66c9314b61ed5b7bfcff0d89359aa0f975c0ab53 ]
Don't clobber ->i_rdev from valid reparse inodes over readdir(2) as it ca
smb: client: don't clobber ->i_rdev from cached reparse points
[ Upstream commit 66c9314b61ed5b7bfcff0d89359aa0f975c0ab53 ]
Don't clobber ->i_rdev from valid reparse inodes over readdir(2) as it can't be provided by query dir responses.
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 ...
|
#
36f8070c |
| 17-Jan-2024 |
Steve French <stfrench@microsoft.com> |
cifs: minor comment cleanup
[ Upstream commit 0b549c4f594167d7ef056393c6a06ac77f5690ff ]
minor comment cleanup and trivial camelCase removal
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Signe
cifs: minor comment cleanup
[ Upstream commit 0b549c4f594167d7ef056393c6a06ac77f5690ff ]
minor comment cleanup and trivial camelCase removal
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
9179aa27 |
| 29-Feb-2024 |
Bharath SM <bharathsm@microsoft.com> |
cifs: prevent updating file size from server if we have a read/write lease
[ Upstream commit e4b61f3b1c67f5068590965f64ea6e8d5d5bd961 ]
In cases of large directories, the readdir operation may span
cifs: prevent updating file size from server if we have a read/write lease
[ Upstream commit e4b61f3b1c67f5068590965f64ea6e8d5d5bd961 ]
In cases of large directories, the readdir operation may span multiple round trips to retrieve contents. This introduces a potential race condition in case of concurrent write and readdir operations. If the readdir operation initiates before a write has been processed by the server, it may update the file size attribute to an older value. Address this issue by avoiding file size updates from readdir when we have read/write lease.
Scenario: 1) process1: open dir xyz 2) process1: readdir instance 1 on xyz 3) process2: create file.txt for write 4) process2: write x bytes to file.txt 5) process2: close file.txt 6) process2: open file.txt for read 7) process1: readdir 2 - overwrites file.txt inode size to 0 8) process2: read contents of file.txt - bug, short read with 0 bytes
Cc: stable@vger.kernel.org Reviewed-by: Shyam Prasad N <sprasad@microsoft.com> Signed-off-by: Bharath SM <bharathsm@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 |
|
#
b9e741ac |
| 06-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: stop revalidating reparse points unnecessarily
[ Upstream commit 6d039984c15d1ea1ca080176df6dfab443e44585 ]
Query dir responses don't provide enough information on reparse points such
smb: client: stop revalidating reparse points unnecessarily
[ Upstream commit 6d039984c15d1ea1ca080176df6dfab443e44585 ]
Query dir responses don't provide enough information on reparse points such as major/minor numbers and symlink targets other than reparse tags, however we don't need to unconditionally revalidate them only because they are reparse points. Instead, revalidate them only when their ctime or reparse tag has changed.
For instance, Windows Server updates ctime of reparse points when their data have changed.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Stable-dep-of: e4b61f3b1c67 ("cifs: prevent updating file size from server if we have a read/write lease") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
9179aa27 |
| 29-Feb-2024 |
Bharath SM <bharathsm@microsoft.com> |
cifs: prevent updating file size from server if we have a read/write lease
[ Upstream commit e4b61f3b1c67f5068590965f64ea6e8d5d5bd961 ]
In cases of large directories, the readdir operation may span
cifs: prevent updating file size from server if we have a read/write lease
[ Upstream commit e4b61f3b1c67f5068590965f64ea6e8d5d5bd961 ]
In cases of large directories, the readdir operation may span multiple round trips to retrieve contents. This introduces a potential race condition in case of concurrent write and readdir operations. If the readdir operation initiates before a write has been processed by the server, it may update the file size attribute to an older value. Address this issue by avoiding file size updates from readdir when we have read/write lease.
Scenario: 1) process1: open dir xyz 2) process1: readdir instance 1 on xyz 3) process2: create file.txt for write 4) process2: write x bytes to file.txt 5) process2: close file.txt 6) process2: open file.txt for read 7) process1: readdir 2 - overwrites file.txt inode size to 0 8) process2: read contents of file.txt - bug, short read with 0 bytes
Cc: stable@vger.kernel.org Reviewed-by: Shyam Prasad N <sprasad@microsoft.com> Signed-off-by: Bharath SM <bharathsm@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 |
|
#
b9e741ac |
| 06-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: stop revalidating reparse points unnecessarily
[ Upstream commit 6d039984c15d1ea1ca080176df6dfab443e44585 ]
Query dir responses don't provide enough information on reparse points such
smb: client: stop revalidating reparse points unnecessarily
[ Upstream commit 6d039984c15d1ea1ca080176df6dfab443e44585 ]
Query dir responses don't provide enough information on reparse points such as major/minor numbers and symlink targets other than reparse tags, however we don't need to unconditionally revalidate them only because they are reparse points. Instead, revalidate them only when their ctime or reparse tag has changed.
For instance, Windows Server updates ctime of reparse points when their data have changed.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Stable-dep-of: e4b61f3b1c67 ("cifs: prevent updating file size from server if we have a read/write lease") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
cacc0a9c |
| 02-Feb-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: set correct d_type for reparse points under DFS mounts
[ Upstream commit 55c7788c37242702868bfac7861cdf0c358d6c3d ]
Send query dir requests with an info level of SMB_FIND_FILE_FULL_DIR
smb: client: set correct d_type for reparse points under DFS mounts
[ Upstream commit 55c7788c37242702868bfac7861cdf0c358d6c3d ]
Send query dir requests with an info level of SMB_FIND_FILE_FULL_DIRECTORY_INFO rather than SMB_FIND_FILE_DIRECTORY_INFO when the client is generating its own inode numbers (e.g. noserverino) so that reparse tags still can be parsed directly from the responses, but server won't send UniqueId (server inode number)
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.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4, v6.6.3 |
|
#
df32e887 |
| 21-Nov-2023 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: set correct file type from NFS reparse points
[ Upstream commit 45e724022e2704b5a5193fd96f378822b0448e07 ]
Handle all file types in NFS reparse points as specified in MS-FSCC 2.1.2.6 N
smb: client: set correct file type from NFS reparse points
[ Upstream commit 45e724022e2704b5a5193fd96f378822b0448e07 ]
Handle all file types in NFS reparse points as specified in MS-FSCC 2.1.2.6 Network File System (NFS) Reparse Data Buffer.
The client is now able to set all file types based on the parsed NFS reparse point, which used to support only symlinks. This works for SMB1+.
Before patch:
$ mount.cifs //srv/share /mnt -o ... $ ls -l /mnt ls: cannot access 'block': Operation not supported ls: cannot access 'char': Operation not supported ls: cannot access 'fifo': Operation not supported ls: cannot access 'sock': Operation not supported total 1 l????????? ? ? ? ? ? block l????????? ? ? ? ? ? char -rwxr-xr-x 1 root root 5 Nov 18 23:22 f0 l????????? ? ? ? ? ? fifo l--------- 1 root root 0 Nov 18 23:23 link -> f0 l????????? ? ? ? ? ? sock
After patch:
$ mount.cifs //srv/share /mnt -o ... $ ls -l /mnt total 1 brwxr-xr-x 1 root root 123, 123 Nov 18 00:34 block crwxr-xr-x 1 root root 1234, 1234 Nov 18 00:33 char -rwxr-xr-x 1 root root 5 Nov 18 23:22 f0 prwxr-xr-x 1 root root 0 Nov 18 23:23 fifo lrwxr-xr-x 1 root root 0 Nov 18 23:23 link -> f0 srwxr-xr-x 1 root root 0 Nov 19 2023 sock
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.2, v6.5.11, v6.6.1, v6.5.10, v6.6, v6.5.9, v6.5.8, v6.5.7, v6.5.6, v6.5.5, v6.5.4, v6.5.3, v6.5.2, v6.1.51, v6.5.1, v6.1.50, v6.5, v6.1.49, v6.1.48 |
|
#
a18280e7 |
| 17-Aug-2023 |
Paulo Alcantara <pc@manguebit.com> |
smb: cilent: set reparse mount points as automounts
By doing so we can selectively mark those submounts as 'noserverino' rather than whole mount and thus avoiding inode collisions in them.
Consider
smb: cilent: set reparse mount points as automounts
By doing so we can selectively mark those submounts as 'noserverino' rather than whole mount and thus avoiding inode collisions in them.
Consider a "test" SMB share that has two mounted NTFS volumes (vol0 & vol1) inside it.
* Before patch
$ mount.cifs //srv/test /mnt/1 -o ...,serverino $ ls -li /mnt/1/vol0 total 1 281474976710693 drwxr-xr-x 2 root root 0 Jul 15 00:23 $RECYCLE.BIN 281474976710696 drwxr-xr-x 2 root root 0 Jul 18 18:23 System Volume... 281474976710699 -rwxr-xr-x 1 root root 0 Aug 14 21:53 f0 281474976710700 -rwxr-xr-x 1 root root 0 Aug 15 18:52 f2 281474976710698 drwxr-xr-x 2 root root 0 Aug 12 19:39 foo 281474976710692 -rwxr-xr-x 1 root root 5 Aug 4 21:18 vol0_f0.txt $ ls -li /mnt/1/vol1 total 0 281474976710693 drwxr-xr-x 2 root root 0 Jul 15 00:23 $RECYCLE.BIN 281474976710696 drwxr-xr-x 2 root root 0 Jul 18 18:23 System Volume... 281474976710698 drwxr-xr-x 2 root root 0 Aug 12 19:39 bar 281474976710699 -rwxr-xr-x 1 root root 0 Aug 14 22:03 f0 281474976710700 -rwxr-xr-x 1 root root 0 Aug 14 22:52 f1 281474976710692 -rwxr-xr-x 1 root root 0 Jul 15 00:23 vol1_f0.txt
* After patch
$ mount.cifs //srv/test /mnt/1 -o ...,serverino $ ls -li /mnt/1/vol0 total 1 590 drwxr-xr-x 2 root root 0 Jul 15 00:23 $RECYCLE.BIN 594 drwxr-xr-x 2 root root 0 Jul 18 18:23 System Volume Information 591 -rwxr-xr-x 1 root root 0 Aug 14 21:53 f0 592 -rwxr-xr-x 1 root root 0 Aug 15 18:52 f2 593 drwxr-xr-x 2 root root 0 Aug 12 19:39 foo 595 -rwxr-xr-x 1 root root 5 Aug 4 21:18 vol0_f0.txt $ ls -li /mnt/1/vol1 total 0 596 drwxr-xr-x 2 root root 0 Jul 15 00:23 $RECYCLE.BIN 600 drwxr-xr-x 2 root root 0 Jul 18 18:23 System Volume Information 597 drwxr-xr-x 2 root root 0 Aug 12 19:39 bar 598 -rwxr-xr-x 1 root root 0 Aug 14 22:03 f0 599 -rwxr-xr-x 1 root root 0 Aug 14 22:52 f1 601 -rwxr-xr-x 1 root root 0 Jul 15 00:23 vol1_f0.txt
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com>
show more ...
|
#
5f71ebc4 |
| 17-Aug-2023 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: parse reparse point flag in create response
Check for reparse point flag on query info calls as specified in MS-SMB2 2.2.14.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Si
smb: client: parse reparse point flag in create response
Check for reparse point flag on query info calls as specified in MS-SMB2 2.2.14.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com>
show more ...
|
Revision tags: v6.1.46, v6.1.45, v6.1.44, v6.1.43, v6.1.42, v6.1.41, v6.1.40, v6.1.39, v6.1.38, v6.1.37, v6.1.36, v6.4, v6.1.35, v6.1.34, v6.1.33, v6.1.32, v6.1.31, v6.1.30 |
|
#
38c8a9a5 |
| 21-May-2023 |
Steve French <stfrench@microsoft.com> |
smb: move client and server files to common directory fs/smb
Move CIFS/SMB3 related client and server files (cifs.ko and ksmbd.ko and helper modules) to new fs/smb subdirectory:
fs/cifs --> fs/s
smb: move client and server files to common directory fs/smb
Move CIFS/SMB3 related client and server files (cifs.ko and ksmbd.ko and helper modules) to new fs/smb subdirectory:
fs/cifs --> fs/smb/client fs/ksmbd --> fs/smb/server fs/smbfs_common --> fs/smb/common
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
show more ...
|