* [PATCH] cifs: Fix support for creating SFU fifo
@ 2026-07-07 9:03 Pali Rohár
2026-07-08 13:55 ` Steve French
0 siblings, 1 reply; 3+ messages in thread
From: Pali Rohár @ 2026-07-07 9:03 UTC (permalink / raw)
To: Steve French; +Cc: linux-cifs, linux-kernel
SFU fifos are natively supported (created and recognized) at least by:
- Microsoft POSIX subsystem
- OpenNT/Interix subsystem
- Microsoft SFU (Windows Services for UNIX)
- Microsoft SUA (Subsystem for UNIX-based Applications)
- Windows NFS server (up to the Windows Server 2008 R2)
Windows NFS server since Windows Server 2012 uses new reparse point format
for storing new fifos, but still can recognize this old format (also in the
latest Windows Server 2022 version).
SFU-style fifo is empty regular file which has system attribute set.
These SFU-style fifos are already recognized by Linux SMB client.
But Linux SMB client is currently creating new SFU fifos in different
format which is not compatible with all those SFU-style consumers. Fix this
by creating new fifos in correct SFU format which would be recognized by
all those applications and also by existing Linux SMB clients.
This change affects only creating new fifos when mount option -o sfu is used.
Signed-off-by: Pali Rohár <pali@kernel.org>
---
fs/smb/client/smb2ops.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
index e59fda1b2230..1261b928edee 100644
--- a/fs/smb/client/smb2ops.c
+++ b/fs/smb/client/smb2ops.c
@@ -5293,10 +5293,8 @@ int __cifs_sfu_make_node(unsigned int xid, struct inode *inode,
type[0] = '\0';
break;
case S_IFIFO:
- type_len = 8;
- strscpy(type, "LnxFIFO");
- data = (u8 *)&pdev;
- data_len = sizeof(pdev);
+ /* SFU fifo is system file which is empty */
+ type_len = 0;
break;
default:
rc = -EPERM;
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] cifs: Fix support for creating SFU fifo
2026-07-07 9:03 [PATCH] cifs: Fix support for creating SFU fifo Pali Rohár
@ 2026-07-08 13:55 ` Steve French
2026-07-08 18:35 ` Pali Rohár
0 siblings, 1 reply; 3+ messages in thread
From: Steve French @ 2026-07-08 13:55 UTC (permalink / raw)
To: Pali Rohár; +Cc: Steve French, linux-cifs, linux-kernel
AI search says that "LnxFIFO" is used by WSL? Have you verified this recently.
On Tue, Jul 7, 2026 at 4:13 AM Pali Rohár <pali@kernel.org> wrote:
>
> SFU fifos are natively supported (created and recognized) at least by:
> - Microsoft POSIX subsystem
> - OpenNT/Interix subsystem
> - Microsoft SFU (Windows Services for UNIX)
> - Microsoft SUA (Subsystem for UNIX-based Applications)
> - Windows NFS server (up to the Windows Server 2008 R2)
>
> Windows NFS server since Windows Server 2012 uses new reparse point format
> for storing new fifos, but still can recognize this old format (also in the
> latest Windows Server 2022 version).
>
> SFU-style fifo is empty regular file which has system attribute set.
>
> These SFU-style fifos are already recognized by Linux SMB client.
>
> But Linux SMB client is currently creating new SFU fifos in different
> format which is not compatible with all those SFU-style consumers. Fix this
> by creating new fifos in correct SFU format which would be recognized by
> all those applications and also by existing Linux SMB clients.
>
> This change affects only creating new fifos when mount option -o sfu is used.
>
> Signed-off-by: Pali Rohár <pali@kernel.org>
> ---
> fs/smb/client/smb2ops.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
> index e59fda1b2230..1261b928edee 100644
> --- a/fs/smb/client/smb2ops.c
> +++ b/fs/smb/client/smb2ops.c
> @@ -5293,10 +5293,8 @@ int __cifs_sfu_make_node(unsigned int xid, struct inode *inode,
> type[0] = '\0';
> break;
> case S_IFIFO:
> - type_len = 8;
> - strscpy(type, "LnxFIFO");
> - data = (u8 *)&pdev;
> - data_len = sizeof(pdev);
> + /* SFU fifo is system file which is empty */
> + type_len = 0;
> break;
> default:
> rc = -EPERM;
> --
> 2.20.1
>
>
--
Thanks,
Steve
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] cifs: Fix support for creating SFU fifo
2026-07-08 13:55 ` Steve French
@ 2026-07-08 18:35 ` Pali Rohár
0 siblings, 0 replies; 3+ messages in thread
From: Pali Rohár @ 2026-07-08 18:35 UTC (permalink / raw)
To: Steve French; +Cc: Steve French, linux-cifs, linux-kernel
I have verified WSL and it does not use "LnxFIFO". This looks like AI hallucination too.
WSL stores fifos as reparse point of IO_REPARSE_TAG_LX_FIFO type.
On Wednesday 08 July 2026 08:55:02 Steve French wrote:
> AI search says that "LnxFIFO" is used by WSL? Have you verified this recently.
>
> On Tue, Jul 7, 2026 at 4:13 AM Pali Rohár <pali@kernel.org> wrote:
> >
> > SFU fifos are natively supported (created and recognized) at least by:
> > - Microsoft POSIX subsystem
> > - OpenNT/Interix subsystem
> > - Microsoft SFU (Windows Services for UNIX)
> > - Microsoft SUA (Subsystem for UNIX-based Applications)
> > - Windows NFS server (up to the Windows Server 2008 R2)
> >
> > Windows NFS server since Windows Server 2012 uses new reparse point format
> > for storing new fifos, but still can recognize this old format (also in the
> > latest Windows Server 2022 version).
> >
> > SFU-style fifo is empty regular file which has system attribute set.
> >
> > These SFU-style fifos are already recognized by Linux SMB client.
> >
> > But Linux SMB client is currently creating new SFU fifos in different
> > format which is not compatible with all those SFU-style consumers. Fix this
> > by creating new fifos in correct SFU format which would be recognized by
> > all those applications and also by existing Linux SMB clients.
> >
> > This change affects only creating new fifos when mount option -o sfu is used.
> >
> > Signed-off-by: Pali Rohár <pali@kernel.org>
> > ---
> > fs/smb/client/smb2ops.c | 6 ++----
> > 1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
> > index e59fda1b2230..1261b928edee 100644
> > --- a/fs/smb/client/smb2ops.c
> > +++ b/fs/smb/client/smb2ops.c
> > @@ -5293,10 +5293,8 @@ int __cifs_sfu_make_node(unsigned int xid, struct inode *inode,
> > type[0] = '\0';
> > break;
> > case S_IFIFO:
> > - type_len = 8;
> > - strscpy(type, "LnxFIFO");
> > - data = (u8 *)&pdev;
> > - data_len = sizeof(pdev);
> > + /* SFU fifo is system file which is empty */
> > + type_len = 0;
> > break;
> > default:
> > rc = -EPERM;
> > --
> > 2.20.1
> >
> >
>
>
> --
> Thanks,
>
> Steve
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-08 18:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07 9:03 [PATCH] cifs: Fix support for creating SFU fifo Pali Rohár
2026-07-08 13:55 ` Steve French
2026-07-08 18:35 ` Pali Rohár
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox