Hi, Thank you. Your additional description is very helpful. I am going to investigate these issues. With the best regards, Vyacheslav Dubeyko. On Jul 22, 2012, at 1:06 AM, Hin-Tak Leung wrote: > --- On Sat, 21/7/12, Vyacheslav Dubeyko <slava@xxxxxxxxxxx> wrote: > >> Hi, >> >> On Jul 20, 2012, at 3:56 AM, Hin-Tak Leung wrote: >> > <snipped> >>> >>> - I found that delete/unlink from linux almost always >> results in fsck.hfsplus complaining about unused nodes not >> being zero'ed, and needing minor repair. So this is somewhat >> expected - the typical linux design for performance, and not >> doing more than necessary; but this also indicates a >> somewhat significant difference in behavior with HFS+ under >> Mac OS X - Mac OS X probably zero's deleted/unlinked data >> nodes, maybe for security reasons. Should this be changed in >> the linux driver for hfsplus? Just to make fsck.hfsplus >> happy? >>> >>> - I also found that deleting/unlinking Mac-generated >> files from linux results in complaints about inconsistent >> counts of extended attributes and catalog files. This is >> again not surprising - some of Mac OS X's file attributes >> have no linux equivalents, and are stored elsewhere anyway. >> But one might want to try to look up and clean up those >> associated extended attributes. This is a bug. >> >> As I can understand, you report about found bugs. Am I >> correct? Could you please describe these bugs with >> reproduction path and error output of fsck.hfsplus? > > <snipped> > > Correct - two interesting bugs. I thought I had supplied enough details for others to try to reproduce? The first is simply about deleting files, the latter about deleting files with extended attributes. So, to reproduce: > > 1. Have a hfs+ volume (created under Mac OS X would be better). Make sure it passed fsck.hfsplus (on linux). > 2. copy the system Fonts folder (I think it is under /Library/Fonts) to it from Mac OS X. Font files have extended attributes, but other system files might do too. > 3. Try to delete some of those files from Linux. > 4. umount, run fsck.hfsplus on the volume. One would see: > > Executing fsck_hfs (version 540.1-Linux). > ... > ** Checking extents overflow file. > Unused node is not erased (node = 1) > ** Checking catalog file. > Unused node is not erased (node = 18) > ... > ** Checking extended attributes file. > Incorrect number of extended attributes > (It should be 13 instead of 6) > ... > ** Repairing volume. > RepairAttributesCheckABT: No matching catalog record found for id=438 > ... > ** Rechecking volume. > ... > ** The volume journalled was repaired successfully. > > > 'Unused node is not erased' & 'Incorrect number of extended attributes' were essentially what I wrote earlier. BTW, I ran fsck.hfsplus with: > > fsck.hfsplus -d -D 0x0033 -f > > - i.e. maximum amount of information, and have a look even if it appears to be clean. (there are -l, -y and -n switches to control whether fsck.hfsplus would actually fix anything found or leave it alone and just output info). > > The font folder is only about a few hundred MB, so one should be able to experiment with a small pen drive and do byte-level comparisons to see what fsk.hfsplus is not happy about and what does it change - although I am sure looking at diskdev_cmds's source would also be useful. I just happen to want the font folder for other things I do. > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html