]> git.baikalelectronics.ru Git - kernel.git/commit
HFS+: refactor ASCII to unicode conversion routine for later reuse
authorDuane Griffin <duaneg@dghda.com>
Mon, 16 Jul 2007 06:41:22 +0000 (23:41 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 16 Jul 2007 16:05:49 +0000 (09:05 -0700)
commit2399e6ec848358ace03c4cddaf29430322fb5fc8
treee770e898c43bc1e24bec330d97ef26c4f49189f8
parent83ef9a46760fd07f033cc0b72821d127c694c468
HFS+: refactor ASCII to unicode conversion routine for later reuse

The HFS+ filesystem is case-insensitive and does automatic unicode
decomposition by default, but does not provide custom dentry operations.  This
can lead to multiple dentries being cached for lookups on a filename with
varying case and/or character (de)composition.

These patches add custom dentry hash and comparison operations for
case-sensitive and/or automatically decomposing HFS+ filesystems.  Unicode
decomposition and case-folding are performed as required to ensure equivalent
filenames are hashed to the same values and compare as equal.

This patch:

Refactor existing HFS+ ASCII to unicode string conversion routine to split out
character conversion functionality.  This will be reused by the custom dentry
hash and comparison routines.  This approach avoids unnecessary memory
allocation compared to using the string conversion routine directly in the new
functions.

[akpm@linux-foundation.org: avoid use-of-uninitialised]
Signed-off-by: Duane Griffin <duaneg@dghda.com>
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/hfsplus/unicode.c