diff mbox series

[4/4] cifs: Update SFU comments about fifos and sockets

Message ID 20240915194545.14779-5-pali@kernel.org
State New
Headers show
Series cifs: Improve client SFU support for special files (2) | expand

Commit Message

Pali Rohár Sept. 15, 2024, 7:45 p.m. UTC
In SFU mode, activated by -o sfu mount option is now also support for
creating new fifos and sockets.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
 fs/smb/client/cifssmb.c | 8 ++++----
 fs/smb/client/smb1ops.c | 2 +-
 fs/smb/client/smb2ops.c | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

Comments

Steve French Sept. 15, 2024, 9:14 p.m. UTC | #1
merged into cifs-2.6.git for-next

On Sun, Sep 15, 2024 at 2:46 PM Pali Rohár <pali@kernel.org> wrote:
>
> In SFU mode, activated by -o sfu mount option is now also support for
> creating new fifos and sockets.
>
> Signed-off-by: Pali Rohár <pali@kernel.org>
> ---
>  fs/smb/client/cifssmb.c | 8 ++++----
>  fs/smb/client/smb1ops.c | 2 +-
>  fs/smb/client/smb2ops.c | 2 +-
>  3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/fs/smb/client/cifssmb.c b/fs/smb/client/cifssmb.c
> index cfae2e918209..0ffc45aa5e2c 100644
> --- a/fs/smb/client/cifssmb.c
> +++ b/fs/smb/client/cifssmb.c
> @@ -1076,8 +1076,8 @@ SMBLegacyOpen(const unsigned int xid, struct cifs_tcon *tcon,
>         pSMB->OpenFlags |= cpu_to_le16(REQ_MORE_INFO);
>         pSMB->Mode = cpu_to_le16(access_flags_to_smbopen_mode(access_flags));
>         pSMB->Mode |= cpu_to_le16(0x40); /* deny none */
> -       /* set file as system file if special file such
> -          as fifo and server expecting SFU style and
> +       /* set file as system file if special file such as fifo,
> +        * socket, char or block and server expecting SFU style and
>            no Unix extensions */
>
>         if (create_options & CREATE_OPTION_SPECIAL)
> @@ -1193,8 +1193,8 @@ CIFS_open(const unsigned int xid, struct cifs_open_parms *oparms, int *oplock,
>         req->AllocationSize = 0;
>
>         /*
> -        * Set file as system file if special file such as fifo and server
> -        * expecting SFU style and no Unix extensions.
> +        * Set file as system file if special file such as fifo, socket, char
> +        * or block and server expecting SFU style and no Unix extensions.
>          */
>         if (create_options & CREATE_OPTION_SPECIAL)
>                 req->FileAttributes = cpu_to_le32(ATTR_SYSTEM);
> diff --git a/fs/smb/client/smb1ops.c b/fs/smb/client/smb1ops.c
> index e1f2feb56f45..e03c91a49650 100644
> --- a/fs/smb/client/smb1ops.c
> +++ b/fs/smb/client/smb1ops.c
> @@ -1078,7 +1078,7 @@ cifs_make_node(unsigned int xid, struct inode *inode,
>         /*
>          * Check if mounted with mount parm 'sfu' mount parm.
>          * SFU emulation should work with all servers, but only
> -        * supports block and char device (no socket & fifo),
> +        * supports block and char device, socket & fifo,
>          * and was used by default in earlier versions of Windows
>          */
>         if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL))
> diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
> index 406f2399f0c5..d30f7cab197e 100644
> --- a/fs/smb/client/smb2ops.c
> +++ b/fs/smb/client/smb2ops.c
> @@ -5190,7 +5190,7 @@ static int smb2_make_node(unsigned int xid, struct inode *inode,
>         /*
>          * Check if mounted with mount parm 'sfu' mount parm.
>          * SFU emulation should work with all servers, but only
> -        * supports block and char device (no socket & fifo),
> +        * supports block and char device, socket & fifo,
>          * and was used by default in earlier versions of Windows
>          */
>         if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) {
> --
> 2.20.1
>
>
diff mbox series

Patch

diff --git a/fs/smb/client/cifssmb.c b/fs/smb/client/cifssmb.c
index cfae2e918209..0ffc45aa5e2c 100644
--- a/fs/smb/client/cifssmb.c
+++ b/fs/smb/client/cifssmb.c
@@ -1076,8 +1076,8 @@  SMBLegacyOpen(const unsigned int xid, struct cifs_tcon *tcon,
 	pSMB->OpenFlags |= cpu_to_le16(REQ_MORE_INFO);
 	pSMB->Mode = cpu_to_le16(access_flags_to_smbopen_mode(access_flags));
 	pSMB->Mode |= cpu_to_le16(0x40); /* deny none */
-	/* set file as system file if special file such
-	   as fifo and server expecting SFU style and
+	/* set file as system file if special file such as fifo,
+	 * socket, char or block and server expecting SFU style and
 	   no Unix extensions */
 
 	if (create_options & CREATE_OPTION_SPECIAL)
@@ -1193,8 +1193,8 @@  CIFS_open(const unsigned int xid, struct cifs_open_parms *oparms, int *oplock,
 	req->AllocationSize = 0;
 
 	/*
-	 * Set file as system file if special file such as fifo and server
-	 * expecting SFU style and no Unix extensions.
+	 * Set file as system file if special file such as fifo, socket, char
+	 * or block and server expecting SFU style and no Unix extensions.
 	 */
 	if (create_options & CREATE_OPTION_SPECIAL)
 		req->FileAttributes = cpu_to_le32(ATTR_SYSTEM);
diff --git a/fs/smb/client/smb1ops.c b/fs/smb/client/smb1ops.c
index e1f2feb56f45..e03c91a49650 100644
--- a/fs/smb/client/smb1ops.c
+++ b/fs/smb/client/smb1ops.c
@@ -1078,7 +1078,7 @@  cifs_make_node(unsigned int xid, struct inode *inode,
 	/*
 	 * Check if mounted with mount parm 'sfu' mount parm.
 	 * SFU emulation should work with all servers, but only
-	 * supports block and char device (no socket & fifo),
+	 * supports block and char device, socket & fifo,
 	 * and was used by default in earlier versions of Windows
 	 */
 	if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL))
diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
index 406f2399f0c5..d30f7cab197e 100644
--- a/fs/smb/client/smb2ops.c
+++ b/fs/smb/client/smb2ops.c
@@ -5190,7 +5190,7 @@  static int smb2_make_node(unsigned int xid, struct inode *inode,
 	/*
 	 * Check if mounted with mount parm 'sfu' mount parm.
 	 * SFU emulation should work with all servers, but only
-	 * supports block and char device (no socket & fifo),
+	 * supports block and char device, socket & fifo,
 	 * and was used by default in earlier versions of Windows
 	 */
 	if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) {