Changelog

From FSArchiver

Jump to: navigation, search
  • 0.6.10 (2010-05-09):
    • Fixed support of symbolic links on ntfs filesystems with ntfs3g >= 2010.3.6
  • 0.6.9 (2010-05-04):
    • Fix in probe: show devmapper/lvm volumes even when /dev/dm-xx does not exist
    • Fixed restoration of very small archives (archive < 4K)
    • Fix error handling in restoration: consider ENOSPC as a fatal error and other fixes
    • Fix: remove all volumes of the archive instead of just the first one if save fails
  • 0.6.8 (2010-02-20):
    • Fixed compilation error on systems with recent kernel headers by including <sys/stat.h>
    • Fixed critical bug: there was a risk of corruption when the archive was written on a smbfs/cifs filesystem
  • 0.6.7 (2010-01-31):
    • Added support for sparse files (sparse file on the original disk will be recreated as sparse file)
    • Added per-archive minimum fsarchiver version requirement (MAINHEADKEY_MINFSAVERSION)
    • Added dirsinfo in archives with simple files and directories to store stats required for progression
    • The logfile created when option -d is used now has a specific name so that it's not overwritten
    • The md5 checksums are now calculated using the implementation from libgcrypt instead of the internal one
    • The libgcrypt library is now a mandatory dependency and crypto cannot be disabled any more
    • Allow non root users to use "fsarchiver archinfo" as long as they have read permissions on the archive
  • 0.6.6 (2010-01-24):
    • Fix: don't remove the archive file when savefs/savedir fails because the archive already exists
    • Partitions already mounted are remounted with MS_BIND to have access to files hidden by mounted filesystems
    • Analyse filesystems only when they are all accessible to prevent having to wait and then get an error
    • Moved management of data files (open/write/md5sum) from extract.c to a separate object (datafile.c)
    • Important internal changes, renaming of functions/files, and simplifications for better consistency
    • Rephrased and simplified messages and other improvements in fsarchiver.c (contribution from dgerman)
    • Fixed potential memory error in savefs/savedir with extended attributes (bug reported by mbiebl)
  • 0.6.5 (2010-01-07):
    • Fixed compilation issues (pkg-config problems especially on systems with e2fsprogs < 1.41.2)
    • Retry with the default level (gzip -6) when compression of a data block lacks memory with bzip2/lzma
  • 0.6.4 (2010-01-03):
    • Improved the manpage: documented the long options, added examples, links, ...
    • Reorganized code of the archive-io thread (split archive into archreader and archwriter)
    • Fixed critical bug: integer overflow for "u16 headerlen" when sum of attributes size > 65535
    • Introduced new fileformat: "FsArCh_002", but old format "FsArCh_001" is also supported
    • Using code from libblkid instead of complex implementation to read ntfs labels
    • Switch to pkg-config in configure.ac and Makefile.am (contribution from Michael Biebl)
  • 0.6.3 (2009-12-28):
    • Don't fail when e2fsck returns 1 in extfs_mkfs() since it means the filesystem has been fixed
    • Extended options (stride and stripe_width), max_mount_count, check_interval are now preserved for ext{2,3,4}
    • Display the percentage of the operation which has been completed when verbose >= 1 (sort of progress bar)
    • Display information about physical disks as well as partitions in "fsarchiver probe <mode>"
    • Fixed bug with archive splitting: the split size was sometimes incorrect due to an integer overflow
    • Added option "--exclude/-e <pattern>" to exclude files/dirs. It works for both archiving and extracting.
    • Added support for long options (--option) using getopt_long
    • Removed the dependency on "which" to find the path to a program
    • Accept all libgcrypt versions >= 1.2.4 at runtime in gcry_check_version
    • Using functions from libuuid instead of duplicating code in uuid.[ch]
  • 0.6.2 (2009-12-08):
    • Dynamic memory allocation for ntfs specific extended-attributes in create.c
    • Fix related the the ntfs attributes when lgetxattr returns a negative size
    • Saves the name of the original device where the filesystem is stored (FSYSHEADKEY_ORIGDEV)
    • Fixed enable options in configure: "--enable-xxx" had the opposite effect (Thanks to horhe)
    • Exit with an error if the user wants to use a compression level which is not supported (Thanks to mbiebl)
    • Fixed crash when mount fails (mntbyfsa was set to true and not clear if mount fails)
    • Fixed code for ntfs symlinks (they have to be recreated as normal files and dirs + special attributes)
    • Changed the requirement from ntfs3g-AR (advanced release) to ntfs3g >= 20091114 (standard release) for ntfs
    • Improvements and fixes in the autotools build chain files (contribution from Michael Biebl)
    • Added option "-L" to specify the label of the archive: it's just a comment about the contents
    • Detabified the sources: find . -iname "*.[ch]" -exec sed -i -e "s/[\t]/ /g" -e 's!{  !{  !g' {} \;
  • 0.6.1 (2009-10-04):
    • New encryption implementation was not thread-safe (broken when option -j was used)
    • Dropped openssl support (this code was disabled in fsarchiver-0.6.0 anyway)
  • 0.6.0 (2009-09-27):
    • Debianized fsarchiver (added the debian directory necessary to build the debian package)
    • Rewrote the encryption support using libgcrypt instead of openssl (fix licensing issues)
    • Added the manpage written by Ilya Barygin (it will be installed by "make install")
  • 0.5.9 (2009-08-29):
    • Fixed 'fsarchiver probe' which ignored /dev/dm-0 (first device mapper disk)
    • It now displays NTFS uuids in the archive information ("fsarchive archinfo archive.fsa")
    • Support for "system.ntfs_times" attribute supported by ntfs-3g >= 2009.4.4AR.17
    • Support for "system.ntfs_dos_name" attribute supported by ntfs-3g >= 2009.4.4AR.17
    • Support for "user.ntfs.efsinfo" attribute which allows to copy and restore encrypted files
    • Improved detection for ntfs-3g-AR and print a more explicit message if inappropriate version found
    • Added info about the minimum fsarchiver version required in the archive to allow doing checks at restfs
    • Added FSYSHEADKEY_MOUNTINFO in the fsheader to allow modifications in the ntfs-3g streams_interface in the future
  • 0.5.8 (2009-07-12):
    • Preserve UUID with ntfs filesystems (64bit number written in boot sector at offset 0x48)
    • Fixed "fsarchiver probe": partitions having a 0 at the end of their number were ignored
    • Added distributions support files in the sources (ebuild script for gentoo, spec for rpm)
    • Using md5.c from coreutils-6.9 to avoid a licensing issue (this one is under GPL-v2)
  • 0.5.7 (2009-06-01):
    • Added detection of partitions with no known filesystem in "fsarchive probe"
  • 0.5.6 (2009-05-19):
    • Fixed execution of command having an argument with spaces (restfs was broken when the fs label had spaces)
    • Better error message when attempting to save an ntfs filesystem which is already mounted with ntfs-3g
  • 0.5.5 (2009-05-15):
    • Fixed segfault when the decompression function fails
    • Fixed decompression problems with lzma due to memory limit to low
  • 0.5.4 (2009-05-07):
    • Fixed problems in the management of SIGINT when the Ctrl+C is pressed to abort
    • Fixed warning about xattr attributes being too large when the size returned is -1
    • Bug fix: fuse filesystems were not unmounted correctly after a fatal error
  • 0.5.3 (2009-05-04):
    • Support for extended attributes up to 64k (the size was limited to 1024 bytes)
    • The file header is only copied if open64() is successful (prevents header with no data)
    • Management of files which are truncated during a live-backup (padding with zeros)
    • Test to make sure it cannot archive the archive itself during a live-backup
    • Improved error management when there are problems on files or attributes in create.c
  • 0.5.2 (2009-04-27):
    • Copy the contents of /dev/ during a live-backup (option -A used) else /dev/console missing at reboot
    • Bug fix: archive corruption when a file attribute was empty (eg: "user.encryptable" on ntfs may be empty)
  • 0.5.1 (2009-04-19):
    • Option -o (overwrite) was broken when the archive already exists (introduced in 0.5.0)
    • Better management of errors (no space left on device) when an archive is extracted
    • Fixed errors in fsaprintf arguments thanks to __attribute__ ((format (printf, x, y)));
    • Print statistics about success and errors at the end of an operation
  • 0.5.0 (2009-04-18):
    • Final archive file format is now used (it's compatible with fsarchiver >= 0.4.4)
    • Bug fix: archive extraction was hanging when there was an early error (incorrect command line)
  • 0.4.8 (2009-04-14):
    • Fixed compilation errors when fsarchiver is configured with --disable-crypto
    • Fixed problems when attributes stored in dico are empty
  • 0.4.7 (2009-03-29):
    • The mount-points directories are now archived during a live-backup (important for /dev, /proc, /sys)
    • Better management of corrupt archive files: allow to continue the restoration on the next valid file found
    • Bug fix: Ignore devices that are cached by blkid in "fsarchive probe" (cdrom devices that do not exist were shown)
    • Bug fix: "fsarchiver probe" detected ext4 filesystem as ext3 when libblkid < 1.41 (it's part of e2fsprogs)
    • Bug fix: Fixed minor memory leak in "fsarchiver probe" by calling blkid_put_cache() to free the dynamic memory
    • Bug fix: Fixed memory error (invalid free) when a corrupt data block is found in the archive (bad checksum)
    • Bug fix: Show and error message and exit instead of waiting when the required fstools are not installed
    • Bug fix: fixed potential crash in thread_comp when aborting a restoration process because of an error
  • 0.4.6 (2009-03-24):
    • Bug fix: fixed various memory leaks reported by valgrind (dictionaries structures were sometimes not freed)
    • Internal changes: replaced most "struct" with "typedef struct", refactoring code in create.c
  • 0.4.5 (2009-03-15):
    • Bug fix: empty files must not be copied with small files, and there is no need to write the checksum
    • Bug fix: commands with big output were blocking until the pipe was read which was never done (thanks to Setsuna)
    • Bug fix: show all the restored files at restfs including the small files which are compressed in a single block
  • 0.4.4 (2009-03-01):
    • Added optimized management of small files (several small files data in a single compressed block)
    • Bug fix: only umount the partitions that have been mounted by fsarchiver at the end of an operation
    • Option '-a' allows users to run savefs on a mounted partition when the mount options for acl/xattr are not used
    • Improved the documentation about fsarchiver internals in the sources (about multithreading and the fileformat)
  • 0.4.3 (2009-02-22):
    • Check the mount options are ok for xattr and acl if the partition is already mounted
    • Mount original filesystems with options noatime,nodiratime to optimize the speed
    • Fixed detection of xfs filesystem (broken by a change in 0.4.1)
  • 0.4.2 (2009-02-15):
    • Rewrote the management of ext{2,3,4} filesystem features
    • Fixed compilation errors on rhel-5.x and fedora-11-alpha
    • Improved filesystems detection
  • 0.4.1 (2009-02-01):
    • Added a new command: "probe" that shows the list of filesystems found on the disks
  • 0.4.0 (2009-01-31):
    • Added support for ntfs filesystems (ability to clone Windows partitions)
    • Changed the internal format used in the headers (added u8 type to items)
  • 0.3.7 (2009-01-25):
    • Fixed broken "restdir" (bug introduced in fsarchiver-0.3.6)
    • Changed types of the integers used in the archive to optimize the space used by headers
  • 0.3.6 (2009-01-25):
    • Introduced more flexibility in the compression levels (there are now 9 compression levels)
    • Optimized the way and archive is read when we don't want to restore all of its filesystems
    • The help screen now shows which optional features have been enabled at compilation time
    • Added support for encryption using openssl and blowfish. it can be disabled at compilation
    • Added an objectid to each filesystem object (file, link, directory, ...) and write it in archive
  • 0.3.5 (2009-01-21):
    • Fixed buffer overflow due to bad usage of strnlen (n is not the size of the destination buffer)
    • Removed unnecessary header file inclusion (uuid/uuid.h)
    • Added checks in ./configure to make sure attr/xattr.h is installed
    • Thanks to Clive for all these bug reports and investigations about it
  • 0.3.4 (2009-01-20):
    • Grew a string buffer that was too short for long commands (thanks to Clive)
    • Workaround for an e2fsprogs bug in version up to 1.41.3 (tune2fs does not update the checksum on ext4)
    • Added support for lzo compression (very fast but not very efficient algorithm)
  • 0.3.3 (2009-01-18):
    • Improved management of messages printed in the console or in the logfile
    • Fixed a critical bug in the archive creation that corrupts header-checksum in the archive
  • 0.3.2 (2009-01-18):
    • Made the queue management and the thread synchronization simpler to remove complex cases
    • Preservation of the btrfs filesystem attributes (label, sector-size) based on btrfs-0.18
    • Documented fsarchiver multi-threading internals in the text files that comes with sources
  • 0.3.1 (2009-01-16):
    • Fixed deadlocks in the queue management and improved synchronization using "end of queue" marker
  • 0.3.0 (2009-01-11):
    • Support for archive splitting into several files of a fixed size (option -s)
  • 0.2.11 (2009-01-10):
    • Internal: improved the organization of the modules (invisible change)
    • Improved threads synchronization
  • 0.2.10 (2009-01-10):
    • Removed several memory leaks in the queue management and in the dico management
    • Fixed possible crash at the end of "savedir"
  • 0.2.9 (2009-01-08):
    • Ability to add/extract normal directories as we do with tar instead of the entire filesystem
    • Removed warning that may be printed when the lzma compression is used even when it works
  • 0.2.8 (2009-01-06):
    • Ability to disable support for LZMA compression in ./configure (useful if you don't have liblzma)
    • Simplified the code related to the management of the queue, and big code cleanup
    • Optimized the memory management to require less memory
  • 0.2.7 (2009-01-04):
    • Support for LZMA compression (slow but very good) using xz-4.999.7beta.tar.gz
  • 0.2.6 (2009-01-04):
    • Optimized multi-threading using pthread_cond_timedwait() instead of usleep()
  • 0.2.5 (2009-01-03):
    • Support multiple filesystems per archive (changed the syntax of 'restfs')
    • Added command 'archinfo' to display information about an archive
    • Replaced option -F (to restore as a different filesystem) with option "mkfs=xxx"
    • New syntax for restfs (see example in "fsarchive -h" for more details)
  • 0.2.4 (2009-01-01):
    • Ported the sources to autoconf/automake
    • Internal: replaced OBJTYPE_END with a specific end of filesystem header
  • 0.2.3 (2008-12-30):
    • Ability to restore archives with corrupt files or blocks headers
    • Internal: merged std-attr+ext-attr into a single dico (using sections)
  • 0.2.2 (2008-12-29):
    • Support for large files (files bigger than 2GB)
    • Thanks to Setsuna for having reported problems with large files
  • 0.2.1 (2008-12-27):
    • Ability to restore archives with corrupt file contents
  • 0.2.0 (2008-12-25):
    • Support for multi-threaded compression (option -j)
  • 0.1.9 (2008-12-23):
    • Bug fix: it was not possible to restore an ext{2,3,4} partition if it was mounted read/write during the savefs
    • Bug fix: opening an archive may fail in restfs for no reason
    • Thanks to Setsuna for these bug reports
  • 0.1.8 (2008-12-07):
    • Preservation of the reiser4 filesystem attributes (label, uuid, block-size)
    • Preservation of the jfs filesystem attributes (label, uuid)
  • 0.1.7 (2008-12-07):
    • Preservation of the xfs filesystem attributes (label, uuid, block-size)
  • 0.1.6 (2008-12-02):
    • Preservation of the ext2/ext3/ext4 filesystem-features and default mount-options
  • 0.1.5 (2008-11-30):
    • Fixed bugs related to the standard and extended attributes
  • 0.1.4 (2008-11-28):
    • Preservation of the reiserfs-3.x attributes (label, uuid, block-size)
    • Fixed bugs about atime/mtime properties which could have be dropped for files
  • 0.1.3 (2008-11-23):
    • Preservation of the ext2/ext3 attributes (label, uuid, block-size)
    • Added support for bzip2 compression
  • 0.1.2 (2008-11-15):
    • Improved checksumming (md5 per file and checksum per block)
    • Added support for the extended attributes (aka EA, xattr)
  • 0.1.1 (2008-11-12):
    • Improved restoration of corrupt archives
    • Signal handler to cleanly stop the current operation
  • 0.1.0 (2008-11-10):
    • First public release
Personal tools
site map