case sensitive = yes and zfs casesensitivity = insensitive
Jeremy Allison
jra at samba.org
Mon Jun 22 11:51:16 MDT 2015
On Fri, Jun 19, 2015 at 02:26:21PM -0700, Richard Sharpe wrote:
> Hi,
>
> We were testing with this option in Samba master with ZFS and it was not
> working, and it seems to revolve around the need for a change like this:
>
> --- a/source3/smbd/filename.c
> +++ b/source3/smbd/filename.c
> @@ -472,7 +472,9 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx,
> * won't help.
> */
>
> - if ((conn->case_sensitive || !(conn->fs_capabilities &
> + if ((lp_case_sensitive(SNUM(conn))
> + || conn->case_sensitive
> + || !(conn->fs_capabilities &
> FILE_CASE_SENSITIVE_SEARCH)) &&
> !mangle_is_mangled(smb_fname->base_name,
> conn->p
>
> Did someone break this functionality at some time?
Maybe. That change shouldn't be needed. Inside set_current_service()
we have:
switch (lp_case_sensitive(snum)) {
case Auto:
{
/* We need this uglyness due to DOS/Win9x clients that lie about case inse
enum remote_arch_types ra_type = get_remote_arch();
if ((ra_type != RA_SAMBA) && (ra_type != RA_CIFSFS)) {
/* Client can't support per-packet case sensitive pathnames. */
conn->case_sensitive = False;
} else {
conn->case_sensitive = !(flags & FLAG_CASELESS_PATHNAMES);
}
}
break;
case True:
conn->case_sensitive = True;
break;
default:
conn->case_sensitive = False;
break;
}
which means when "case sensitive = true" is set then
conn->case_sensitive should always be set to true.
Can you work with me to debug this ? I don't know
exactly what you're seeing here.
More information about the samba-technical
mailing list