Re: [PATCH] cifs: fix dentry hash calculation for case-insensitive mounts

Shirish Pargaonkar <[email protected]>
Newsgroups gmane.linux.file-systems.cifs
Message-ID <[email protected]>
On Fri, Feb 5, 2010 at 12:30 PM, Jeff Layton <[email protected]> wrote:
> case-insensitive mounts shouldn't use full_name_hash(). Make sure we
> use the parent dentry's d_hash routine when one is set.
>
> Reported-by: Dave Kleikamp <[email protected]>
> Signed-off-by: Jeff Layton <[email protected]>
> ---
>  fs/cifs/readdir.c |    7 +++++--
>  1 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c
> index f5618f8..c343b14 100644
> --- a/fs/cifs/readdir.c
> +++ b/fs/cifs/readdir.c
> @@ -77,6 +77,11 @@ cifs_readdir_lookup(struct dentry *parent, struct qstr *name,
>
>        cFYI(1, ("For %s", name->name));
>
> +       if (parent->d_op && parent->d_op->d_hash)
> +               parent->d_op->d_hash(parent, name);
> +       else
> +               name->hash = full_name_hash(name->name, name->len);
> +
>        dentry = d_lookup(parent, name);
>        if (dentry) {
>                /* FIXME: check for inode number changes? */
> @@ -671,8 +676,6 @@ static int cifs_get_name_from_search_buf(struct qstr *pqst,
>                pqst->name = filename;
>                pqst->len = len;
>        }
> -       pqst->hash = full_name_hash(pqst->name, pqst->len);
> -/*     cFYI(1, ("filldir on %s",pqst->name));  */
>        return rc;
>  }
>
> --
> 1.6.6
>
> _______________________________________________
> linux-cifs-client mailing list
> [email protected]
> https://lists.samba.org/mailman/listinfo/linux-cifs-client
>

Jeff, these are functions, full_name_hash etc. treat name->name and
name->len as
character names strings and character name string lenghts, is that correct?
There is not unicode consideration while generating hash values at this point?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.