[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