Bug 15453

Summary: HFS+ doesn't have decomposition for Korean(Hangul) when storing file name.
Product: File System Reporter: dodamn
Component: HFS/HFSPLUSAssignee: Christoph Hellwig (hch)
Status: RESOLVED OBSOLETE    
Severity: normal CC: alan, blaisorblade, hch
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6 Subsystem:
Regression: No Bisected commit-id:
Attachments: a file with the name in Korean

Description dodamn 2010-03-05 21:11:03 UTC
HFS+ should store file name as decomposition form. Korean(Hangul) file name also must be decomposed. But Linux at least 2.6.31 does not have decomposition code for Korean(Hangul) file name. I found 2.6.33 also doesn't have it. But xnu which is kernel of Mac OS X has decomposition for Hangul file. So if Korean file name is made on Linux, that file can't be read on Mac OS.

In fs/hfsplus/unicode.c, I can't find any code about Korean decomposition.

Why is it missed?
Comment 1 Vlad Codrea 2010-10-21 04:21:43 UTC
CC'ed Christoph Hellwig since he took over maintainership of HFSPlus.
Comment 2 Andrei Levin 2010-12-02 21:25:39 UTC
Created attachment 38882 [details]
a file with the name in Korean

This tgz contains a file which if copied on hfsplus file system produce undeletable, unreadable file. It can't be deleted even by inode.
Comment 3 Paolo 'Blaisorblade' Giarrusso 2012-09-09 17:12:11 UTC
I can't give too many details, but while backing up my OS X filesystem with Linux onto another OS X filesystem, I noticed a few files with Korean filenames which rsync could not copy (no names unfortunately, I fear). So I think there are still problems in this area. This was with a Linux kernel 3.2 as provided by Xubuntu 12.04.
Comment 4 Paolo 'Blaisorblade' Giarrusso 2013-12-11 00:13:25 UTC
Any explanation why this is obsolete? Did you really implement in-kernel Unicode normalization?
Comment 5 Alan 2013-12-11 11:48:59 UTC
No but 2.6 kernels are obsolete. If it's still present on recent kernels can you bump the version. Not I suspect that anything will occur unless you post patches to fix it.