Re: [PATCH RESEND 07/11] cifs: Check if server supports EAs before trying to set it for WSL
From: Steve French
Date: Mon Jul 06 2026 - 18:34:01 EST
If this were purely Linux, without this patch what would happen with
creating special files if the server didn't support EAs. Would some
special files still work?
On Mon, Jul 6, 2026 at 1:52 PM Pali Rohár <pali@xxxxxxxxxx> wrote:
>
> WSL special files store information into EAs. When EAs are not supported
> on the server filesystem then fast fail in mknod_wsl() function.
>
> Signed-off-by: Pali Rohár <pali@xxxxxxxxxx>
> ---
> fs/smb/client/reparse.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/fs/smb/client/reparse.c b/fs/smb/client/reparse.c
> index 99e93b56374f..e2ea59a17c9c 100644
> --- a/fs/smb/client/reparse.c
> +++ b/fs/smb/client/reparse.c
> @@ -668,6 +668,13 @@ static int mknod_wsl(unsigned int xid, struct inode *inode,
> struct kvec reparse_iov, xattr_iov;
> int rc;
>
> + /*
> + * WSL special files store information into EAs. When EAs are not
> + * supported on the server filesystem then fast fail.
> + */
> + if (!(le32_to_cpu(tcon->fsAttrInfo.Attributes) & FILE_SUPPORTS_EXTENDED_ATTRIBUTES))
> + return -EOPNOTSUPP;
> +
> rc = wsl_set_reparse_buf(&buf, mode, symname, cifs_sb, &reparse_iov);
> if (rc)
> return rc;
> --
> 2.20.1
>
>
--
Thanks,
Steve