[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

HFS Patch 15 out

From: K . G .
Subject: HFS Patch 15 out
Date: Fri, 24 Sep 2004 04:07:51 +0200


I've released HFS Patch 15 for Parted 1.6.15 :
( patched tbz2 : 
  staticaly linked for ppc : 
http://xilun.nerim.net/Projet/Parted/parted-hfs-ppc.static )
Use the '-T' option of patch to apply it, otherwise you will uselessly
rebuild the whole autoconf system of Parted.

I've rewritten the search algorithm using a cache storing extent references
of the FS in a sorted order, but this has not resulted in the spectacular
speed improvement I expected. I've found that most (indeed nearly all)
CPU time is spent in kernel space so I will try to understand why and find
new solutions to accelerate things.

This version also includes other important changes  :
- in hfsplus_do_move_primary, hfs_effect_move_extent
   was called instead of hfsplus_effect_move_extent !!!
   This could not produce data corruption, because of a welcome
   ASSERT in *_effect_move_extent that would detect the bug, and
   make the resize process 'cleanly' fail, depending of the initial
   filesystem. (bug not present in 12.5 and before)
- in hfs_effect_move_extent, do
        PED_ASSERT(*ptr_to_fblock <= *ptr_fblock, return -1);
   instead of
        PED_ASSERT(*ptr_to_fblock < *ptr_fblock, return -1);
   and added that assertion to hfsplus_effect_move_extent
- optimisation of hfs+ block access : don't recalculate
   the address of each sector, and avoid checking the cache if
   obviously not useful
   ( hfsplus_file_read && hfsplus_file_write
     && hfsplus_file_find_extent && hfs_file_find_sector)
- in hfsplus_open : added a warning message if the "attributes"
   special file exists
- hfsplus_open : added a test to check if the "allocation"
   special file has been correctly opened
- "hfs.c" was cut in several parts

After new tests I found that resized HFS(+) volumes are incompatible with
Linux 2.4 after checking and repairing them with disk utils of Mac Os.

Guillaume Knispel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]