ksmbd: don't remove dos attribute xattr on O_TRUNC open
authorNamjae Jeon <linkinjeon@kernel.org>
Sun, 14 Aug 2022 13:40:25 +0000 (22:40 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Sep 2022 08:30:11 +0000 (10:30 +0200)
commita2ede313fbf05cb69e6126e3592625c507c2c0c6
treedbc588536687c225244960f7d2916df761aeab0a
parenta7ada939712a7582a0684fa053f5d435e85ed8a7
ksmbd: don't remove dos attribute xattr on O_TRUNC open

[ Upstream commit 17661ecf6a64eb11ae7f1108fe88686388b2acd5 ]

When smb client open file in ksmbd share with O_TRUNC, dos attribute
xattr is removed as well as data in file. This cause the FSCTL_SET_SPARSE
request from the client fails because ksmbd can't update the dos attribute
after setting ATTR_SPARSE_FILE. And this patch fix xfstests generic/469
test also.

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