Update for e2fsprogs 1.42.1 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
diff --git a/README b/README
index 5546ad0..50621ff 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-	This is the new version (1.42) of the second extended file
+	This is the new version (1.42.1) of the second extended file
 system management programs.
 
 	From time to time, I release new versions of e2fsprogs, to fix
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index c028ac4..a784bc3 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,3 +1,103 @@
+E2fsprogs 1.42.1 (February 17, 2012)
+===================================
+
+The mke2fs and e2fsck now use significantly less memory when creating
+or checking very large file systems.  This was enabled by adding
+extent-based bitmaps which are stored using a red-block tree, since
+block and inode allocations tend to be contiguous.
+
+The command mke2fs -S is used as a last ditch recovery command to
+write new superblock and block group descriptors, but _not_ to destroy
+the inode table in hopes of recovering from a badly corrupted file
+system.  So if the uninit_bg feature is enabled, mke2fs -S will now
+set the unused inodes count field to zero.  Otherwise, e2fsck -fy
+after using mke2fs -S would leave the file system completely empty.
+
+Since mke2fs recognizes mke3fs in argv[0] to mean "mkfs.ext3", also
+honor "mke4fs" to work the same as "mke2fs.ext4", since RHEL5 has
+installed an mke2fs binary using that name.
+
+The usage and help messages for the -G, -t and -T options in mke2fs
+have been fixed.
+
+If e2fsck needs to use the backup group descriptors, the
+ext2fs_open2() function clears the UNINIT bits to ensure all of the
+inodes in the file systems get scanned.  However, the code which reset
+the UNINIT flags did not also recalculate the checksum, which produced
+many spurious (and scary) e2fsck messages.  This has been fixed by
+resetting cheksums when the UNINIT bits are cleared.
+
+Relax a check in e2fsck which required that the block bitmap to be
+initialized when the inode bitmap is in use.  This will allow us to
+eventually eliminate code from the kernel which forcibly initialized
+the block bitmap when the inode bitmap is first used, requiring an
+extra journal credit and disk write.  (Addresses Google Bug: #5944440)
+    
+Make sure rdebugfs (which may be installed setuid or setgid disk) does
+not honor environment variables if euid != uid or egid != gid.
+
+Debugfs's ncheck command has been optimized and now is much more
+robust with faced with corrupted file systems.  The ncheck command
+also now has a -c option which will verify the file type information
+in the directory entry to see if matches the inode's mode bits.  This
+is extremely useful when trying to use debugsfs to determine which
+parts of the file system metadata can be trusted.
+
+E2image will try to use ftruncate64() to set the i_size for raw
+images, instead of writing a single null byte.  This avoid allocating
+an extra block to the raw image, for those file systems and/or
+operating systems that support this.  (Linux does.)  In addition, fix
+a logic bug that caused the file to not be properly extended if the
+size of the last hole was exactly an multiple of a megabyte.
+
+Fixed a bug in resize2fs where for 1k and 2k file systems, where
+s_first_data_block is non-zero, this wasn't taken into account when
+calculate the minimum file system size for use with the -M option.
+
+Fixed the badblocks program to honor the -s flag when in read-only -t
+mode.  (Addresses Debian Bug #646629)
+
+Update Czech, Dutch, French, Polish, and Sweedish translation from the
+Translation Project.
+
+Fixed various Debian Packaging issues so that dpkg-buildflags is used
+if present, which allows e2fsprogs to be built with security hardening
+flags.  (Addresses Debian Bugs: #654457)
+
+Programmer's Notes
+------------------
+
+Fix a bug in ext2fs_clear_generic_bmap() when used for 32-bit bitmaps.
+This was only an issue for programs compiled against e2fsprogs 1.41
+that manipulate bitmaps directly.  (Addresses Sourceforge Bugs:
+#3451486)
+
+The libext2fs library now uses sysconf() to fetch the page size, instead
+of the deprecated getpagesize().
+
+The ext2fs_get_pathname() function will return a partial path if an a
+directory in the path is not a directory, displaying it as an inode
+number in angle brackets instead of giving up and displaying an error.
+This is much more helpful when a user is trying to debug a corrupted
+file system.
+
+Codepoints for the RO_COMPAT_REPLICA feature has been reserved.
+
+Added a new library function, ext2fs_file_get_inode_num(), for use by
+fuse2fs.
+
+Fixed a bug in ext2fs_file_set_size2() so that when it is truncating a
+file, it actually works.
+
+The block iterator now properly honors the BLOCK_ABORT flag for
+extent-based flags.  Previously, it didn't, which generally made code
+be less efficient, but it could cause bugs in ext2fs_link(), for
+example, by causing it to insert multiple directory entries.
+
+Fixed an (harmless other than causing a compiler warning) use of an
+uninitialized variable in e2fsck's MMP code.
+
+
 E2fsprogs 1.42 (November 29, 2011)
 ==================================
 
@@ -220,8 +320,8 @@
 Updated/clarified man pages.  (Addresses Debian Bugs: #639411,
 #642193, #634883)
 
-Programming notes
------------------
+Programmer's Notes
+------------------
 
 Initial support for quota as an integrated feature, where the quota
 files are hidden system files that are automatically maintained by
diff --git a/debian/changelog b/debian/changelog
index 236038d..83dee0c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,28 @@
+e2fsprogs (1.42.1-1) unstable; urgency=low
+
+  * New upstream release
+  * dpkg-buildflags is now used if it is present.  This allows Debian
+    Wheezy to build with security hardened build flags.  (Closes: #654457)
+  * mke2fs and e2fsck now use much less memory for large file systems
+  * Fixed mke2fs -S so it can be usefully used as a last ditch recovery
+    command when for ext4 filesystems that have the uninit_bg feature enabled.
+  * The mke4fs argv[0] is now recognized by mke2fs.
+  * Fixed usage and help messages for mke2fs.
+  * Eliminated spurious bad block group checksum warnings when e2fsck
+    falls back to using the backup group descriptors.
+  * Debugfs's ncheck command is now much more useful when used to
+    diagnose badly corrupted file system.  Added a new -c option.
+  * Fixed bug in e2image which could cause it to fail to set i_size
+    correctly if the last hole in the file is an exact multiple of a
+    megabyte.
+  * Fixed a bug with resize2fs where for 1k and 2k file systems, the
+    minimum file size used for resize2fs -M could be a block too small.
+  * Fixed the badblocks program to honor the -s flag when in read-only -t
+    mode.  (Closes: #646629)
+  * Update Czech, Dutch, French, Polish, and Swedish translations
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Fri, 17 Feb 2012 15:07:13 -0500
+
 e2fsprogs (1.42-1) unstable; urgency=low
 
   * New upstream release
diff --git a/debian/e2fslibs.symbols b/debian/e2fslibs.symbols
index 040b571..8c5c2f5 100644
--- a/debian/e2fslibs.symbols
+++ b/debian/e2fslibs.symbols
@@ -25,7 +25,7 @@
  iterate_on_dir@Base 1.37
  list_super2@Base 1.37
  list_super@Base 1.37
- parse_num_blocks2@Base 1.41.99
+ parse_num_blocks2@Base 1.42
  parse_num_blocks@Base 1.37
  print_flags@Base 1.37
  print_fs_errors@Base 1.37
@@ -41,20 +41,20 @@
  badblocks_list_iterate_end@Base 1.37
  badblocks_list_test@Base 1.37
  et_ext2_error_table@Base 1.37
- ext2fs_add_dir_block2@Base 1.41.99
+ ext2fs_add_dir_block2@Base 1.42
  ext2fs_add_dir_block@Base 1.37
  ext2fs_add_journal_device@Base 1.37
  ext2fs_add_journal_inode@Base 1.37
- ext2fs_adjust_ea_refcount2@Base 1.41.99
+ ext2fs_adjust_ea_refcount2@Base 1.42
  ext2fs_adjust_ea_refcount@Base 1.37
- ext2fs_alloc_block2@Base 1.41.99
+ ext2fs_alloc_block2@Base 1.42
  ext2fs_alloc_block@Base 1.37
- ext2fs_alloc_generic_bmap@Base 1.41.99
+ ext2fs_alloc_generic_bmap@Base 1.42
  ext2fs_allocate_block_bitmap@Base 1.37
  ext2fs_allocate_generic_bitmap@Base 1.37
  ext2fs_allocate_group_table@Base 1.37
  ext2fs_allocate_inode_bitmap@Base 1.37
- ext2fs_allocate_subcluster_bitmap@Base 1.41.99
+ ext2fs_allocate_subcluster_bitmap@Base 1.42
  ext2fs_allocate_tables@Base 1.37
  ext2fs_badblocks_copy@Base 1.37
  ext2fs_badblocks_equal@Base 1.37
@@ -66,82 +66,83 @@
  ext2fs_badblocks_list_iterate_begin@Base 1.37
  ext2fs_badblocks_list_iterate_end@Base 1.37
  ext2fs_badblocks_list_test@Base 1.37
- ext2fs_bg_checksum@Base 1.41.99
- ext2fs_bg_checksum_set@Base 1.41.99
- ext2fs_bg_flags@Base 1.41.99
- ext2fs_bg_flags_clear@Base 1.41.99
- ext2fs_bg_flags_set@Base 1.41.99
- ext2fs_bg_flags_test@Base 1.41.99
- ext2fs_bg_flags_zap@Base 1.41.99
- ext2fs_bg_free_blocks_count@Base 1.41.99
- ext2fs_bg_free_blocks_count_set@Base 1.41.99
- ext2fs_bg_free_inodes_count@Base 1.41.99
- ext2fs_bg_free_inodes_count_set@Base 1.41.99
+ ext2fs_bg_checksum@Base 1.42
+ ext2fs_bg_checksum_set@Base 1.42
+ ext2fs_bg_flags@Base 1.42
+ ext2fs_bg_flags_clear@Base 1.42
+ ext2fs_bg_flags_set@Base 1.42
+ ext2fs_bg_flags_test@Base 1.42
+ ext2fs_bg_flags_zap@Base 1.42
+ ext2fs_bg_free_blocks_count@Base 1.42
+ ext2fs_bg_free_blocks_count_set@Base 1.42
+ ext2fs_bg_free_inodes_count@Base 1.42
+ ext2fs_bg_free_inodes_count_set@Base 1.42
  ext2fs_bg_has_super@Base 1.37
- ext2fs_bg_itable_unused@Base 1.41.99
- ext2fs_bg_itable_unused_set@Base 1.41.99
- ext2fs_bg_used_dirs_count@Base 1.41.99
- ext2fs_bg_used_dirs_count_set@Base 1.41.99
- ext2fs_blkmap64_bitarray@Base 1.41.99
- ext2fs_block_alloc_stats2@Base 1.41.99
+ ext2fs_bg_itable_unused@Base 1.42
+ ext2fs_bg_itable_unused_set@Base 1.42
+ ext2fs_bg_used_dirs_count@Base 1.42
+ ext2fs_bg_used_dirs_count_set@Base 1.42
+ ext2fs_blkmap64_bitarray@Base 1.42
+ ext2fs_blkmap64_rbtree@Base 1.42.1
+ ext2fs_block_alloc_stats2@Base 1.42
  ext2fs_block_alloc_stats@Base 1.37
- ext2fs_block_bitmap_loc@Base 1.41.99
- ext2fs_block_bitmap_loc_set@Base 1.41.99
+ ext2fs_block_bitmap_loc@Base 1.42
+ ext2fs_block_bitmap_loc_set@Base 1.42
  ext2fs_block_iterate2@Base 1.37
- ext2fs_block_iterate3@Base 1.41.99
+ ext2fs_block_iterate3@Base 1.42
  ext2fs_block_iterate@Base 1.37
- ext2fs_blocks_count@Base 1.41.99
- ext2fs_blocks_count_add@Base 1.41.99
- ext2fs_blocks_count_set@Base 1.41.99
+ ext2fs_blocks_count@Base 1.42
+ ext2fs_blocks_count_add@Base 1.42
+ ext2fs_blocks_count_set@Base 1.42
  ext2fs_bmap2@Base 1.41.0
  ext2fs_bmap@Base 1.37
  ext2fs_check_desc@Base 1.37
  ext2fs_check_directory@Base 1.37
  ext2fs_check_if_mounted@Base 1.37
  ext2fs_check_mount_point@Base 1.37
- ext2fs_clear_bit64@Base 1.41.99
+ ext2fs_clear_bit64@Base 1.42
  ext2fs_clear_bit@Base 1.37
  ext2fs_clear_block_bitmap@Base 1.37
  ext2fs_clear_generic_bitmap@Base 1.41.0
- ext2fs_clear_generic_bmap@Base 1.41.99
+ ext2fs_clear_generic_bmap@Base 1.42
  ext2fs_clear_inode_bitmap@Base 1.37
- ext2fs_close2@Base 1.41.99
+ ext2fs_close2@Base 1.42
  ext2fs_close@Base 1.37
  ext2fs_close_inode_scan@Base 1.37
  ext2fs_compare_block_bitmap@Base 1.37
  ext2fs_compare_generic_bitmap@Base 1.41.0
- ext2fs_compare_generic_bmap@Base 1.41.99
+ ext2fs_compare_generic_bmap@Base 1.42
  ext2fs_compare_inode_bitmap@Base 1.37
- ext2fs_convert_subcluster_bitmap@Base 1.41.99
+ ext2fs_convert_subcluster_bitmap@Base 1.42
  ext2fs_copy_bitmap@Base 1.37
  ext2fs_copy_dblist@Base 1.37
  ext2fs_copy_generic_bitmap@Base 1.41.0
- ext2fs_copy_generic_bmap@Base 1.41.99
+ ext2fs_copy_generic_bmap@Base 1.42
  ext2fs_crc16@Base 1.41.1
- ext2fs_crc32c_be@Base 1.41.99
- ext2fs_crc32c_le@Base 1.41.99
+ ext2fs_crc32c_be@Base 1.42
+ ext2fs_crc32c_le@Base 1.42
  ext2fs_create_icount2@Base 1.37
  ext2fs_create_icount@Base 1.37
  ext2fs_create_icount_tdb@Base 1.40
  ext2fs_create_journal_superblock@Base 1.37
  ext2fs_create_resize_inode@Base 1.37
- ext2fs_dblist_count2@Base 1.41.99
+ ext2fs_dblist_count2@Base 1.42
  ext2fs_dblist_count@Base 1.37
  ext2fs_dblist_dir_iterate@Base 1.37
  ext2fs_dblist_drop_last@Base 1.40.8
- ext2fs_dblist_get_last2@Base 1.41.99
+ ext2fs_dblist_get_last2@Base 1.42
  ext2fs_dblist_get_last@Base 1.40.8
- ext2fs_dblist_iterate2@Base 1.41.99
+ ext2fs_dblist_iterate2@Base 1.42
  ext2fs_dblist_iterate@Base 1.37
- ext2fs_dblist_sort2@Base 1.41.99
+ ext2fs_dblist_sort2@Base 1.42
  ext2fs_dblist_sort@Base 1.37
  ext2fs_default_journal_size@Base 1.40
- ext2fs_descriptor_block_loc2@Base 1.41.99
+ ext2fs_descriptor_block_loc2@Base 1.42
  ext2fs_descriptor_block_loc@Base 1.37
  ext2fs_dir_iterate2@Base 1.37
  ext2fs_dir_iterate@Base 1.37
  ext2fs_dirhash@Base 1.37
- ext2fs_div64_ceil@Base 1.41.99
+ ext2fs_div64_ceil@Base 1.42
  ext2fs_div_ceil@Base 1.40
  ext2fs_dup_handle@Base 1.37
  ext2fs_expand_dir@Base 1.37
@@ -157,34 +158,35 @@
  ext2fs_extent_open@Base 1.41.0
  ext2fs_extent_replace@Base 1.41.0
  ext2fs_extent_set_bmap@Base 1.41.0
- ext2fs_fast_clear_bit64@Base 1.41.99
+ ext2fs_fast_clear_bit64@Base 1.42
  ext2fs_fast_clear_bit@Base 1.39
- ext2fs_fast_mark_block_bitmap2@Base 1.41.99
+ ext2fs_fast_mark_block_bitmap2@Base 1.42
  ext2fs_fast_mark_block_bitmap@Base 1.37
- ext2fs_fast_mark_block_bitmap_range2@Base 1.41.99
+ ext2fs_fast_mark_block_bitmap_range2@Base 1.42
  ext2fs_fast_mark_block_bitmap_range@Base 1.37
- ext2fs_fast_mark_inode_bitmap2@Base 1.41.99
+ ext2fs_fast_mark_inode_bitmap2@Base 1.42
  ext2fs_fast_mark_inode_bitmap@Base 1.37
- ext2fs_fast_set_bit64@Base 1.41.99
+ ext2fs_fast_set_bit64@Base 1.42
  ext2fs_fast_set_bit@Base 1.39
- ext2fs_fast_test_block_bitmap2@Base 1.41.99
+ ext2fs_fast_test_block_bitmap2@Base 1.42
  ext2fs_fast_test_block_bitmap@Base 1.37
- ext2fs_fast_test_block_bitmap_range2@Base 1.41.99
+ ext2fs_fast_test_block_bitmap_range2@Base 1.42
  ext2fs_fast_test_block_bitmap_range@Base 1.37
- ext2fs_fast_test_inode_bitmap2@Base 1.41.99
+ ext2fs_fast_test_inode_bitmap2@Base 1.42
  ext2fs_fast_test_inode_bitmap@Base 1.37
- ext2fs_fast_unmark_block_bitmap2@Base 1.41.99
+ ext2fs_fast_unmark_block_bitmap2@Base 1.42
  ext2fs_fast_unmark_block_bitmap@Base 1.37
- ext2fs_fast_unmark_block_bitmap_range2@Base 1.41.99
+ ext2fs_fast_unmark_block_bitmap_range2@Base 1.42
  ext2fs_fast_unmark_block_bitmap_range@Base 1.37
- ext2fs_fast_unmark_inode_bitmap2@Base 1.41.99
+ ext2fs_fast_unmark_inode_bitmap2@Base 1.42
  ext2fs_fast_unmark_inode_bitmap@Base 1.37
- ext2fs_file_acl_block@Base 1.41.99
- ext2fs_file_acl_block_set@Base 1.41.99
+ ext2fs_file_acl_block@Base 1.42
+ ext2fs_file_acl_block_set@Base 1.42
  ext2fs_file_close@Base 1.37
  ext2fs_file_flush@Base 1.37
  ext2fs_file_get_fs@Base 1.37
- ext2fs_file_get_inode@Base 1.41.99
+ ext2fs_file_get_inode@Base 1.42
+ ext2fs_file_get_inode_num@Base 1.42.1
  ext2fs_file_get_lsize@Base 1.37
  ext2fs_file_get_size@Base 1.37
  ext2fs_file_llseek@Base 1.37
@@ -192,39 +194,39 @@
  ext2fs_file_open2@Base 1.37
  ext2fs_file_open@Base 1.37
  ext2fs_file_read@Base 1.37
- ext2fs_file_set_size2@Base 1.41.99
+ ext2fs_file_set_size2@Base 1.42
  ext2fs_file_set_size@Base 1.37
  ext2fs_file_write@Base 1.37
  ext2fs_find_block_device@Base 1.37
- ext2fs_flush2@Base 1.41.99
+ ext2fs_flush2@Base 1.42
  ext2fs_flush@Base 1.37
  ext2fs_flush_icache@Base 1.37
  ext2fs_follow_link@Base 1.37
  ext2fs_free@Base 1.37
  ext2fs_free_block_bitmap@Base 1.37
- ext2fs_free_blocks_count@Base 1.41.99
- ext2fs_free_blocks_count_add@Base 1.41.99
- ext2fs_free_blocks_count_set@Base 1.41.99
+ ext2fs_free_blocks_count@Base 1.42
+ ext2fs_free_blocks_count_add@Base 1.42
+ ext2fs_free_blocks_count_set@Base 1.42
  ext2fs_free_dblist@Base 1.37
  ext2fs_free_generic_bitmap@Base 1.37
- ext2fs_free_generic_bmap@Base 1.41.99
+ ext2fs_free_generic_bmap@Base 1.42
  ext2fs_free_icount@Base 1.37
  ext2fs_free_inode_bitmap@Base 1.37
  ext2fs_free_mem@Base 1.37
- ext2fs_fstat@Base 1.41.99
- ext2fs_fudge_block_bitmap_end2@Base 1.41.99
+ ext2fs_fstat@Base 1.42
+ ext2fs_fudge_block_bitmap_end2@Base 1.42
  ext2fs_fudge_block_bitmap_end@Base 1.37
  ext2fs_fudge_generic_bitmap_end@Base 1.41.0
- ext2fs_fudge_generic_bmap_end@Base 1.41.99
+ ext2fs_fudge_generic_bmap_end@Base 1.42
  ext2fs_fudge_inode_bitmap_end@Base 1.37
  ext2fs_get_array@Base 1.40.3
- ext2fs_get_arrayzero@Base 1.41.99
- ext2fs_get_bitmap_granularity@Base 1.41.99
- ext2fs_get_block_bitmap_end2@Base 1.41.99
+ ext2fs_get_arrayzero@Base 1.42
+ ext2fs_get_bitmap_granularity@Base 1.42
+ ext2fs_get_block_bitmap_end2@Base 1.42
  ext2fs_get_block_bitmap_end@Base 1.37
- ext2fs_get_block_bitmap_range2@Base 1.41.99
+ ext2fs_get_block_bitmap_range2@Base 1.42
  ext2fs_get_block_bitmap_range@Base 1.41.0
- ext2fs_get_block_bitmap_start2@Base 1.41.99
+ ext2fs_get_block_bitmap_start2@Base 1.42
  ext2fs_get_block_bitmap_start@Base 1.37
  ext2fs_get_blocks@Base 1.37
  ext2fs_get_data_io@Base 1.37
@@ -232,39 +234,39 @@
  ext2fs_get_device_sectsize@Base 1.37
  ext2fs_get_device_size2@Base 1.41.4
  ext2fs_get_device_size@Base 1.37
- ext2fs_get_free_blocks2@Base 1.41.99
+ ext2fs_get_free_blocks2@Base 1.42
  ext2fs_get_free_blocks@Base 1.37
  ext2fs_get_generic_bitmap_end@Base 1.41.0
  ext2fs_get_generic_bitmap_range@Base 1.41.0
  ext2fs_get_generic_bitmap_start@Base 1.41.0
- ext2fs_get_generic_bmap_end@Base 1.41.99
- ext2fs_get_generic_bmap_range@Base 1.41.99
- ext2fs_get_generic_bmap_start@Base 1.41.99
+ ext2fs_get_generic_bmap_end@Base 1.42
+ ext2fs_get_generic_bmap_range@Base 1.42
+ ext2fs_get_generic_bmap_start@Base 1.42
  ext2fs_get_icount_size@Base 1.37
- ext2fs_get_inode_bitmap_end2@Base 1.41.99
+ ext2fs_get_inode_bitmap_end2@Base 1.42
  ext2fs_get_inode_bitmap_end@Base 1.37
- ext2fs_get_inode_bitmap_range2@Base 1.41.99
+ ext2fs_get_inode_bitmap_range2@Base 1.42
  ext2fs_get_inode_bitmap_range@Base 1.41.0
- ext2fs_get_inode_bitmap_start2@Base 1.41.99
+ ext2fs_get_inode_bitmap_start2@Base 1.42
  ext2fs_get_inode_bitmap_start@Base 1.37
  ext2fs_get_library_version@Base 1.37
  ext2fs_get_mem@Base 1.37
  ext2fs_get_memalign@Base 1.41.13
- ext2fs_get_memzero@Base 1.41.99
+ ext2fs_get_memzero@Base 1.42
  ext2fs_get_next_inode@Base 1.37
  ext2fs_get_next_inode_full@Base 1.37
  ext2fs_get_num_dirs@Base 1.37
  ext2fs_get_pathname@Base 1.37
  ext2fs_get_rec_len@Base 1.41.7
- ext2fs_group_blocks_count@Base 1.41.99
- ext2fs_group_desc@Base 1.41.99
+ ext2fs_group_blocks_count@Base 1.42
+ ext2fs_group_desc@Base 1.42
  ext2fs_group_desc_csum_set@Base 1.41.0
  ext2fs_group_desc_csum_verify@Base 1.41.0
- ext2fs_group_first_block2@Base 1.41.99
+ ext2fs_group_first_block2@Base 1.42
  ext2fs_group_first_block@Base 1.40
- ext2fs_group_last_block2@Base 1.41.99
+ ext2fs_group_last_block2@Base 1.42
  ext2fs_group_last_block@Base 1.40
- ext2fs_group_of_blk2@Base 1.41.99
+ ext2fs_group_of_blk2@Base 1.42
  ext2fs_group_of_blk@Base 1.37
  ext2fs_group_of_ino@Base 1.37
  ext2fs_iblk_add_blocks@Base 1.41.0
@@ -285,110 +287,121 @@
  ext2fs_initialize@Base 1.37
  ext2fs_inode_alloc_stats2@Base 1.37
  ext2fs_inode_alloc_stats@Base 1.37
- ext2fs_inode_bitmap_loc@Base 1.41.99
- ext2fs_inode_bitmap_loc_set@Base 1.41.99
- ext2fs_inode_data_blocks2@Base 1.41.99
+ ext2fs_inode_bitmap_loc@Base 1.42
+ ext2fs_inode_bitmap_loc_set@Base 1.42
+ ext2fs_inode_data_blocks2@Base 1.42
  ext2fs_inode_data_blocks@Base 1.37
  ext2fs_inode_has_valid_blocks@Base 1.37
- ext2fs_inode_has_valid_blocks2@Base 1.41.99
- ext2fs_inode_i_blocks@Base 1.41.99
+ ext2fs_inode_has_valid_blocks2@Base 1.42
+ ext2fs_inode_i_blocks@Base 1.42
  ext2fs_inode_io_intern2@Base 1.37
  ext2fs_inode_io_intern@Base 1.37
  ext2fs_inode_scan_flags@Base 1.37
  ext2fs_inode_scan_goto_blockgroup@Base 1.37
- ext2fs_inode_table_loc@Base 1.41.99
- ext2fs_inode_table_loc_set@Base 1.41.99
+ ext2fs_inode_table_loc@Base 1.42
+ ext2fs_inode_table_loc_set@Base 1.42
  ext2fs_link@Base 1.37
  ext2fs_llseek@Base 1.37
  ext2fs_lookup@Base 1.37
  ext2fs_make_generic_bitmap@Base 1.41.0
  ext2fs_mark_bb_dirty@Base 1.37
- ext2fs_mark_block_bitmap2@Base 1.41.99
+ ext2fs_mark_block_bitmap2@Base 1.42
  ext2fs_mark_block_bitmap@Base 1.37
- ext2fs_mark_block_bitmap_range2@Base 1.41.99
+ ext2fs_mark_block_bitmap_range2@Base 1.42
  ext2fs_mark_block_bitmap_range@Base 1.37
  ext2fs_mark_changed@Base 1.37
  ext2fs_mark_generic_bitmap@Base 1.37
- ext2fs_mark_generic_bmap@Base 1.41.99
+ ext2fs_mark_generic_bmap@Base 1.42
  ext2fs_mark_ib_dirty@Base 1.37
- ext2fs_mark_inode_bitmap2@Base 1.41.99
+ ext2fs_mark_inode_bitmap2@Base 1.42
  ext2fs_mark_inode_bitmap@Base 1.37
  ext2fs_mark_super_dirty@Base 1.37
  ext2fs_mark_valid@Base 1.37
- ext2fs_mem_is_zero@Base 1.41.99
+ ext2fs_mem_is_zero@Base 1.42
  ext2fs_mkdir@Base 1.37
- ext2fs_mmp_clear@Base 1.41.99
- ext2fs_mmp_init@Base 1.41.99
- ext2fs_mmp_new_seq@Base 1.41.99
- ext2fs_mmp_read@Base 1.41.99
- ext2fs_mmp_start@Base 1.41.99
- ext2fs_mmp_stop@Base 1.41.99
- ext2fs_mmp_update@Base 1.41.99
- ext2fs_mmp_write@Base 1.41.99
+ ext2fs_mmp_clear@Base 1.42
+ ext2fs_mmp_init@Base 1.42
+ ext2fs_mmp_new_seq@Base 1.42
+ ext2fs_mmp_read@Base 1.42
+ ext2fs_mmp_start@Base 1.42
+ ext2fs_mmp_stop@Base 1.42
+ ext2fs_mmp_update@Base 1.42
+ ext2fs_mmp_write@Base 1.42
  ext2fs_namei@Base 1.37
  ext2fs_namei_follow@Base 1.37
  ext2fs_native_flag@Base 1.37
- ext2fs_new_block2@Base 1.41.99
+ ext2fs_new_block2@Base 1.42
  ext2fs_new_block@Base 1.37
  ext2fs_new_dir_block@Base 1.37
  ext2fs_new_inode@Base 1.37
- ext2fs_numeric_progress_close@Base 1.41.99
- ext2fs_numeric_progress_init@Base 1.41.99
- ext2fs_numeric_progress_update@Base 1.41.99
+ ext2fs_numeric_progress_close@Base 1.42
+ ext2fs_numeric_progress_init@Base 1.42
+ ext2fs_numeric_progress_update@Base 1.42
  ext2fs_open2@Base 1.37
  ext2fs_open@Base 1.37
- ext2fs_open_file@Base 1.41.99
+ ext2fs_open_file@Base 1.42
  ext2fs_open_inode_scan@Base 1.37
  ext2fs_parse_version_string@Base 1.37
+ ext2fs_print_bmap_statistics@Base 1.42.1
  ext2fs_process_dir_block@Base 1.37
- ext2fs_punch@Base 1.41.99
- ext2fs_r_blocks_count@Base 1.41.99
- ext2fs_r_blocks_count_add@Base 1.41.99
- ext2fs_r_blocks_count_set@Base 1.41.99
+ ext2fs_punch@Base 1.42
+ ext2fs_r_blocks_count@Base 1.42
+ ext2fs_r_blocks_count_add@Base 1.42
+ ext2fs_r_blocks_count_set@Base 1.42
+ ext2fs_rb_augment_erase_begin@Base 1.42.1
+ ext2fs_rb_augment_erase_end@Base 1.42.1
+ ext2fs_rb_augment_insert@Base 1.42.1
+ ext2fs_rb_erase@Base 1.42.1
+ ext2fs_rb_first@Base 1.42.1
+ ext2fs_rb_insert_color@Base 1.42.1
+ ext2fs_rb_last@Base 1.42.1
+ ext2fs_rb_next@Base 1.42.1
+ ext2fs_rb_prev@Base 1.42.1
+ ext2fs_rb_replace_node@Base 1.42.1
  ext2fs_read_bb_FILE2@Base 1.37
  ext2fs_read_bb_FILE@Base 1.37
  ext2fs_read_bb_inode@Base 1.37
  ext2fs_read_bitmaps@Base 1.37
  ext2fs_read_block_bitmap@Base 1.37
  ext2fs_read_dir_block2@Base 1.37
- ext2fs_read_dir_block3@Base 1.41.99
+ ext2fs_read_dir_block3@Base 1.42
  ext2fs_read_dir_block@Base 1.37
- ext2fs_read_ext_attr2@Base 1.41.99
+ ext2fs_read_ext_attr2@Base 1.42
  ext2fs_read_ext_attr@Base 1.37
  ext2fs_read_ind_block@Base 1.37
  ext2fs_read_inode@Base 1.37
  ext2fs_read_inode_bitmap@Base 1.37
  ext2fs_read_inode_full@Base 1.37
  ext2fs_reserve_super_and_bgd@Base 1.37
- ext2fs_resize_block_bitmap2@Base 1.41.99
+ ext2fs_resize_block_bitmap2@Base 1.42
  ext2fs_resize_block_bitmap@Base 1.37
  ext2fs_resize_generic_bitmap@Base 1.37
- ext2fs_resize_generic_bmap@Base 1.41.99
- ext2fs_resize_inode_bitmap2@Base 1.41.99
+ ext2fs_resize_generic_bmap@Base 1.42
+ ext2fs_resize_inode_bitmap2@Base 1.42
  ext2fs_resize_inode_bitmap@Base 1.37
  ext2fs_resize_mem@Base 1.37
  ext2fs_rewrite_to_io@Base 1.37
  ext2fs_set_alloc_block_callback@Base 1.41.0
- ext2fs_set_bit64@Base 1.41.99
+ ext2fs_set_bit64@Base 1.42
  ext2fs_set_bit@Base 1.37
  ext2fs_set_bitmap_padding@Base 1.37
  ext2fs_set_block_alloc_stats_callback@Base 1.41.0
- ext2fs_set_block_bitmap_range2@Base 1.41.99
+ ext2fs_set_block_bitmap_range2@Base 1.42
  ext2fs_set_block_bitmap_range@Base 1.41.0
  ext2fs_set_data_io@Base 1.37
- ext2fs_set_dir_block2@Base 1.41.99
+ ext2fs_set_dir_block2@Base 1.42
  ext2fs_set_dir_block@Base 1.37
  ext2fs_set_gdt_csum@Base 1.41.0
  ext2fs_set_generic_bitmap_padding@Base 1.41.0
  ext2fs_set_generic_bitmap_range@Base 1.41.0
- ext2fs_set_generic_bmap_padding@Base 1.41.99
- ext2fs_set_generic_bmap_range@Base 1.41.99
- ext2fs_set_inode_bitmap_range2@Base 1.41.99
+ ext2fs_set_generic_bmap_padding@Base 1.42
+ ext2fs_set_generic_bmap_range@Base 1.42
+ ext2fs_set_inode_bitmap_range2@Base 1.42
  ext2fs_set_inode_bitmap_range@Base 1.41.0
  ext2fs_set_inode_callback@Base 1.37
  ext2fs_set_rec_len@Base 1.41.7
- ext2fs_stat@Base 1.41.99
- ext2fs_super_and_bgd_loc2@Base 1.41.99
+ ext2fs_stat@Base 1.42
+ ext2fs_super_and_bgd_loc2@Base 1.42
  ext2fs_super_and_bgd_loc@Base 1.37
  ext2fs_swab16@Base 1.37
  ext2fs_swab32@Base 1.37
@@ -447,17 +460,17 @@
  ext2fs_tdb_unlockall_read@Base 1.40
  ext2fs_tdb_validate_freelist@Base 1.40
  ext2fs_test_bb_dirty@Base 1.37
- ext2fs_test_bit64@Base 1.41.99
+ ext2fs_test_bit64@Base 1.42
  ext2fs_test_bit@Base 1.37
- ext2fs_test_block_bitmap2@Base 1.41.99
+ ext2fs_test_block_bitmap2@Base 1.42
  ext2fs_test_block_bitmap@Base 1.37
- ext2fs_test_block_bitmap_range2@Base 1.41.99
+ ext2fs_test_block_bitmap_range2@Base 1.42
  ext2fs_test_block_bitmap_range@Base 1.37
  ext2fs_test_changed@Base 1.37
  ext2fs_test_generic_bitmap@Base 1.37
- ext2fs_test_generic_bmap@Base 1.41.99
+ ext2fs_test_generic_bmap@Base 1.42
  ext2fs_test_ib_dirty@Base 1.37
- ext2fs_test_inode_bitmap2@Base 1.41.99
+ ext2fs_test_inode_bitmap2@Base 1.42
  ext2fs_test_inode_bitmap@Base 1.37
  ext2fs_test_inode_bitmap_range@Base 1.41.8
  ext2fs_test_valid@Base 1.37
@@ -474,45 +487,45 @@
  ext2fs_u32_list_iterate_end@Base 1.37
  ext2fs_u32_list_test@Base 1.37
  ext2fs_unlink@Base 1.37
- ext2fs_unmark_block_bitmap2@Base 1.41.99
+ ext2fs_unmark_block_bitmap2@Base 1.42
  ext2fs_unmark_block_bitmap@Base 1.37
- ext2fs_unmark_block_bitmap_range2@Base 1.41.99
+ ext2fs_unmark_block_bitmap_range2@Base 1.42
  ext2fs_unmark_block_bitmap_range@Base 1.37
  ext2fs_unmark_generic_bitmap@Base 1.37
- ext2fs_unmark_generic_bmap@Base 1.41.99
- ext2fs_unmark_inode_bitmap2@Base 1.41.99
+ ext2fs_unmark_generic_bmap@Base 1.42
+ ext2fs_unmark_inode_bitmap2@Base 1.42
  ext2fs_unmark_inode_bitmap@Base 1.37
  ext2fs_unmark_valid@Base 1.37
  ext2fs_update_bb_inode@Base 1.37
  ext2fs_update_dynamic_rev@Base 1.37
  ext2fs_warn_bitmap2@Base 1.37
- ext2fs_warn_bitmap32@Base 1.41.99
+ ext2fs_warn_bitmap32@Base 1.42
  ext2fs_warn_bitmap@Base 1.37
  ext2fs_write_bb_FILE@Base 1.37
  ext2fs_write_bitmaps@Base 1.37
  ext2fs_write_block_bitmap@Base 1.37
  ext2fs_write_dir_block2@Base 1.37
- ext2fs_write_dir_block3@Base 1.41.99
+ ext2fs_write_dir_block3@Base 1.42
  ext2fs_write_dir_block@Base 1.37
- ext2fs_write_ext_attr2@Base 1.41.99
+ ext2fs_write_ext_attr2@Base 1.42
  ext2fs_write_ext_attr@Base 1.37
  ext2fs_write_ind_block@Base 1.37
  ext2fs_write_inode@Base 1.37
  ext2fs_write_inode_bitmap@Base 1.37
  ext2fs_write_inode_full@Base 1.37
  ext2fs_write_new_inode@Base 1.37
- ext2fs_zero_blocks2@Base 1.41.99
+ ext2fs_zero_blocks2@Base 1.42
  ext2fs_zero_blocks@Base 1.41.0
  initialize_ext2_error_table@Base 1.37
  initialize_ext2_error_table_r@Base 1.37
  inode_io_manager@Base 1.37
- io_channel_discard@Base 1.41.99
+ io_channel_discard@Base 1.42
  io_channel_read_blk64@Base 1.41.1
  io_channel_set_options@Base 1.37
  io_channel_write_blk64@Base 1.41.1
  io_channel_write_byte@Base 1.37
- qcow2_read_header@Base 1.41.99
- qcow2_write_raw_image@Base 1.41.99
+ qcow2_read_header@Base 1.42
+ qcow2_write_raw_image@Base 1.42
  set_undo_io_backing_manager@Base 1.41.0
  set_undo_io_backup_file@Base 1.41.0
  test_io_backing_manager@Base 1.37
diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo
index 0b0d4bf..d5f059e 100644
--- a/doc/libext2fs.texinfo
+++ b/doc/libext2fs.texinfo
@@ -1,7 +1,7 @@
 \input texinfo    @c -*-texinfo-*-
 @c %**start of header
 @setfilename libext2fs.info
-@settitle The EXT2FS Library (version 1.42)
+@settitle The EXT2FS Library (version 1.42.1)
 @synindex tp fn
 @comment %**end of header
 
@@ -30,7 +30,7 @@
 ext2 filesystem.
 
 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009 by Theodore Ts'o
+2006, 2007, 2008, 2009, 2010, 2011, 2012 by Theodore Ts'o
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -60,8 +60,8 @@
 
 @title The EXT2FS Library
 @subtitle The EXT2FS Library
-@subtitle Version 1.42
-@subtitle November 2011
+@subtitle Version 1.42.1
+@subtitle February 2012
 
 @author by Theodore Ts'o
 
@@ -77,7 +77,7 @@
 @page
 @vskip 0pt plus 1filll
 Copyright @copyright{} 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005 Theodore Ts'o
+2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Theodore Ts'o
 
 @sp 2
 
@@ -102,7 +102,7 @@
 
 @top The EXT2FS Library
 
-This manual documents the EXT2FS Library, version 1.42.
+This manual documents the EXT2FS Library, version 1.42.1.
 
 @end ifinfo
 
diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm
index 43a650f..2f2d930 100644
--- a/e2fsprogs.lsm
+++ b/e2fsprogs.lsm
@@ -1,16 +1,16 @@
 Begin3
 Title:          EXT2 Filesystem utilities
-Version:        1.42
-Entered-date:   29Nov2011
-Description:    The filesystem utilities for the EXT2 filesystem, including 
-		e2fsck, mke2fs, dumpe2fs, fsck, and others.
-Keywords:       utilities, fsck, filesystem, Ext2fs
+Version:        1.42.1
+Entered-date:   17Feb2012
+Description:    The filesystem utilities for the EXT2, EXT3, and EXT4
+		filesystems, including e2fsck, mke2fs, dumpe2fs, and others.
+Keywords:       utilities, filesystem, Ext2fs, ext3, ext4
 Author:         tytso@mit.edu (Theodore Tso)
 Maintained-by:  tytso@mit.edu (Theodore Tso)
 Primary-site:   download.sourceforge.net /pub/sourceforge/e2fsprogs
-		5580kB e2fsprogs-1.42.tar.gz
-		504kB e2fsprogs-libs-1.42.tar.gz
-                1kB   e2fsprogs-1.42.lsm
+		5592kB e2fsprogs-1.42.1.tar.gz
+		504kB e2fsprogs-libs-1.42.1.tar.gz
+                1kB   e2fsprogs-1.42.1.lsm
 Alternate-site: 
 Platforms:	linux 1.2.x/1.3.x/2.0.x/2.1.x/2.2.x/2.3.x/2.4.x/2.5.x/2.6.x
 Copying-policy: GPL-2/LGPL-2