Adding linux-cifs mailing list (the updated patch was only sent to samba-technical) On Sun, Oct 29, 2023 at 4:12 PM Steve French <smfrench@xxxxxxxxx> wrote: > > updated patch attached > > > On Sun, Oct 29, 2023 at 4:06 PM Steve French <smfrench@xxxxxxxxx> wrote: > > > > Good catch - yes that was a typo - will fix. > > > > On Fri, Oct 20, 2023 at 10:07 AM Brown, James William via > > samba-technical <samba-technical@xxxxxxxxxxxxxxx> wrote: > > > > > > On 10/20/2023 12:32 AM, Steve French via samba-technical wrote: > > > > CAUTION: This email originated from outside the organization. DO NOT CLICK ON LINKS or OPEN ATTACHMENTS unless you know and trust the sender. > > > > > > > > mb3: fix creating FIFOs when mounting with "sfu" mount > > > > option > > > > > > > > Fixes some xfstests including generic/564 and generic/157 > > > > > > > > The "sfu" mount option can be useful for creating special files (character > > > > and block devices in particular) but could not create FIFOs. It did > > > > recognize existing empty files with the "system" attribute flag as FIFOs > > > > but this is too general, so to support creating FIFOs more safely use a new > > > > tag (but the same length as those for char and block devices ie "IntxLNK" > > > > and "IntxBLK") "LnxFIFO" to indicate that the file should be treated as a > > > > FIFO (when mounted with the "sfu"). For some additional context note that > > > > "sfu" followed the way that "Services for Unix" on Windows handled these > > > > special files (at least for character and block devices and symlinks), > > > > which is different than newer Windows which can handle special files > > > > as reparse points (which isn't an option to many servers). > > > > > > > > @@ -5135,6 +5135,12 @@ smb2_make_node(unsigned int xid, struct inode *inode, > > > > pdev->minor = cpu_to_le64(MINOR(dev)); > > > > rc = tcon->ses->server->ops->sync_write(xid, &fid, &io_parms, > > > > &bytes_written, iov, 1); > > > > + } else if (S_ISBLK(mode)) { > > > > + memcpy(pdev->type, "LnxFIFO", 8); > > > > + pdev->major = 0; > > > > + pdev->minor = 0; > > > > + rc = tcon->ses->server->ops->sync_write(xid, &fid, &io_parms, > > > > + &bytes_written, iov, 1); > > > > } > > > > tcon->ses->server->ops->close(xid, tcon, &fid); > > > > d_drop(dentry); > > > > -- > > > Shouldn't "else if (S_ISBLK(mode))" be "S_ISFIFO"? > > > > > > else if (S_ISBLK(mode)) > > > > > > else if (S_ISBLK(mode)) > > > > > > > > > -- > > Thanks, > > > > Steve > > > > -- > Thanks, > > Steve -- Thanks, Steve