Mac OS X file system weirdness
#202 Henry, Sunday, 25 January 2015 12:56 PM (Category: Apple)
(Tags: hfs+ macosx rsync)

I read a post by Linux Torvalds a few days ago where he ranted about the quality of Apple's HFS+. I didn't pay a whole lot of attention to it, but with the rsyncing I am doing today to a HFS+ volume, it came back to me.

During the rsync, I noticed that two directories kept getting deleted and re-copied every single time. Why?

First of all, I had a stupid arrangement on my Linux box. I had two directories set up like this:

-- Ipad
    |-- new
    |   |-- img_0045.jpg
    |   |-- img_0046.jpg
-- iPad
    |-- 20141022_a_richmond
    |   |-- img_0047.jpg
    |   |-- img_0048.jpg
    |   `-- img_0049.jpg

I had one directory called Ipad with a capital I and one directory called iPad with small i and capital P. On the Linux boxes, these are two completely directories. On HSF+ they are the same. There appears to be no case sensitivity. When I created the Drobo volumes, I didn't get a choice about case sensitivity, I only got one choice - HFS+. I think Linus said something about this.

So when rsync is working on the Ipad, it looks at the Ipad/iPad directory and deletes the 20141022_a_richmond directory and copies in the new directory with its files, then moves on to the iPad directory and there's only the new directory now so it deletes it and copies in the 20141022_a_richmond directory and files. Next time, it does the same thing over and over.

Sure, it's my fault for having two stupidly named directories, but Linux handles this just fine rsyncing from one to another. It's only a problem here because HFS+ sees Ipad and iPad as the same directory.

To fix this, on my Linux box, I have merged those two directories.

EDIT: I found Linus' rant.