2017-06-22
	3.6.26 release.
	Fixes a NULL pointer dereference caused by reiserfsck.
	build: libcom_err is required
	reiserfscore: add reiserfs_err.et to EXTRA_DIST
2016-06-06
	3.6.25 release.
	reiserfsprogs: use com_err in reiserfs_open
	reiserfscore: fix "new_insert_key may be used uninitialized..."
	reiserfsprogs: fix issues with inline functions
	man: Fixes a little glitch in the man page.
	manpages: escape dashes
	fsck: remove namesys.com reference in error text
	reiserfscore: constify struct pointer arguments
	reiserfscore: constify strings
	reiserfslib: add basic extended attribute helpers
	reiserfslib: add file data and directory iterators
	mkreiserfs: move block_size_ok out of reiserfscore
	debugreiserfs: fix incorrect memset size in unpack_stat_data
	reiserfsprogs: remove dead code
	debugreiserfs: fix use after free while closing log
	reiserfsprogs: add helpers for constant endian routines
	build: introduce shared libreiserfscore.so and export it
	reiserfsprogs: convert reiserfs_filsys_t from structure to pointer-to-structure
	reiserfsprogs: annotate for endian safeness
	reiserfsprogs: fix remaining sparse warnings
	reiserfsprogs: Fix sparse "warning: Using plain integer as NULL pointer"
	sparse: move bitops functions to include/misc.h
	reiserfscore: rename usearch_by_position to reiserfs_search_by_position
	reiserfscore: make reiserfs_open's filename argument const
	swab: protect le32_to_cpu and friends against being defined twice
	reiserfs_fs.h: Eliminate overlays in offset_v2 helpers
	reiserfscore: move endian helpers for offset_v2 into header
	reiserfs_fs.h: Fix ifndef for multiple inclusion
	cleanup: remove unused argument to reiserfs_invalidate_buffer
	cleanup: remove dead code
	cleanup: remove unnecessary fs pointer passed with buffer_infos
	cleanup: factor out buffer_info initialization into helpers
	cleanup: rename key and item_head accessors to more friendly names
	cleanup: remove trailing whitespace
	cleanup: run indent with the Linux Kernel style across all code
	cleanup: rename common structure names
2013-08-25
	3.6.24 release.
	reiserfsprogs: autogenerate the version number in the man pages
	journal: fix division by 0 with one transaction in log (crash)
	CREDITS/CONTACT: remove non-historical references to namesys.com
	resize_reiserfs: fix > 8TB printf formatting
	man: create links to common-prefix command names
	reiserfsprogs: add symlinks for debugreiserfs and reiserfstune
2013-07-01
	3.6.23 release.
	clean up build environment
	clean up io-failure-emulation logic a bit
	mkreiserfs: stop printing credits
	reiserfscore: add support for register_printf_specifier
	reiserfsck: support `fsck -f -n`
	reiserfscore: fix uninitialized variable warning in print_indirect_item
	reiserfsprogs: fix -Wpointer-sign warnings for blocksize and position
	debugreiserfs: fix dereferencing type-punned pointer warning
	reiserfsprogs: fix unsigned char with strlen/strcmp/strncpy warnings
	reiserfsprogs: fix printf formatting warnings
	reiserfsprogs: fix set-but-not-used gcc warnings
	reiserfsprogs: remove autoconf-generated files
2012-10-16
	3.6.22 release.
	- Fix signedness issues for large file systems
	- fix use after free with fsck_progress
	- configure: use AC_MSG_NOTICE rather than `echo`
	- install standard {fsck,mkfs}.reiserfs symlinks
2009-01-09
	3.6.21 release.
2009-01-09
	Patches from Jeff Mahoney:
	- reiserfsprogs-mkreiserfs-quiet.diff
	- reiserfsprogs-large-block-warning.diff
	- reiserfsprogs-fsck-mapid.diff
	- reiserfsprogs-external-journal-changes.diff
	- reiserfsprogs-remove-stupid-fsck_sleep.diff
	- reiserfsprogs-mkfs-use-o_excl.diff
	- reiserfsprogs-enforce-block-limit.diff
	- reiserfsprogs-large-fs.diff
	- reiserfsprogs-better-fsck-a-behavior.diff
	- reiserfsprogs-remove-dependency-on-asm_unaligned.h.diff
	- reiserfsprogs-progress.diff
	- reiserfsprogs-reorder-libs.diff

	Patches from Ludwig Nussel:
	- mkreiserfs-set-the-owner-of-the-root-directory-to-the-calling-user.diff

	Patches from Edward Shishkin:
	- reiserfsprogs-disable-small-block.diff
	- reiserfsprogs-new-version.diff
2004-10-13
	3.6.19 release.
2004-09-22
	Some bug fixes:
	- stop handling directory item if it has been removed on fsck pass0
	- handle correctly cases when hash functions return 0
	- additional check for wrong order of hashes when generation counters
	differ.
2004-08-18
	{get|set}_unaligned macroses fix for broken powerpc linux kernel 
	headers.
2004-08-18
	Patches from Jeff Mahoney:
	- warnings cleanups
	- sd_blocks check fix for quota
	- make fsck -a works quitely
	- fix the definition of BLKGETSIZE64
2004-08-03
	3.6.18 release.
2004-06-18
	Make the oid map code endian safe.
2004-05-27
	Syncing host & journal devices after replaing every transaction.
2004-05-26
	Do not left uninitialized fields in item headers before insertion.
2004-05-25
	Fixes in unaligned access to unformatted block pointers.
2004-05-24
	Make reiserfsck to handle suse's block allocator changes correctly.
2004-05-04
	3.6.17 release.
2004-04-30
	a few minor bugs were fixed:
	- mark changed leaves as dirty;
	- overflow at the huge hole insertion.
2004-04-05
	man pages were rewritten.
2004-03-22
	move 'unpack' program to 'debugreiserfs -u'.
2004-03-18
	3.6.14 & 3.6.15-pre1 releases.
2004-03-16
	reiserfsprogs
		a few bugs were fixed:
		in the journal replay code;
		in the balancing code when removing items from broken leaves;
		in the mount entry detection code with mtab handling.
2004-03-04
	reiserfsprogs
		a fix for the cross compiling when generating include/credits.h
2004-02-27
	reiserfsprogs
		a bug in the spec file was fixed.
2004-02-26
	reiserfsck
		a bug with setting the file size limit was fixed.
2004-02-17
	reiserfsprogs
		make bynaries to be 'position independent' when dynamically
		linked to libc.
2004-02-17
	3.6.13 release.
2004-02-13
	reiserfsprogs
		a few bugs were fixed in the mount entry detection code.
	3.6.13-pre1 release.
2004-02-06
	3.6.12 release.
2004-01-26
	3.6.12-pre3 release.
2004-01-21
	A few bugs were fixed:
	*reiserfsck
		- break from the pass2 loop correctly;
	*resizer
		- calculate the new fs size correctly;
		- parse new size parameters correctly;
		- checks for the new fs size are fixed;
2004-01-15
	*reiserfsprogs
		UUID support is rewritten -- link to libuuid instead of 
		our own UUID support.
2004-01-12
	*reiserfsprogs
		A fix for mount entry detection.
2003-12-17
	*reiserfsck
		A bug in rebuild-sb was fixed.
2003-11-24
	*reiserfsck
		Reboot is needed (0x2) return code was added.
2003-10-03
	*reiserfs_resizer
		Some checks before shrinking are added avoiding segfault in
		some cases.
2003-09-29
	*reiserfsprogs
		bad block support is enabled and fixed.
2003-09-23
	*reiserfsprogs
		fix for counting block number on block devices with block
		size greater then 4k.
2003-09-18
	*reiserfsck
		ro mounted filesystems are allowed to be checked.
2003-08-22i
	*reiserfsck
		fix for the journal of the minimal size
2003-08-01
	*reiserfsprogs
		3.6.11 release.
2003-07-30
	*reiserfsck
		2 bugs were fixed:
		- 64bit architecture related;
		- object attributes related.
2003-07-16
	*reiserfsprogs
		Credits were changed.
		A pair of them are printed at mkfs time.
	*reiserfsprogs
		3.6.9 release.
2003-06-25
	*reiserfsprogs
		Bugs were fixed:
		- in reiserfsck rebuild-sb of relocated journal;
		- in reiserfstune --no-journal-available;
		- in bitmap handling during resizing;
		- in mkreiserfs with notstandard journal on the main device 
		with not standard offset;
		- in not standard journal creation.
2003-05-29
	*reiserfsprogs
		Bugs in journal traversing and in rebuild-sb were fixed.
2003-05-20
	*reiserfsck
		Forks another process with openned file descriptor of the 
		partition being checked when fscking on boot and sleep for 
		5 secs to avoid reading of all bitmaps on mount again.
