ksmbd: set fixed sector size to FS_SECTOR_SIZE_INFORMATION
authorNamjae Jeon <linkinjeon@kernel.org>
Wed, 13 Apr 2022 01:01:36 +0000 (10:01 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 May 2022 07:16:28 +0000 (09:16 +0200)
commit65064a66f3722fd2739310ba54ac5a36d0cbd323
tree1057fe1515dcde23460a27829100c10743093f1d
parentaaf1d5ebb358f546414965b39da90107a7ca7ce5
ksmbd: set fixed sector size to FS_SECTOR_SIZE_INFORMATION

[ Upstream commit 02655a70b7cc0f534531ee65fa72692f4d31a944 ]

Currently ksmbd is using ->f_bsize from vfs_statfs() as sector size.
If fat/exfat is a local share, ->f_bsize is a cluster size that is too
large to be used as a sector size. Sector sizes larger than 4K cause
problem occurs when mounting an iso file through windows client.

The error message can be obtained using Mount-DiskImage command,
 the error is:
"Mount-DiskImage : The sector size of the physical disk on which the
virtual disk resides is not supported."

This patch reports fixed 4KB sector size if ->s_blocksize is bigger
than 4KB.

Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ksmbd/smb2pdu.c