-
Notifications
You must be signed in to change notification settings - Fork 43
/
ChangeLog
314 lines (314 loc) · 20.9 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
fsarchiver: Filesystem Archiver for Linux [http://www.fsarchiver.org]
=====================================================================
* 0.8.7 (2023-03-19):
- Implement support for option "uuid=" for vfat (Marcos Mello)
- Update list of btrfs supported features (Marcos Mello)
- Add support for the "nrext64" feature on XFS (Marcos Mello)
- Do not error out on deleted files when option -A is used (Marcos Mello)
- Handle termination by signal in exec_command() (Marcos Mello)
- Add support for the "orphan_file" feature in EXT4 (Marcos Mello)
- Do not try to save xattrs if not supported by the filesystem (Marcos Mello)
* 0.8.6 (2021-02-27):
- Add support for EXT4 fast_commit feature (Marcos Mello)
- Add support for XFS features inobtcount and bigtime (Marcos Mello)
- Fix handling of compression options on the command line (Marcos Mello)
- Specify device as the last argument in mkfs calls (Marcos Mello)
* 0.8.5 (2018-07-10):
- Improved support for extfs filesystems (Contribution from Marcos Mello)
- Fixed build issue with e2fsprogs < 1.41 (Contribution from Marcos Mello)
- Fixed build issue related to xattr.h (Contribution from Lars Wendler)
* 0.8.4 (2018-02-19):
- Added support for zstd compression algorithm (New option "-Z")
* 0.8.3 (2017-12-22):
- Implemented LZ4 compression (Contribution from Cristian Vazquez)
* 0.8.2 (2017-08-22):
- Add support for the latest ext4 filesystem features
- Improved support of large block device when restoring extfs filesystems
* 0.8.1 (2017-01-10):
- Improved support for XFS filesystem (contributions from Marcos Mello)
- Updated documentation and comments in the sources (Marcos Mello)
* 0.8.0 (2016-08-09):
- Implemented FAT filesystem support for EFI system partitions
- Allow user to specify new filesystem label or UUID during restfs
- Fixed more errors and warnings reported by cppcheck
* 0.6.24 (2016-08-07):
- Updated man page and description of the commands and options
- Support for sparse inode chunks on XFS v5
- Avoid internationalization when running commands so mkfs output can be parsed properly
* 0.6.23 (2016-06-16):
- Added micro-seconds to timestamp used in the name of the temporary directory
- Fixed memory leaks on failure scenarios and protect against buffer overflows in scanf
- Fixed possible failure to restore ext4 filesystems when mkfs running in interactive mode
- Fixed compilation errors with the musl libc
* 0.6.22 (2016-02-13):
- Test support for extended attributes and ACLs instead of checking mount options
* 0.6.21 (2016-01-07):
- Removed duplicate types definitions in order to fix compilation errors
- Attempt to unmount a device four times before failing
* 0.6.20 (2016-01-03):
- Detect version of XFS filesystems in order to preserve it when they are restored
- Add support for XFS filesystems features introduced in XFS version 5
- Make sure the UUIDs of XFS filesystems are always preserved
* 0.6.19 (2014-03-01):
- Reverted "number of inode blocks per group" patch which caused a regression in release 0.6.18
* 0.6.18 (2014-02-13):
- Prepared release sources using autoconf-2.69 to add support for new architectures (RHBZ#925370)
- Applied patch from Berix to preserve the number of inode blocks per group on ext filesystems
- Added support for recent btrfs features (up to linux-3.14)
- Run mkfs.btrfs with option "-f" so that it does not fail on devices with pre-existing filesystems
* 0.6.17 (2013-02-25):
- Implemented "mkfsopt" restfs option to pass extra options to mkfs (Michael Moninski)
- Fixed parsing of "/proc/self/mountinfo" (mount options were not parsed on new systems)
- Removed the ebuild for gentoo as fsarchiver is now in the official portage tree
* 0.6.16 (2013-02-07):
- Fixed mke2fs requirement for the "ext_attr" feature (affects RHLE5/CentOS5)
- Fixed parsing of "/proc/self/mountinfo" for systemd based systems
* 0.6.15 (2012-06-02):
- Added support for recent ext4 features (up to linux-3.4 / e2fsprogs-1.42)
* 0.6.14 (2012-06-02):
- Added support for recent btrfs features (up to linux-3.4)
- Fixed compilation warnings (variable ‘res’ set but not used)
* 0.6.13 (2012-03-04):
- Fixed detection of the root filesystem using "/proc/self/mountinfo" instead of "/proc/mounts"
* 0.6.12 (2010-12-25):
- Fix: get correct mount info for root device when not listed in /proc/mounts (eg: missing "/dev/root")
* 0.6.11 (2010-12-01):
- Updated supported btrfs compat flags to make it work with btrfs-2.6.35
- The -c/--cryptpass option now supports interactive passwords: use "-c -"
* 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 critial 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):
- Dont 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 changing 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 fail
- 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 filesystem 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
- Replace 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