2003-05-16
	*mkreiserfs
		A bug with not standard journal cretion was fixed.
	*reiserfsprogs
		3.6.8 release.
2003-05-07
	*reiserfsck
		Exit codes were fixed;
		--yes option was added into fsck
	*mkreiserfs
		--quiet option was added into mkfs
2003-05-06
	*reiserfsprogs
		A bug in journal replaying code when the only transaction 
		exists was fixed.
2003-05-01
	*reiserfsprogs
		Make fsck to proceed when wrong journal parameters in the journal
		header on a fs with standard journal detected fixing them with the
		warning.
	*reiserfsprogs
		3.6.7 release.
2003-04-24
	*reiserfsprogs
		3.6.6 release.
2003-04-01
	*reiserfsprogs
		Bug with flushing buffers on bad file descriptor was fixed.
	*reiserfstune
		Bugs with not standard journal were fixed.
2003-03-13
	*reiserfsck
		Leaves recovery was improved - if some items are detected, try
		to recover the leaf even if block head is corrupted.
2003-03-04
	*reiserfsck
		The objectid handling was improved, significant speedup at
		semantic pass and lost+found pass.
2003-02-27
	*reiserfsprogs
		The check if the last block on fs is readable was moved from
		bitmap check to fs_open.
		Check transactions content before replaying, sware on invalid
		content instead of replay attempts, print about results.
	*reiserfsprogs
		3.6.5 release.
2003-02-21
	*reiserfsck
		a critical bug on pass0 of rebuild-tree with overflowing while
		checking unformatted item offsets was fixed.
	*reiserfsprogs
		3.6.5-pre2 release.
2003-02-20
	*reiserfsck
		reiserfsck -a (started at boot) replays journal, checks error 
		flags in sb, bitmaps, fs size, 2 levels of internal tree and 
		switches to fixble mode if any problem is detected. For root 
		fs fixable cannot be performed (as fs is mounted) and just 
		--check will be done.
2003-02-14
	*reiserfsck
		fix-fixable does not relocated shared object ids anymore.
		Bug in relocation - entry key was not updated correctly with 
		the new key of relocated file.
2003-02-12
	*reiserfsprogs
		Journal replay was improved - check blocks if they are journable
		before replaying; - replay only transactions which has trans_id
		== last replayed transaction trans_id + 1.
2003-02-10
	*reiserfsprogs
		le bitops operations were added back to avoid arch dependence 
		with including asm/bitops.h - we should use le operations even
		on be mashins.
2003-01-31
	*reiserfsprogs
		Warning messages about the broken hardware were improved.
2003-01-30
	*reiserfsprogs
		Check for bits in ondisk bitmaps after the last valid bit was
		added - all these bits should be set to 1.
2002-12-13
	*reiserfsck
		Keep only permanent fields of the super block, but not the whole
	       	super block, in separate memory while replaying.
2002-12-11
	*reiserfsck
		While openning the journal check that journal parameters in 
		super block and in jheader mathches; Advice to run rebuild-sb
		if not. While rebuilding super block, do the same check and ask
		the user if he wants to rebuild the jheader or continue without 
		the journal or he wants to change the start of the partition 
		before using reiserfsck.
2002-12-04
	*reiserfsprogs
		3.6.5-pre1 is released.
2002-12-02
	*reiserfsck
		a few bugs were fixed:
		- bug in balancing code led to abort when a leaf could be viewed 
		as a super block;
		- bug in checking statdata size for symlinks - there cannot be a 
		hole at the end of symlink.
2002-11-28
	*reiserfsck
		pass0 does not need a true objectid map, just those objectids
		which are not used. This sppedups pass0 a lot as many memoves
		are eliminated.
	*reiserfsck
		bug with item format for symlinks was fixed.
2002-10-02
	*reiserfsprogs
		3.6.4 is released.
2002-09-24
	*reiserfsck
		bitmap handling was improved: fix-fixable fixes not only those 
		blocks of bitmap which are wrongly marked as unused, but those
		which are wrongly marked as used also.
2002-09-10
	* reiserfsck
		fix-fixable fixes item header formats, check complains about 
		wrong ones.
	* reiserfsck
		check/fix-fixable does not complain about/fix file sizes if
		safe link exists.
2002-08-30
	* reiserfsck 
		user recieves a warning if dma mode/speed is descreased - it 
		could happen due to hardware problems.		
2002-08-20
	* reiserfsprogs
		Warning/error messages were changed to more user friendly form.
2002-08-15
	* reiserfsck
		Correction of nlinks on fix-fixable was disabled, because
		fix-fixable zeroes nlinks on the first pass and wants to
		increment them on semantic pass. But semantic pass is skipped
		if there are fatal corruptions.		
2002-08-11
	* reiserfsck
		exit codes were fixed
2002-08-08
        * reiserfsck
		a critical bug in journal replaying was fixed.
	* reiserfsprogs
		called 3.6.3.
2002-06-06
	* reiserfsck
		speedup for pass2: avoid checking whether a file body should
		be rewritten every time we have another item to insert into it.
2002-05-30
	* reiserfsck
		speedup for pass2: avoid checking whether a file should be
		relocated on every insertion of a new item into it. Check it
		only for the first time. 
2002-06-27
	* reiserfsprogs
		called 3.6.2
2002-05-20
	* reiserfsck
		speedup for pass2: do not check whether a file should be relocated 
		if the file body was previously deleted from the tree and is
		inserted again.

2002-05-15
	* reiserfsck
		speedup for pass2: insertion by many pointers at once was
		added
2002-05-10
	* reiserfsck
		fix-fixable is able to fix wrong nlinks.
		check makes some check about nlinks also.
2002-04-30
	* reiserfsck 
		delete direntries of old format in new format directories
2002-03-29
	* reiserfsprogs
		bad blocks support added.
2002-03-15
	* reiserfsprogs
		different blocksize support added.
2002-02-18
	* debugreiserfs 
		new option -J, prints a journal header.
2002-02-10
	* reiserfsprogs
		a few speedups were added. 
2002-02-05
	* reiserfsprogs
		optimization of the work with disk buffers.
2002-01-28
	* mkreiserfs
		zeroing the first block on the device if not SPARC
2002-01-26
	* reiserfsck
		a few speedups were added.
2002-01-20
	* debugreiserfs
		investigation of unused space added (-D -U options, hidden)
2002-01-16
	* reiserfsprogs
		support for UUID and LABEL was added
2002-01-15
	* reiserfstune
		creates a standard journal from a non-standard
2001-12-25
	* reiserfsck 
		Handles safe links.
2001-12-03
	* reiserfsck
		Filenames output during tree scan is now nicely scrolled
		left and right, when entire line does not fit the screen.
2001-11-20
	* reiserfsck
		Can rebuild superblock properly.
2001-11-03
	* reiserfsck
		Can now backup all data which get changed during fscking
		and can rollback all changes.
2001-10-30
	* reiserfsprogs
		mkreiserfs/reiserfsck/reiserfstune/debugreiserfs work with
		relocated journal
2001-09-30
	* debugreiserfs
		super block editor (-C -B 16)
2001-08-23
	* reiserfsck
		--fix-fixable becomes a mode, can fix everything what does
		not need to rebuild a tree.
		--fix-non-critical option moved to --ajust-file-size option,
		work in --fix-fixable and --rebuild-tree modes.
2001-07-19
	* mkreiserfs
		can now create non-standard journal: journal size,
		offset, device may now vary
	* reiserfstune
		initial release. Allows to change journal parameters for
		existing filesystems
	* reisrefsck
		it now sets "consistency checked" flag after
		--rebuild-tree and --check which did not find anything
		broken
	* man pages
		updated
	
2001-06-25
	* mkreiserfs
		long options (--journal-device, --journal-size)
	* library
		reiserfs_create, reiserfs_create_journal
		
2001-06-20
	* global changes
		Jeff's patch (safe endianness) is merged (with changes)
		mlock is used to estimate amount of memory available
	
2001-06-14
	* reiserfsck
		update journal header when transaction is replayed
	
2001-06-13
	* reiserfsck
		lost+found's mode is set to drwx------ after lost+found pass
	
2001-06-08
	* library
		functions to deal with journal

2001-06-05
	* global change
		Unified access via get_/set_ macroses is added for fields
		of struct key, struct item_head, struct
		reiserfs_journal_desc/commit, struct block_head, struct disk_child
	
2001-05-22
	* global change
		Access to super block's fields are unified vid get_sb_xxx
		and set_sb_xxx macroses
	
2001-05-05
	* called 3.x.0k-pre4
	* reiserfsck
		entries in lost+found are removed on pass 0
	
2001-05-03
	* mkreiserfs
		first 64k get zeroed now. This kills JFS if it was there
	* reiserfsprogs.spec (Anthon van der Neut)
		prereleases can be built by rpm now
		link from /sbin/mkreiserfs to /sbin/mkfs.reiserfs
		guess about reiserfs kernel support is added
	
2001-04-16
	* reiserfsck
		in --check mode it exits with 0 if there were no
		corruptions found, 1 if there were only corruptions
		fixable by --fix-fixable or 2 if --rebuild-tree is
		required
		man page updated, simple example of using reiserfsck is
		added

2001-04-15
	* mkreiserfs
		bug in confirmation dialogs fixed
	
2001-04-13-Friday
	* reiserfsck
		--hash option makes reiserfsck to skip blocks having
		directory entries created with other hash. It is useful
		together with --scan-whole-partition
		--background option allows to fork fsck end exit (useful
		for running remotely)

2001-03-31
	* reiserfsck
		empty lost directories do not get linked into /lost+found
2001-03-28
	* reiserfsck
		--nolog option is added
	
2001-03-26
	* called 3.x.0j
	* reiserfsck
		with -o it tries to fix "objectid sharing" problem
	* reiserfsprogs.spec (Anthon van der Neut)
		rpm can be built as non-root
		link from reiserfsck to fsck.reiserfs
		rpm -e reiserfsprogs should now work without rmdir of /
2001-03-13
	* reiserfsck
		--quiet option is added
		--fix-bogus-files option is added to fix transprently
		corrupted modes and to fix sizes which are longer that
		real file size
		directory item verifying changed
		-u has been replaced with -b to pass reiserfsck the list
		of block to build tree off
		-c is added to have pass 0 to save bitmap fo leaves found

2001-03-10
	* called 3.x.0h
	* configure.in
		RPM_OPT_FLASG is added to CFLAGS (Anthon van der Neut)
	* reiserfsck
		-u option is added. It should save time when repeating
		--rebuild-tree
		hash hits statistic is added on pass 0
	
2001-03-07
	* reiserfsck
		-V option to print version and exit added
		--fix-fixable changed: directory's sd_size and st_blocks
		corrections, removing of entries pointing to nowhere
	
	* resize_reiserfs
		man page is added

2001-03-05
	* resize_reiserfs
		Marcel Waldvogel <mwa@arlq.wustl.edu>'s user interface and
		error messages improvements

2001-03-01
	* mkreiserfs
		-q option is added (Larry Auton <lda@winux.com>)
	* reiserfsck
		--fix-fixable changed: bitmap correction commented
		out. Correction of broken slots of indirect items and
		corrections of dir entry state added
	
2001-02-23
	* called 3.x.0e
	* reiserfsck
		not tested on 2.2
		is now able to work with regular file (2.4.x is needed for that)
		lost+found fixed: it now first links directories then
		files. Still not good as it can not pull out deep directory

2001-02-19
	* called 3.x.0c
	* reiserfsck
		--fix-fixable option is added. So far it only repairs bitmaps
		and free block count when they mismatch
	* library
		reiserfs_find/add_entry added
	
2001-02-05
	* mkreiserfs
		can make filesystem with 1 data block
		3.6 format is now default

2001-01-20
	* portability
		Zam ran the reiserfsprogs on alpha
	* resizer
		Zam managed to resize few partitions.
	* reiserfsck
		pass0 deletes items which are out of order, tries to fix
		items with zeroed k_objectid or k_dir_id and to throw
		items which are transparently out of order and tries to
		fix "." and ".." of directory items. Pass0 corrects also
		corruptions in directory items
	* man pages:
		get included into dist when doing 'make dist'
	* mkreisrefs
		explains what is mininal size of reiserfs partition which
		can be created		
	
2001-01-12
	* reiserfsck:
		--interactive option is added
	* debugreiserfs:
		few bugs fixed
  	
2001-01-07
	* reiserfs library:
		started with reiserfs_open, reiserfs_close, bitmap tools
	* reiserfsck:
		filesystem mounted read-only can be checked
		number of options decreased
		journal replay fixed
		pass 0 added.
		fsck can be stopped after the tree is built. (should safe time when debugging)
		a lot of work still left
	* debugreiserfs:
		metadata packing changed
		added a feature to intentionally corrupt filesystem (should be useful for fsck debugging)
	* resizer:
		not updated yet
	
	* man pages:
		updated for all three progs

