linux/fs/hfsplus
Duane Griffin 1e96b7ca1e 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>
2007-07-16 09:05:49 -07:00
..
bfind.c [PATCH] hfs: cleanup HFS+ prints 2006-01-18 19:20:22 -08:00
bitmap.c [PATCH] read_mapping_page for address space 2006-06-23 07:43:02 -07:00
bnode.c [PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc 2006-09-27 08:26:10 -07:00
brec.c [PATCH] hfs: cleanup HFS+ prints 2006-01-18 19:20:22 -08:00
btree.c is_power_of_2 in fs/hfs 2007-05-08 11:14:59 -07:00
catalog.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
dir.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
extents.c [PATCH] hfs: add HFSX support 2006-01-18 19:20:23 -08:00
hfsplus_fs.h [PATCH] BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6] 2006-09-30 20:52:28 +02:00
hfsplus_raw.h [PATCH] extend the set of "__attribute__" shortcut macros 2007-02-11 10:51:35 -08:00
inode.c sendfile: remove .sendfile from filesystems that use generic_file_sendfile() 2007-07-10 08:04:13 +02:00
ioctl.c [PATCH] BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6] 2006-09-30 20:52:28 +02:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
options.c [PATCH] hfs: cleanup HFS+ prints 2006-01-18 19:20:22 -08:00
part_tbl.c fix file specification in comments 2006-10-03 23:01:26 +02:00
super.c HFSPlus: change kmalloc/memset to kzalloc 2007-07-16 09:05:46 -07:00
tables.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unicode.c HFS+: refactor ASCII to unicode conversion routine for later reuse 2007-07-16 09:05:49 -07:00
wrapper.c [PATCH] hfs: add HFSX support 2006-01-18 19:20:23 -08:00