## modifications dd-mm-yyyy ---------------------- PATCH FOR PARTED 1.6.5 ---------------------------- 1 initial revision 07-04-2003 2 one pass resizing, removal of debug info 08-04-2003 3 safe abort if resize failed, code cleanups, timer, 10-04-2003 source file split, won't resize if not unmounted, only relocate data if needed, minimize disk operations 4 memory leaks removal, code cleanups, resize hfs+ code, 17-04-2003 more checks, minor hfs resize bugfix, probe code returns real geometry 5 hfs+ resize bugfixes : 19-04-2003 * fragmented fs could be corrupted * VH wasn't written on error during alloc map writing * attributes file could be corrupted 6 Use PedSector to be able to use 2To+ HD 23-04-2003 Minor probe bugfix, Cleanups, HFS+ Timer tuning, 7 80 columns indentation 23-04-2003 8 Bugfix free blocks calculation in wrapper (makes Mac OS boot !) 28-04-2003 ---------------------- PATCH FOR PARTED 1.6.6 ---------------------------- 9 Don't destroy the file being worked on in case of interruption of Parted 28-10-2003 ---------------------- PATCH FOR PARTED 1.6.10 --------------------------- 10 Regression tests, URL correction, In effect_move_extent : corrected memory leak & corrected a bug in precondition checks Added error messages, Check ped_alloc results Use macro for test / set / clear in the allocation bitmap Light probe correction, Check return value of get_empty_end Moved dynamic memory allocation out of effect_move_extent Check HFS+ version, Set implementation creator code Check journal absence, Corrected a bug in HFS+ block number calculation 24-04-2004 --------------------- PATCH FOR PARTED 1.6.11 ---------------------------- 11-Some pointer dereference moved after non nul assertion -Error messages for HFS(+) file IO -Memory leak correction in hfs(plus)_read_bad_blocks -Mark out of volume blocks as used (improve compatibility with broken HFS+ Linux implementation) WARNING : this fix is not 100% tn1150 compatible : "The allocation file may be larger than the minimum number of bits required for the given volume size. Any unused bits in the bitmap must be set to _zero_." Anyway neither is the Linux implementation, nor was my previous implementations Maybe I should ask Apple to change the specifications -HISTORY, DOC and TODO files 29-04-2004 12 Corrected a bug in hfsplus_volume_resize : size of alloc bitmap could be miscalculated 29-04-2004 --------------------- PATCH FOR PARTED 1.6.12 ---------------------------- 13-Finally partial rewrite of *_search_move_* Easier to maintain and prepare for extent search and relocation algorithm changes for better ones. -"An extent has not been relocated!" message now only when relocation requested -Slightly better and simpler relocation algorithm -Update of Makefile.in and Makefile.am in fs_hfs -Sign correction for some 8bits HFS integers -Added the option --enable-hfs-extract-fs in 'configure' -Added every ped_geometry_sync where needed -Bugfix : "A root node does not need to exist (if the tree is empty)." - now handled correctly in btree_search -Bugfix : failure wasn't detected in some cases during 2 pass relocation (*_search_move_*) -Bugfix : The extent key comparaison was done in a wrong order and a pad field was used during the comparaison -Bugfix : in hfs_file_find_sector and hfsplus_file_find_sector the absolute position of a file sector could be miscalculated in case of fragmentation, resulting in potential data corruption, or various errors -Bugfix : The end of the HFS bitmap compatibility block was miscalculated ( (1<<16)/8 instead of (1<<16) ) in hfs_resize 07-09-2004 --------------------- PATCH FOR PARTED 1.6.14 ---------------------------- 14 Port of Patch 13 for Parted 1.6.14 (update timestamps) 08-09-2004 --------------------- PATCH FOR PARTED 1.6.15 ---------------------------- 15-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 -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) -cut the "hfs.c" file in several parts -Bugfix: 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 :) -Bugfix: 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 -Bugfix: bugs introduced in rewrite of hfsplus_file_read && hfsplus_file_write : last sector was incorrectly detected as out of file. -Cache the extent references (speed improvement ?) 23-09-2004 16-Bugfix: in hfsplus_do_move (reloc_plus.c), case CR_BTREE_EXT_ATTR incorrectly updated the cached part of priv_data->catalog_file instead of priv_data->attributes_file -Bugfix: in hfs_read_bad_blocks && hfsplus_read_bad_blocks, now generate an error if file_ID or type mismatch after the first pass Also check return value of ped_malloc -Bugfix: in hfsplus_btree_search, check return value of ped_malloc 29-09-2004 ---------------- INTEGRATION IN PARTED 1.6.22 (cvs) ---------------------- Futur changes will be described in ../../ChangeLog 02-02-2005