Re: [PATCH] ksmbd: add default data stream name in FILE_STREAM_INFORMATION

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/20/2021 12:47 AM, Steve French wrote:
On Sat, Sep 18, 2021 at 9:06 PM Tom Talpey <tom@xxxxxxxxxx> wrote:

This doesn't appear to be what's documented in MS-FSA section 2.1.5.11.29.
There, it appears to call for returning an empty stream list,
and STATUS_SUCCESS, when no streams are present.

I tried a quick test to Windows and it does appear to return $DATA
stream by default:

# ./smbinfo filestreaminfo /mnt/junk
Name: ::$DATA
Size: 179765 bytes
Allocation size: 196608 bytes

Ok, so the implication is that the default stream is indeed always
present, if the filesystem supports streams. The language in MS-FSA
would therefore be correct, but a bit vague. I agree that returning
a ::$DATA for ordinary files is appropriate.

when I tried the same thing to a directory on a share mounted to Windows 10
(NTFS), I get no streams returned.

So it does look like default stream ($DATA) is only returned for files


My concern here is, what's so special about directories? A special file
or fifo, a symlink or reparse/junction, etc. Is it appropriate to cons
up a ::$DATA for these? What should the size values be, if so?

Tom.


Also, why does the code special-case directories? The conditionals
on StreamSize and StreamAllocation size are entirely redundant,
after the top-level if (!S_ISDIR...), btw.

I'd suggest asking Microsoft dochelp for clarification before
implementing this.

Tom.

On 9/18/2021 8:02 AM, Namjae Jeon wrote:
Windows client expect to get default stream name(::DATA) in
FILE_STREAM_INFORMATION response even if there is no stream data in file.
This patch fix update failure when writing ppt or doc files.







[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux