hfsplus: fix bless ioctl when used with hardlinks
authorMatthew Garrett <mjg@redhat.com>
Sun, 17 Jun 2012 21:05:25 +0000 (17:05 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 17 Jun 2012 21:39:59 +0000 (14:39 -0700)
commit7dea9665fee828fb56db3bae5b9685d9fa006d33
tree1c3daa7f96d9567a171b7823d141800312d9e66a
parenta6dc8c04218eb752ff79cdc24a995cf51866caed
hfsplus: fix bless ioctl when used with hardlinks

HFS+ doesn't really implement hard links - instead, hardlinks are indicated
by a magic file type which refers to an indirect node in a hidden
directory. The spec indicates that stat() should return the inode number
of the indirect node, but it turns out that this doesn't satisfy the
firmware when it's looking for a bootloader - it wants the catalog ID of
the hardlink file instead. Fix up this case.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/hfsplus/ioctl.c