Issue with changes to VFS_STAT and VFS_LSTAT.

Jeremy Allison jra at
Mon Jun 29 12:04:53 MDT 2009

On Mon, Jun 29, 2009 at 10:51:19AM -0700, Tim Prouty wrote:
> This is actually true for vfswrap_open() as well, which has a comment that is
> basically asking the same question.

Ah yes, I missed that one too :-).

> Previously there was no correct way at the vfs layer to differentiate between a
> filename containing a colon (posix extensions, demangled name) and a stream as
> passed over the wire by the windows client.  Now that there is more detailed
> information about the filename at the posix level, I fully agree that this is a
> good time to diverge from previous behavior.

Yes, but at the POSIX layer we need to error with a non-zero
stream component.

> In the case of smbd running with no streams modules, I believe your patch will
> cause an assert to be fired for every smb_filename-based vfs op.

I don't think it does, only for calls containing a stream name
from the client.

> What do you
> think about returning an error and setting ERRNO to something like ENOENT if
> stream != NULL?

Yes, I think this is the correct thing to do.

> We could even go one step further and allow the vfs_default
> posix wrappers to allow opening the ::$DEFAULT stream by checking
> is_ntfs_default_stream_smb_fname() and using the base_name if it returns true.

That's getting a little fancy..... :-). Let me think about
this one.

> I'm happy to make these changes in my next round of the migration.

Let me look at them first, that way I know there's more
than you understanding this code :-).

> Also, thank you for following all of these changes!
>   I'm touching a lot of code, and it's good to know you're keeping an eye on them :).

Yeah, I'm watching these changes very carefully :-).



More information about the samba-technical mailing list