[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-1731-gc1a21d0

Jeremy Allison jra at samba.org
Thu May 21 01:25:26 GMT 2009


On Wed, May 20, 2009 at 08:15:09PM -0500, Tim Prouty wrote:
> The branch, master has been updated
>        via  c1a21d085d758284fe6997a05396f225da683352 (commit)
>       from  5d3d51e9ad1e4db8d9580ce7f2ba4e86e658bb13 (commit)
> 
> http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
> 
> 
> - Log -----------------------------------------------------------------
> commit c1a21d085d758284fe6997a05396f225da683352
> Author: Tim Prouty <tprouty at samba.org>
> Date:   Tue Apr 7 13:39:57 2009 -0700
> 
>     s3: Change unix_convert (and its callers) to use struct smb_filename
>     
>     This is the first of a series of patches that change path based
>     operations to operate on a struct smb_filename instead of a char *.
>     This same concept already exists in source4.
>     
>     My goals for this series of patches are to eventually:
>     
>     1) Solve the stream vs. posix filename that contains a colon ambiguity
>        that currently exists.
>     2) Make unix_convert the only function that parses the stream name.
>     3) Clean up the unix_convert API.
>     4) Change all path based vfs operation to take a struct smb_filename.
>     5) Make is_ntfs_stream_name() a constant operation that can simply
>        check the state of struct smb_filename rather than re-parse the
>        filename.
>     6) Eliminate the need for split_ntfs_stream_name() to exist.
>     
>     My strategy is to start from the inside at unix_convert() and work my
>     way out through the vfs layer, call by call.  This first patch does
>     just that, by changing unix_convert and all of its callers to operate
>     on struct smb_filename.  Since this is such a large change, I plan on
>     pushing the patches in phases, where each phase keeps full
>     compatibility and passes make test.
>     
>     The API of unix_convert has been simplified from:
>     
>     NTSTATUS unix_convert(TALLOC_CTX *ctx,
>     		      connection_struct *conn,
>     		      const char *orig_path,
>     		      bool allow_wcard_last_component,
>     		      char **pp_conv_path,
>     		      char **pp_saved_last_component,
>     		      SMB_STRUCT_STAT *pst)
>     to:
>     
>     NTSTATUS unix_convert(TALLOC_CTX *ctx,
>     		      connection_struct *conn,
>     		      const char *orig_path,
>     		      struct smb_filename *smb_fname,
>     		      uint32_t ucf_flags)
>     
>     Currently the smb_filename struct looks like:
>     
>     struct smb_filename {
>            char *base_name;
>            char *stream_name;
>            char *original_lcomp;
>            SMB_STRUCT_STAT st;
>     };

I thought you were going to change unix_convert()
to allocate the struct smb_filename inside and
return it ? The last time we discussed it that's
what we ended up with proposing.

Or is this coming in a future patch ?

Jeremy.


More information about the samba-technical mailing list