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