diff --git a/Android.bp b/Android.bp
index 1e6aa1a..46f6334 100644
--- a/Android.bp
+++ b/Android.bp
@@ -62,6 +62,10 @@
                 "libdl",
             ],
         },
+        darwin: {
+            // This matches what the upstream CI uses
+            cflags: ["-Wno-error=deprecated-declarations"],
+        },
         windows: {
             include_dirs: ["external/e2fsprogs/include/mingw"],
         },
diff --git a/README b/README
index 1bc0521..8510c84 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-	This is the new version (1.47.1) of the second extended file
+	This is the new version (1.47.2) of the second extended file
 system management programs.
 
 	From time to time, I release new versions of e2fsprogs, to fix
diff --git a/configure b/configure
index 2b712e5..f9a7aa4 100755
--- a/configure
+++ b/configure
@@ -13018,6 +13018,11 @@
 else
   echo "#undef HAVE_SYS_TYPES_H" >> public_config.h
 fi
+if grep SIZEOF_TIME_T confdefs.h > tmp_config.$$; then
+  uniq tmp_config.$$ >> public_config.h
+else
+  echo "#undef SIZEOF_TIME_T" >> public_config.h
+fi
 if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then
   uniq tmp_config.$$ >> public_config.h
 else
@@ -13745,6 +13750,9 @@
 	try_libarchive=""
 	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling libarchive support" >&5
 printf "%s\n" "Disabling libarchive support" >&6; }
+
+printf "%s\n" "#define CONFIG_DISABLE_LIBARCHIVE 1" >>confdefs.h
+
 elif test "$withval" = "direct"
 then
 	try_libarchive="direct"
@@ -15646,9 +15654,6 @@
 
 
 fi
-if test "$enable_fuzzer" = "yes" && test "$have_fuzzer" != "yes"; then
-	as_fn_error $? "Fuzzing not supported by compiler." "$LINENO" 5
-fi
 
 LINUX_CMT="#"
 CYGWIN_CMT="#"
diff --git a/configure.ac b/configure.ac
index e00e8d0..1f67604 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1156,6 +1156,11 @@
 else
   echo "#undef HAVE_SYS_TYPES_H" >> public_config.h
 fi
+if grep SIZEOF_TIME_T confdefs.h > tmp_config.$$; then
+  uniq tmp_config.$$ >> public_config.h
+else
+  echo "#undef SIZEOF_TIME_T" >> public_config.h
+fi
 if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then
   uniq tmp_config.$$ >> public_config.h
 else
@@ -1307,6 +1312,8 @@
 then
 	try_libarchive=""
 	AC_MSG_RESULT([Disabling libarchive support])
+	AC_DEFINE(CONFIG_DISABLE_LIBARCHIVE, 1,
+		[Define to 1 to completely disable libarchive])
 elif test "$withval" = "direct"
 then
 	try_libarchive="direct"
@@ -1664,9 +1671,6 @@
 	AC_SUBST(fuzzer_cflags)
 	AC_SUBST(fuzzer_ldflags)
 fi
-if test "$enable_fuzzer" = "yes" && test "$have_fuzzer" != "yes"; then
-	AC_MSG_ERROR([Fuzzing not supported by compiler.])
-fi
 AC_SUBST(FUZZING_CMT)
 dnl
 dnl OS-specific uncomment control
diff --git a/contrib/android/Android.bp b/contrib/android/Android.bp
index 6c9dd5c..650824c 100644
--- a/contrib/android/Android.bp
+++ b/contrib/android/Android.bp
@@ -16,6 +16,7 @@
     name: "e2fsdroid",
     host_supported: true,
     recovery_available: true,
+    vendor_available: true,
     defaults: ["e2fsprogs-defaults"],
 
     srcs: [
diff --git a/contrib/android/e2fsdroid.c b/contrib/android/e2fsdroid.c
index 6e51414..82bd340 100644
--- a/contrib/android/e2fsdroid.c
+++ b/contrib/android/e2fsdroid.c
@@ -22,6 +22,11 @@
 #define UID_GID_MAP_MAX_EXTENTS 340
 #endif
 
+// disable leak detection, breaks host asan build
+const char *__asan_default_options() {
+    return "detect_leaks=0";
+}
+
 static char *prog_name = "e2fsdroid";
 static char *in_file;
 static char *block_list;
diff --git a/contrib/android/ext2simg.c b/contrib/android/ext2simg.c
index 017e16f..2bf76b9 100644
--- a/contrib/android/ext2simg.c
+++ b/contrib/android/ext2simg.c
@@ -24,16 +24,14 @@
 #include <sparse/sparse.h>
 
 struct {
-	int	crc;
-	int	sparse;
-	int	gzip;
+	bool	crc;
+	bool	sparse;
+	bool	gzip;
 	char	*in_file;
 	char	*out_file;
 	bool	overwrite_input;
 } params = {
-	.crc	    = 0,
-	.sparse	    = 1,
-	.gzip	    = 0,
+	.sparse	    = true,
 };
 
 #define ext2fs_fatal(Retval, Format, ...) \
@@ -60,39 +58,41 @@
 
 static struct buf_item {
 	struct buf_item	    *next;
-	void		    *buf[0];
+	void		    *buf[];
 } *buf_list;
 
-static void add_chunk(ext2_filsys fs, struct sparse_file *s, blk_t chunk_start, blk_t chunk_end)
+/*
+ * Add @num_blks blocks, starting at index @chunk_start, of the filesystem @fs
+ * to the sparse file @s.
+ */
+static void add_chunk(ext2_filsys fs, struct sparse_file *s,
+		      blk_t chunk_start, int num_blks)
 {
+	uint64_t len = (uint64_t)num_blks * fs->blocksize;
+	int64_t offset = (int64_t)chunk_start * fs->blocksize;
+	struct buf_item *bi;
 	int retval;
-	unsigned int nb_blk = chunk_end - chunk_start;
-	size_t len = nb_blk * fs->blocksize;
-	int64_t offset = (int64_t)chunk_start * (int64_t)fs->blocksize;
 
-	if (params.overwrite_input == false) {
+	if (!params.overwrite_input) {
 		if (sparse_file_add_file(s, params.in_file, offset, len, chunk_start) < 0)
 			sparse_fatal("adding data to the sparse file");
-	} else {
-		/*
-		 * The input file will be overwritten, make a copy of
-		 * the blocks
-		 */
-		struct buf_item *bi = calloc(1, sizeof(struct buf_item) + len);
-		if (buf_list == NULL)
-			buf_list = bi;
-		else {
-			bi->next = buf_list;
-			buf_list = bi;
-		}
-
-		retval = io_channel_read_blk64(fs->io, chunk_start, nb_blk, bi->buf);
-		if (retval < 0)
-			ext2fs_fatal(retval, "reading block %u - %u", chunk_start, chunk_end);
-
-		if (sparse_file_add_data(s, bi->buf, len, chunk_start) < 0)
-			sparse_fatal("adding data to the sparse file");
+		return;
 	}
+
+	/* The input file will be overwritten, so make a copy of the blocks. */
+	if (len > SIZE_MAX - sizeof(*bi))
+		sparse_fatal("filesystem is too large");
+	bi = calloc(1, sizeof(*bi) + len);
+	if (!bi)
+		sparse_fatal("out of memory");
+	bi->next = buf_list;
+	buf_list = bi;
+	retval = io_channel_read_blk64(fs->io, chunk_start, num_blks, bi->buf);
+	if (retval)
+		ext2fs_fatal(retval, "reading data from %s", params.in_file);
+
+	if (sparse_file_add_data(s, bi->buf, len, chunk_start) < 0)
+		sparse_fatal("adding data to the sparse file");
 }
 
 static void free_chunks(void)
@@ -106,13 +106,23 @@
 	}
 }
 
+static blk_t fs_blocks_count(ext2_filsys fs)
+{
+	blk64_t blks = ext2fs_blocks_count(fs->super);
+
+	/* libsparse assumes 32-bit block numbers. */
+	if ((blk_t)blks != blks)
+		sparse_fatal("filesystem is too large");
+	return blks;
+}
+
 static struct sparse_file *ext_to_sparse(const char *in_file)
 {
 	errcode_t retval;
 	ext2_filsys fs;
 	struct sparse_file *s;
 	int64_t chunk_start = -1;
-	blk_t first_blk, last_blk, nb_blk, cur_blk;
+	blk_t fs_blks, cur_blk;
 
 	retval = ext2fs_open(in_file, 0, 0, 0, unix_io_manager, &fs);
 	if (retval)
@@ -122,11 +132,9 @@
 	if (retval)
 		ext2fs_fatal(retval, "while reading block bitmap of %s", in_file);
 
-	first_blk = ext2fs_get_block_bitmap_start2(fs->block_map);
-	last_blk = ext2fs_get_block_bitmap_end2(fs->block_map);
-	nb_blk = last_blk - first_blk + 1;
+	fs_blks = fs_blocks_count(fs);
 
-	s = sparse_file_new(fs->blocksize, (uint64_t)fs->blocksize * (uint64_t)nb_blk);
+	s = sparse_file_new(fs->blocksize, (uint64_t)fs_blks * fs->blocksize);
 	if (!s)
 		sparse_fatal("creating sparse file");
 
@@ -138,24 +146,39 @@
 	 * larger than INT32_MAX (32-bit _and_ 64-bit systems).
 	 * Make sure we do not create chunks larger than this limit.
 	 */
-	int64_t max_blk_per_chunk = (INT32_MAX - 12) / fs->blocksize;
+	int32_t max_blk_per_chunk = (INT32_MAX - 12) / fs->blocksize;
 
-	/* Iter on the blocks to merge contiguous chunk */
-	for (cur_blk = first_blk; cur_blk <= last_blk; ++cur_blk) {
+	/*
+	 * Iterate through the filesystem's blocks, identifying "chunks" that
+	 * are contiguous ranges of blocks that are in-use by the filesystem.
+	 * Add each chunk to the sparse_file.
+	 */
+	for (cur_blk = ext2fs_get_block_bitmap_start2(fs->block_map);
+	     cur_blk < fs_blks; ++cur_blk) {
 		if (ext2fs_test_block_bitmap2(fs->block_map, cur_blk)) {
+			/*
+			 * @cur_blk is in-use.  Append it to the pending chunk
+			 * if there is one, otherwise start a new chunk.
+			 */
 			if (chunk_start == -1) {
 				chunk_start = cur_blk;
 			} else if (cur_blk - chunk_start + 1 == max_blk_per_chunk) {
-				add_chunk(fs, s, chunk_start, cur_blk);
+				/*
+				 * Appending @cur_blk to the pending chunk made
+				 * it reach the maximum length, so end it.
+				 */
+				add_chunk(fs, s, chunk_start, max_blk_per_chunk);
 				chunk_start = -1;
 			}
 		} else if (chunk_start != -1) {
-			add_chunk(fs, s, chunk_start, cur_blk);
+			/* @cur_blk is not in-use, so end the pending chunk. */
+			add_chunk(fs, s, chunk_start, cur_blk - chunk_start);
 			chunk_start = -1;
 		}
 	}
+	/* If there's still a pending chunk, end it. */
 	if (chunk_start != -1)
-		add_chunk(fs, s, chunk_start, cur_blk - 1);
+		add_chunk(fs, s, chunk_start, cur_blk - chunk_start);
 
 	ext2fs_free(fs);
 	return s;
@@ -165,14 +188,14 @@
 {
 	struct stat st1, st2;
 
-	if (access(out, F_OK) == -1)
-		return false;
-
-	if (lstat(in, &st1) == -1)
+	if (stat(in, &st1) == -1)
 		ext2fs_fatal(errno, "stat %s\n", in);
-	if (lstat(out, &st2) == -1)
+	if (stat(out, &st2) == -1) {
+		if (errno == ENOENT)
+			return false;
 		ext2fs_fatal(errno, "stat %s\n", out);
-	return st1.st_ino == st2.st_ino;
+	}
+	return st1.st_dev == st2.st_dev && st1.st_ino == st2.st_ino;
 }
 
 int main(int argc, char *argv[])
@@ -184,13 +207,13 @@
 	while ((opt = getopt(argc, argv, "czS")) != -1) {
 		switch(opt) {
 		case 'c':
-			params.crc = 1;
+			params.crc = true;
 			break;
 		case 'z':
-			params.gzip = 1;
+			params.gzip = true;
 			break;
 		case 'S':
-			params.sparse = 0;
+			params.sparse = false;
 			break;
 		default:
 			usage(argv[0]);
diff --git a/debian/changelog b/debian/changelog
index 6fc50be..8c0f695 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,77 @@
+e2fsprogs (1.47.2~rc1-2~bpo12+1) bookworm-backports; urgency=medium
+
+  * Rebuild for bookworm-backports.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Mon, 09 Dec 2024 22:40:25 -0500
+
+e2fsprogs (1.47.2~rc1-2) unstable; urgency=medium
+
+  * Fix fuseext2 transition to account for /usr-move (Closes: #1088838)
+  * Fix orphan_file support on big endian systems.
+  * Mke2fs will allow "-r 1" since fsarchiver uses it rather pointlessly
+  * Allow building e2fsprogs without libarchive-dev installed to make life
+    easier for bootstrapping for new Debian ports (Closes: #1078693)
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Tue, 03 Dec 2024 23:40:01 -0500
+
+e2fsprogs (1.47.2~rc1-1) unstable; urgency=medium
+
+  * New upstream version
+  * Remove the -r option from tune2fs and replace it with an extended
+    option since most users will never need to request a file system
+    suitable for pre-1995 1.2 version kernels and a typo will just end up
+    confusing the user and leaving them with a file system missing most
+    modern ext4 features, including no support for on-line resizing and no
+    support for post-2038 timestamps.   (Closes: #1086603)
+  * Add support for gnu.translator extended attrbutes in tar files fed to
+    mke2fs -d.
+  * Avoid a spurious failure in badblocks when -n or -w is specified
+    twice.  (Closes: #1087341)
+  * Fix a bug which caused e2fsck to skip checking a file system with the
+    orphan_file feature if there are orphaned files which need to be
+    cleaned up.
+  * Fix a bug which caused tune2fs to corrupt a revision 0 file system
+    when changing the inode size by updating the revision to the current
+    standard revision supported by all Linux kernels since 1995.
+  * Fix fuse2fs --helpfull so that it displays the full help message.
+  * Allow resize2fs to perform an offline resize past the 256 TiB boundary
+  * Fix unused parameter warnings for packages which including ext2fs.h.
+    (Closes: #1082500)
+  * Provide fuseext2 to replace the debian package src:fuse-umfuse-ext2.
+    (Closes: #1085590)
+  * Clean up groff warnings in man pages.  (Closes: #1086892, #1082787,
+    #1072866, #1087898)
+  * Document the orphan_file feature in the ext4(5) and tune2fs(8) man
+    pages.  (Closes: #1073062)
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Thu, 28 Nov 2024 23:35:35 -0500
+
+e2fsprogs (1.47.1-1) unstable; urgency=medium
+
+  * New upstream version
+  * Clarify the lsattr and mklost+found man pages that they are applicable
+    for ext2, ext3, and ext4 file systems and not just for ext2.  (Closes:
+    #1041115)
+  * Replace the build-depend on pkg-config with pkgconf to fix a Lintian
+    warning.
+  * E2fsck will now perform more consistency checks on EA (extended
+    attribute value) inodes.
+  * Fix a big where e2fsck could potentially leak an acl block when
+    releasing an orphan inode.
+  * Avoid a divide by zero crash in libext2fs if the container
+    infrastructure, such as lxcfs, reports that the system has zero CPU's
+    via sysconf(_SC_NPROCESSORS_CONF).
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Mon, 20 May 2024 15:28:06 -0400
+
 e2fsprogs (1.47.1~rc2-1~bpo12+1) bookworm-backports; urgency=medium
 
   * Rebuild for bookworm-backports.
 
  -- Theodore Y. Ts'o <tytso@mit.edu>  Mon, 06 May 2024 00:50:10 -0400
-
 e2fsprogs (1.47.1~rc2-1) unstable; urgency=medium
 
+  * New upstream version
   * Update Chinese, Czech, French, Polish Romainian, Swedish, and
     Ukrainian translations
   * Fix libarchive support in mke2fs on mips64el (Closes: #1070042)
@@ -13,7 +79,7 @@
     systemd.  (Closes: #1070107)
   * Update to standards 4.7.0
 
- -- Theodore Y. Ts'o <tytso@mit.edu>  Wed, 01 May 2024 00:50:49 -0400
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Mon, 20 May 2024 15:24:47 -0400
 
 e2fsprogs (1.47.1~rc1-3) unstable; urgency=medium
 
diff --git a/debian/control b/debian/control
index 78c534f..b127bc6 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@
 Section: admin
 Priority: required
 Maintainer: Theodore Y. Ts'o <tytso@mit.edu>
-Build-Depends: gettext, texinfo, pkg-config, libarchive-dev, libfuse3-dev [linux-any kfreebsd-any] <!pkg.e2fsprogs.no-fuse2fs>, debhelper-compat (= 12), dh-exec, libblkid-dev, uuid-dev, m4, udev [linux-any], systemd [linux-any], cron [linux-any]
+Build-Depends: gettext, texinfo, pkgconf, libarchive-dev <!nocheck>, libfuse3-dev [linux-any kfreebsd-any] <!pkg.e2fsprogs.no-fuse2fs>, debhelper-compat (= 12), dh-exec, libblkid-dev, uuid-dev, m4, udev [linux-any], systemd [linux-any], cron [linux-any]
 Rules-Requires-Root: no
 Standards-Version: 4.7.0
 Homepage: http://e2fsprogs.sourceforge.net
@@ -13,12 +13,23 @@
 Build-Profiles: <!pkg.e2fsprogs.no-fuse2fs>
 Priority: optional
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: fuseext2 (<< 1.47.1-2~)
+Replaces: fuseext2 (<< 1.47.1-2~)
 Architecture: linux-any kfreebsd-any
 Description: ext2 / ext3 / ext4 file system driver for FUSE
  fuse2fs is a FUSE file system client that supports reading and
  writing from devices or image files containing ext2, ext3, and ext4
  file systems.
 
+Package: fuseext2
+Build-Profiles: <!pkg.e2fsprogs.no-fuse2fs>
+Depends: fuse2fs (>= 1.47.1-2), ${misc:Depends}
+Architecture: all
+Priority: optional
+Section: oldlibs
+Description: transitional package
+ This is a transitional package. It can safely be removed.
+
 Package: logsave
 Priority: optional
 Depends: ${shlibs:Depends}, ${misc:Depends}
diff --git a/debian/copyright b/debian/copyright
index 77bd5ea..604ed9e 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -21,6 +21,15 @@
            1995-1996 Michael Nonweiler <mrn20@cam.ac.uk>
 License: GPL-2
 
+Files: debian/fuse-ext2
+Copyright: 2008-2010 Alper Akcan <alper.akcan@gmail.com>
+           2009-2010 Renzo Davoli <renzo@cs.unibo.it>
+License: GPL-2+
+
+Files: debian/fuse-ext2.1
+Copyright: 2024 наб <nabijaczleweli@nabijaczleweli.xyz>
+License: 0BSD
+
 Files: lib/et/*
        lib/ss/*
 Copyright: 1987-1988 MIT Student Information Processing Board
@@ -471,6 +480,37 @@
  On Debian systems, the complete text of the GNU General
  Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
 
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program (in the main directory of the fuse-ext2
+ distribution in the file COPYING); if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+Comment:
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+
+License: 0BSD
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
 License: LGPL-2
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Library General Public License as
diff --git a/debian/fuse-ext2 b/debian/fuse-ext2
new file mode 100755
index 0000000..ebd3b8a
--- /dev/null
+++ b/debian/fuse-ext2
@@ -0,0 +1,65 @@
+#!/bin/sh
+usage() {
+	printf 'usage: %s [-hv] [-o ro|force|allow_others[,...]]... device|image mountpoint\n\nUse fuse2fs instead.\n' "${0##*/}"
+	exit 9
+}
+
+args="$(getopt -o 'hvo:' --long 'help,verbose,options:' -n "${0##*/}" -s 'sh' -- "$@")" || exit
+eval set -- "$args"
+
+original_options=
+readonly=
+force=
+while :; do
+	case "$1" in
+		-o|--options)
+			original_options="$original_options,$2"
+			shift 2
+			;;
+		-h|--help)
+			usage
+			shift
+			;;
+		-v|--verbose)
+			shift
+			;;
+		--)
+			shift
+			break
+			;;
+	esac
+done
+
+[ $# -eq 2 ] || usage
+device="$1"
+mountpoint="$2"
+
+# let fuse2fs check $device
+
+options=
+while [ -n "${original_options#,}" ]; do
+	original_options="${original_options#,}"
+	full="${original_options%%,*}"
+	original_options="${original_options#*,},"
+	case "${full%%=*}" in
+		"ro"    ) readonly=y               ;;  # Read-only mount.
+		"rw"    ) readonly=                ;;  # Read-write mount
+		"rw+"   ) readonly=; force=y       ;;  # Read-write mount
+		"silent")                          ;;  # keep silent
+		"force" ) force=y                  ;;  # enable read/write
+		*       ) options="$options,$full"; continue ;;
+	esac
+	[ "$full" = "${full%=*}" ] || {
+		printf '%s: %s: value given but not allowed\n' "${0##*/}" "$full" >&2
+		exit 254
+	}
+done
+
+[ -z "$readonly" ] && [ -z "$force" ] && {
+	printf '%s: Mounting %s Read-Only. Use '\''force'\'' or '\''rw+'\'' options to enable Read-Write mode\n' "${0##*/}" "$device" >&2
+	readonly=y
+}
+
+[ -n "$readonly" ] && options="$options,ro" || options="$options,rw"
+
+exec /usr/bin/fuse2fs "$device" "$mountpoint" -o "${options#,}"
diff --git a/debian/fuse-ext2.1 b/debian/fuse-ext2.1
new file mode 100644
index 0000000..b24ab56
--- /dev/null
+++ b/debian/fuse-ext2.1
@@ -0,0 +1,67 @@
+.\" SPDX-License-Identifier: 0BSD
+.\"
+.Dd October 24, 2024
+.Dt FUSE-EXT2 1
+.Os fuse2fs
+.
+.Sh NAME
+.Nm fuse-ext2
+.Nd fuse2fs compatibility wrapper
+.Sh SYNOPSIS
+.Nm
+.Op Fl hv
+.Oo Fl o Cm ro Ns \&| Ns Cm force Ns \&| Ns Cm allow_others Ns Oo ,… Oc Oc Ns …
+.Ar device Ns \&| Ns Ar image
+.Ar mountpoint
+.
+.Sh DESCRIPTION
+This wrapper provides the
+.Nm
+interface via
+.Xr fuse2fs 1 ,
+which you should migrate to instead.
+.
+.Sh OPTIONS
+.Bl -tag -compact -width ".Fl o , -options Ar option Ns Op ,…"
+.It Fl h , -help
+Show usage string.
+.
+.It Fl v , -verbose
+Ignored.
+.
+.It Fl o , -options Ar option Ns Op ,…
+.Xr mount.fuse3 8
+options, of which these are handled specially:
+.Bl -tag -compact -offset 4n -width ".Cm silent"
+.It Cm ro
+Mount read-only.
+.
+.It Cm rw
+Mount read-write
+.Em if
+.Cm force
+also given.
+This is the default.
+.
+.It Cm rw+
+Same as
+.Fl o Cm rw , Ns Cm force
+.It Cm silent
+Ignored.
+.It Cm force
+If
+.Cm rw ,
+mount read-write.
+.El
+all other
+.Ar option Ns s
+are forwarded to
+.Nm fuse2fs
+directly.
+.Pp
+If
+.Cm rw
+but not
+.Cm force ,
+the mount is read-only and a warning is issued.
+.El
diff --git a/debian/fuse2fs.install b/debian/fuse2fs.install
index 2ed4c3c..5ff8792 100644
--- a/debian/fuse2fs.install
+++ b/debian/fuse2fs.install
@@ -1,2 +1,5 @@
 /usr/bin/fuse2fs
 /usr/share/man/man1/fuse2fs.1
+
+debian/fuse-ext2   /usr/bin/
+debian/fuse-ext2.1 /usr/share/man/man1/
diff --git a/debian/fuse2fs.links b/debian/fuse2fs.links
new file mode 100644
index 0000000..71cb0b6
--- /dev/null
+++ b/debian/fuse2fs.links
@@ -0,0 +1,7 @@
+/usr/bin/fuse-ext2        /usr/bin/fuseext2
+/usr/bin/fuse-ext2        /usr/sbin/mount.fuse-ext2
+/usr/sbin/mount.fuse-ext2 /usr/sbin/mount.fuseext2
+
+/usr/share/man/man1/fuse-ext2.1       /usr/share/man/man1/fuseext2.1
+/usr/share/man/man1/fuse-ext2.1       /usr/share/man/man8/mount.fuse-ext2.8
+/usr/share/man/man8/mount.fuse-ext2.8 /usr/share/man/man8/mount.fuseext2.8
diff --git a/debian/fuse2fs.postinst b/debian/fuse2fs.postinst
new file mode 100644
index 0000000..38384ff
--- /dev/null
+++ b/debian/fuse2fs.postinst
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:trixie
+if test "$1" = configure && dpkg --compare-versions "$2" lt 1.47.2~rc1-1~; then
+    # DEP17 P1 mitigation.
+    for cmd in /sbin/mount.fuse-ext2 /sbin/mount.fuseext2; do
+        dpkg-divert --package fuse2fs --no-rename --divert "$cmd.usr-is-merged" --remove "$cmd"
+    done
+fi
+# end-remove-after: released:trixie
+
+#DEBHELPER#
diff --git a/debian/fuse2fs.postrm b/debian/fuse2fs.postrm
new file mode 100644
index 0000000..68a43f8
--- /dev/null
+++ b/debian/fuse2fs.postrm
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:trixie
+if test "$1" = remove || test "$1" = upgrade -o "$1" = failed-upgrade - o "$1" = abort-install -o "$1" = abort-upgrade && dpkg --compare-versions "$2" lt 1.47.2~rc1-1~; then
+    # DEP17 P1 mitigation.
+    for cmd in /sbin/mount.fuse-ext2 /sbin/mount.fuseext2; do
+        dpkg-divert --package fuse2fs --no-rename --divert "$cmd.usr-is-merged" --remove "$cmd"
+    done
+fi
+# end-remove-after: released:trixie
+
+#DEBHELPER#
diff --git a/debian/fuse2fs.preinst b/debian/fuse2fs.preinst
new file mode 100644
index 0000000..24e2504
--- /dev/null
+++ b/debian/fuse2fs.preinst
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:trixie
+if test "$1" = install -o "$1" = upgrade && dpkg --compare-versions "$2" lt 1.47.2~rc1-1~; then
+    # DEP17 P1 mitigation.
+    for cmd in /sbin/mount.fuse-ext2 /sbin/mount.fuseext2; do
+        dpkg-divert --package fuse2fs --no-rename --divert "$cmd.usr-is-merged" --add "$cmd"
+    done
+fi
+# end-remove-after: released:trixie
+
+#DEBHELPER#
diff --git a/debian/patches/0001-Decouple-without-libarchive-and-HAVE_ARCHIVE_H.patch b/debian/patches/0001-Decouple-without-libarchive-and-HAVE_ARCHIVE_H.patch
new file mode 100644
index 0000000..4209e71
--- /dev/null
+++ b/debian/patches/0001-Decouple-without-libarchive-and-HAVE_ARCHIVE_H.patch
@@ -0,0 +1,162 @@
+From: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
+Subject: Decouple --without-libarchive and HAVE_ARCHIVE_H
+
+To aid bootstrapping, it would be useful to be able to build e2fsprogs
+without archive.h as otherwise there is a build dependency loop with
+libarchive. If archive.h is not present, add the missing forward
+declarations (as opaque structs) and preprocessor definitions and
+typedefs. Since this allows building e2fsprogs with libarchive support
+even without the archive.h header present on the system, we cannot check
+HAVE_ARCHIVE_H anymore to decide whether to build with libarchive
+support or not. So if --without-libarchive is passed to ./configure,
+CONFIG_DISABLE_LIBARCHIVE gets set and later checked to decide about
+libarchive support.
+
+Origin: upstream
+Addresses-Debian-Bug: #1078693
+---
+ configure                      |  3 +++
+ configure.ac                   |  2 ++
+ lib/config.h.in                |  3 +++
+ misc/create_inode_libarchive.c | 46 ++++++++++++++++++++++++++--------
+ 5 files changed, 44 insertions(+), 12 deletions(-)
+
+diff --git a/configure b/configure
+index e299be028..f9a7aa4e2 100755
+--- a/configure
++++ b/configure
+@@ -13750,6 +13750,9 @@ then
+ 	try_libarchive=""
+ 	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling libarchive support" >&5
+ printf "%s\n" "Disabling libarchive support" >&6; }
++
++printf "%s\n" "#define CONFIG_DISABLE_LIBARCHIVE 1" >>confdefs.h
++
+ elif test "$withval" = "direct"
+ then
+ 	try_libarchive="direct"
+diff --git a/configure.ac b/configure.ac
+index 9a3dff1cf..1f6760403 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1312,6 +1312,8 @@ AS_HELP_STRING([--without-libarchive],[disable use of libarchive]),
+ then
+ 	try_libarchive=""
+ 	AC_MSG_RESULT([Disabling libarchive support])
++	AC_DEFINE(CONFIG_DISABLE_LIBARCHIVE, 1,
++		[Define to 1 to completely disable libarchive])
+ elif test "$withval" = "direct"
+ then
+ 	try_libarchive="direct"
+diff --git a/lib/config.h.in b/lib/config.h.in
+index 04cec72b8..819c43313 100644
+--- a/lib/config.h.in
++++ b/lib/config.h.in
+@@ -12,6 +12,9 @@
+ /* Define to 1 for features for use by ext4 developers */
+ #undef CONFIG_DEVELOPER_FEATURES
+ 
++/* Define to 1 to completely disable libarchive */
++#undef CONFIG_DISABLE_LIBARCHIVE
++
+ /* Define to 1 if using dlopen to access libarchive */
+ #undef CONFIG_DLOPEN_LIBARCHIVE
+ 
+diff --git a/misc/create_inode_libarchive.c b/misc/create_inode_libarchive.c
+index ff697f4c8..d14efe81d 100644
+--- a/misc/create_inode_libarchive.c
++++ b/misc/create_inode_libarchive.c
+@@ -13,20 +13,50 @@
+ #define _GNU_SOURCE 1
+ 
+ #include "config.h"
+-#include <ext2fs/ext2_types.h>
+ #include "create_inode.h"
+ #include "create_inode_libarchive.h"
+ #include "support/nls-enable.h"
+ 
+-#ifdef HAVE_ARCHIVE_H
++#ifdef CONFIG_DISABLE_LIBARCHIVE
++
++/* If ./configure was run with --without-libarchive, then only
++ * __populate_fs_from_tar() remains in this file and will return an error. */
++errcode_t __populate_fs_from_tar(ext2_filsys, ext2_ino_t, const char *,
++                                 ext2_ino_t, struct hdlinks_s *,
++                                 struct file_info *,
++                                 struct fs_ops_callbacks *) {
++  com_err(__func__, 0,
++          _("you need to compile e2fsprogs without --without-libarchive"
++            "be able to process tarballs"));
++  return 1;
++}
++
++#else
++
++/* If ./configure was NOT run with --without-libarchive, then build with
++ * support for dlopen()-ing libarchive at runtime. This will also work even
++ * if archive.h is not available at compile-time. See the comment below. */
+ 
+ /* 64KiB is the minimum blksize to best minimize system call overhead. */
+ //#define COPY_FILE_BUFLEN 65536
+ //#define COPY_FILE_BUFLEN 1048576
+ #define COPY_FILE_BUFLEN 16777216
+ 
++/* If archive.h was found, include it as usual. To support easier
++ * bootstrapping, also allow compilation without archive.h present by
++ * declaring the necessary opaque structs and preprocessor definitions. */
++#ifdef HAVE_ARCHIVE_H
+ #include <archive.h>
+ #include <archive_entry.h>
++#else
++struct archive;
++struct archive_entry;
++#define	ARCHIVE_EOF	  1	/* Found end of archive. */
++#define	ARCHIVE_OK	  0	/* Operation was successful. */
++#include <unistd.h>  /* ssize_t */
++typedef ssize_t la_ssize_t;
++#endif /* HAVE_ARCHIVE_H */
++
+ #include <libgen.h>
+ #include <locale.h>
+ 
+@@ -175,7 +205,7 @@ static int libarchive_available(void)
+ 
+ 	return 1;
+ }
+-#endif
++#endif /* CONFIG_DLOPEN_LIBARCHIVE */
+ 
+ static errcode_t __find_path(ext2_filsys fs, ext2_ino_t root, const char *name,
+ 			     ext2_ino_t *inode)
+@@ -541,7 +571,6 @@ static errcode_t handle_entry(ext2_filsys fs, ext2_ino_t root_ino,
+ 	}
+ 	return 0;
+ }
+-#endif
+ 
+ errcode_t __populate_fs_from_tar(ext2_filsys fs, ext2_ino_t root_ino,
+ 				 const char *source_tar, ext2_ino_t root,
+@@ -549,12 +578,6 @@ errcode_t __populate_fs_from_tar(ext2_filsys fs, ext2_ino_t root_ino,
+ 				 struct file_info *target,
+ 				 struct fs_ops_callbacks *fs_callbacks)
+ {
+-#ifndef HAVE_ARCHIVE_H
+-	com_err(__func__, 0,
+-		_("you need to compile e2fsprogs with libarchive to "
+-		  "be able to process tarballs"));
+-	return 1;
+-#else
+ 	char *path2, *path3, *dir, *name;
+ 	unsigned int dir_exists;
+ 	struct archive *a;
+@@ -700,5 +723,6 @@ out:
+ 	uselocale(old_locale);
+ 	freelocale(archive_locale);
+ 	return retval;
+-#endif
+ }
++
++#endif /* CONFIG_DISABLE_LIBARCHIVE */
+-- 
+2.45.2
+
diff --git a/debian/patches/0002-mke2fs-allow-specifying-the-revision-1-via-r-1.patch b/debian/patches/0002-mke2fs-allow-specifying-the-revision-1-via-r-1.patch
new file mode 100644
index 0000000..aad37a3
--- /dev/null
+++ b/debian/patches/0002-mke2fs-allow-specifying-the-revision-1-via-r-1.patch
@@ -0,0 +1,57 @@
+From: Theodore Ts'o <tytso@mit.edu>
+Subject: mke2fs: allow specifying the revision 1 via "-r 1"
+
+The fsarchiver program unconditionally passes -r 1 even though it's
+effectively a no-op.  To avoid commit 3fffe9dd6be5 breaking
+fsarchiver, we'll silently allow the "-r 1" option instead of printing
+an error and exiting.
+
+---
+ misc/mke2fs.c | 22 +++++++++++++++++++---
+ 1 file changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/misc/mke2fs.c b/misc/mke2fs.c
+index 170ec9bc3..aa4e45440 100644
+--- a/misc/mke2fs.c
++++ b/misc/mke2fs.c
+@@ -1656,6 +1656,7 @@ static void PRS(int argc, char *argv[])
+ 	 * Finally, we complain about fs_blocks_count > 2^32 on a non-64bit fs.
+ 	 */
+ 	blk64_t		fs_blocks_count = 0;
++	int		r_opt = -1;
+ 	char		*fs_features = 0;
+ 	int		fs_features_size = 0;
+ 	int		use_bsize;
+@@ -1932,11 +1933,26 @@ profile_error:
+ 			quiet = 1;
+ 			break;
+ 		case 'r':
+-			com_err(program_name, 0,
+-				_("the -r option has been removed.\n\n"
++			r_opt = strtoul(optarg, &tmp, 0);
++			if (*tmp) {
++				com_err(program_name, 0,
++					_("bad revision level - %s"), optarg);
++				exit(1);
++			}
++			if (r_opt > EXT2_MAX_SUPP_REV) {
++				com_err(program_name, EXT2_ET_REV_TOO_HIGH,
++					_("while trying to create revision %d"), r_opt);
++				exit(1);
++			}
++			if (r_opt != EXT2_DYNAMIC_REV) {
++				com_err(program_name, 0,
++	_("the -r option has been removed.\n\n"
+ 	"If you really need compatibility with pre-1995 Linux systems, use the\n"
+ 	"command-line option \"-E revision=0\".\n"));
+-			exit(1);
++				exit(1);
++			}
++			fs_param.s_rev_level = r_opt;
++			break;
+ 		case 's':
+ 			com_err(program_name, 0,
+ 				_("the -s option has been removed.\n\n"
+-- 
+2.45.2
+
diff --git a/debian/patches/0003-e2fsck-fix-big-endian-support-for-orphan_file-file-s.patch b/debian/patches/0003-e2fsck-fix-big-endian-support-for-orphan_file-file-s.patch
new file mode 100644
index 0000000..93d8fb6
--- /dev/null
+++ b/debian/patches/0003-e2fsck-fix-big-endian-support-for-orphan_file-file-s.patch
@@ -0,0 +1,85 @@
+From: Theodore Ts'o <tytso@mit.edu>
+Subject: e2fsck: fix big-endian support for orphan_file file systems
+
+---
+ e2fsck/super.c       |  5 +++--
+ lib/ext2fs/ext2_fs.h |  4 ++--
+ lib/ext2fs/orphan.c  | 12 +++++++-----
+ 3 files changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/e2fsck/super.c b/e2fsck/super.c
+index 04d6ddee6..d6bbb6317 100644
+--- a/e2fsck/super.c
++++ b/e2fsck/super.c
+@@ -605,8 +605,9 @@ return_abort:
+ 		 * Update checksum to match expected buffer contents with
+ 		 * appropriate block number.
+ 		 */
+-		tail->ob_checksum = ext2fs_do_orphan_file_block_csum(fs,
+-				pd->ino, pd->generation, blk, pd->buf);
++		tail->ob_checksum =
++			ext2fs_cpu_to_le32(ext2fs_do_orphan_file_block_csum(fs,
++				    pd->ino, pd->generation, blk, pd->buf));
+ 	}
+ 	if (!pd->clear) {
+ 		pd->errcode = io_channel_read_blk64(fs->io, blk, 1,
+diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h
+index 586141f89..3a5eb7387 100644
+--- a/lib/ext2fs/ext2_fs.h
++++ b/lib/ext2fs/ext2_fs.h
+@@ -1122,8 +1122,8 @@ static inline unsigned int ext2fs_dir_rec_len(__u8 name_len,
+ 
+ /* Structure at the tail of orphan block */
+ struct ext4_orphan_block_tail {
+-	__u32 ob_magic;
+-	__u32 ob_checksum;
++	__le32 ob_magic;
++	__le32 ob_checksum;
+ };
+ 
+ /*
+diff --git a/lib/ext2fs/orphan.c b/lib/ext2fs/orphan.c
+index 913eb9a03..e256fd220 100644
+--- a/lib/ext2fs/orphan.c
++++ b/lib/ext2fs/orphan.c
+@@ -58,7 +58,7 @@ __u32 ext2fs_do_orphan_file_block_csum(ext2_filsys fs, ext2_ino_t ino,
+ 	crc = ext2fs_crc32c_le(crc, (unsigned char *)buf,
+ 				inodes_per_ob * sizeof(__u32));
+ 
+-	return ext2fs_cpu_to_le32(crc);
++	return crc;
+ }
+ 
+ struct mkorphan_info {
+@@ -101,8 +101,9 @@ static int mkorphan_proc(ext2_filsys	fs,
+ 			struct ext4_orphan_block_tail *tail;
+ 
+ 			tail = ext2fs_orphan_block_tail(fs, oi->buf);
+-			tail->ob_checksum = ext2fs_do_orphan_file_block_csum(fs,
+-				oi->ino, oi->generation, new_blk, oi->buf);
++			tail->ob_checksum =
++		ext2fs_cpu_to_le32(ext2fs_do_orphan_file_block_csum(fs,
++				    oi->ino, oi->generation, new_blk, oi->buf));
+ 		}
+ 		err = io_channel_write_blk64(fs->io, new_blk, 1, oi->buf);
+ 	} else	/* zerobuf is used to initialize new indirect blocks... */
+@@ -249,13 +250,14 @@ errcode_t ext2fs_orphan_file_block_csum_set(ext2_filsys fs, ext2_ino_t ino,
+ 					    blk64_t blk, char *buf)
+ {
+ 	struct ext4_orphan_block_tail *tail;
++	__u32 crc;
+ 
+ 	if (!ext2fs_has_feature_metadata_csum(fs->super))
+ 		return 0;
+ 
+ 	tail = ext2fs_orphan_block_tail(fs, buf);
+-	return ext2fs_orphan_file_block_csum(fs, ino, blk, buf,
+-					     &tail->ob_checksum);
++	return ext2fs_orphan_file_block_csum(fs, ino, blk, buf, &crc);
++	tail->ob_checksum = ext2fs_cpu_to_le32(crc);
+ }
+ 
+ int ext2fs_orphan_file_block_csum_verify(ext2_filsys fs, ext2_ino_t ino,
+-- 
+2.45.2
+
diff --git a/debian/patches/0004-More-reease-note-updates b/debian/patches/0004-More-reease-note-updates
new file mode 100644
index 0000000..8209523
--- /dev/null
+++ b/debian/patches/0004-More-reease-note-updates
@@ -0,0 +1,48 @@
+From: Theodore Ts'o <tytso@mit.edu>
+Subject: More release note updates for 1.47.2.
+
+---
+ doc/RelNotes/v1.47.2.txt | 11 +++++++++--
+ 2 files changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/doc/RelNotes/v1.47.2.txt b/doc/RelNotes/v1.47.2.txt
+index 84cd21640..3c27e34ca 100644
+--- a/doc/RelNotes/v1.47.2.txt
++++ b/doc/RelNotes/v1.47.2.txt
+@@ -1,4 +1,4 @@
+-E2fsprogs 1.47.2 (November 28, 2024) 6ba18ef7bf4b
++E2fsprogs 1.47.2 (November 28, 2024) 283fcab2c9af
+ ====================================
+ 
+ Updates/Fixes since v1.47.1:
+@@ -22,6 +22,8 @@ https://github.com/tytso/e2fsprogs/issues/192)
+ Fixes
+ -----
+ 
++Fix orphan_file support on big endian systems.
++
+ Avoid a spurious failure in badblocks when -n or -w is specified twice.
+ (Addresses Debian Bug #1087341)
+ 
+@@ -68,7 +70,7 @@ Enable Continuous Integration testing in Debian's Salsa forge.
+ Fix a memory leak in oss-fuzz test programs.
+ 
+ Provide fuseext2 to replace the debian package src:fuse-umfuse-ext2.
+-(Addresses Debian Bug #1085590)
++(Addresses Debian Bug #1085590, #1088838)
+ 
+ Fix the f_badjour_encrypted test to write the error output from mke2fs
+ and debugfs to a log file so it doesn't mess up the "make check" output
+@@ -82,4 +84,9 @@ Clean up groff warnings in man pages.  (Addresses Debian Bugs #1086892,
+ Document the orphan_file feature in the ext4(5) and tune2fs(8) man
+ pages.  (Addresses Debian Bug #1073062)
+ 
++Allow building e2fsprogs without libarchive-dev installed to make life
++easier for bootstrapping for new Debian ports (Addresses Debian Bug
++#1078693)
++
+ Various man page cleanups.
++
+-- 
+2.45.2
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..8cfb8fe
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,4 @@
+0001-Decouple-without-libarchive-and-HAVE_ARCHIVE_H.patch
+0002-mke2fs-allow-specifying-the-revision-1-via-r-1.patch
+0003-e2fsck-fix-big-endian-support-for-orphan_file-file-s.patch
+0004-More-reease-note-updates
diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml
new file mode 100644
index 0000000..0c22dc4
--- /dev/null
+++ b/debian/salsa-ci.yml
@@ -0,0 +1,3 @@
+include:
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
diff --git a/debugfs/Makefile.in b/debugfs/Makefile.in
index b845a6f..50a21e5 100644
--- a/debugfs/Makefile.in
+++ b/debugfs/Makefile.in
@@ -363,16 +363,18 @@
  $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
  $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h \
  $(srcdir)/../misc/create_inode.h $(top_srcdir)/lib/e2p/e2p.h \
- $(top_srcdir)/lib/support/nls-enable.h
+ $(top_srcdir)/lib/support/nls-enable.h \
+ $(srcdir)/../misc/create_inode_libarchive.h
 create_inode_libarchive.o: $(srcdir)/../misc/create_inode_libarchive.c \
- $(top_builddir)/lib/config.h $(srcdir)/../misc/create_inode_libarchive.h \
- $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
- $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
- $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
- $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/../misc/create_inode.h \
+ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h \
  $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
- $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h \
- $(srcdir)/../misc/create_inode.h $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h \
+ $(srcdir)/../misc/create_inode_libarchive.h \
  $(top_srcdir)/lib/support/nls-enable.h
 xattrs.o: $(srcdir)/xattrs.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/support/cstring.h \
diff --git a/debugfs/debugfs.8.in b/debugfs/debugfs.8.in
index 7cf5c16..2066c0f 100644
--- a/debugfs/debugfs.8.in
+++ b/debugfs/debugfs.8.in
@@ -76,7 +76,7 @@
 no safety checks are in place, and
 .B debugfs
 may fail in interesting ways if commands such as
-.IR ls ", " dump ", "
+.IR ls ", " dump ,
 etc. are tried without specifying the
 .I data_source_device
 using the
@@ -85,7 +85,7 @@
 .B debugfs
 is a debugging tool.  It has rough edges!
 .TP
-.I -d data_source_device
+.I \-d data_source_device
 Used with the
 .I \-i
 option, specifies that
@@ -93,24 +93,24 @@
 should be used when reading blocks not found in the ext2 image file.
 This includes data, directory, and indirect blocks.
 .TP
-.I -b blocksize
+.I \-b blocksize
 Forces the use of the given block size (in bytes) for the file system,
 rather than detecting the correct block size automatically.  (This
 option is rarely needed; it is used primarily when the file system is
 extremely badly damaged/corrupted.)
 .TP
-.I -s superblock
+.I \-s superblock
 Causes the file system superblock to be read from the given block
 number, instead of using the primary superblock (located at an offset of
 1024 bytes from the beginning of the file system).  If you specify the
-.I -s
+.I \-s
 option, you must also provide the blocksize of the file system via the
-.I -b
+.I \-b
 option.   (This
 option is rarely needed; it is used primarily when the file system is
 extremely badly damaged/corrupted.)
 .TP
-.I -f cmd_file
+.I \-f cmd_file
 Causes
 .B debugfs
 to read in commands from
@@ -119,7 +119,7 @@
 .B debugfs
 is finished executing those commands, it will exit.
 .TP
-.I -D
+.I \-D
 Causes
 .B debugfs
 to open the device using Direct I/O, bypassing the buffer cache.  Note
@@ -133,14 +133,16 @@
 .IR request ,
 and then exit.
 .TP
-.I -V
+.I \-V
 print the version number of
 .B debugfs
 and exit.
 .TP
 .BI \-z " undo_file"
 Before overwriting a file system block, write the old contents of the block to
-an undo file.  This undo file can be used with e2undo(8) to restore the old
+an undo file.  This undo file can be used with
+.BR e2undo (8)
+to restore the old
 contents of the file system should something go wrong.  If the empty string is
 passed as the undo_file argument, the undo file will be written to a file named
 debugfs-\fIdevice\fR.e2undo in the directory specified via the
@@ -184,7 +186,7 @@
 .I filespec
 to stdout.
 .TP
-.BI bmap " [ -a ] filespec logical_block [physical_block]"
+.BI bmap " [ \-a ] filespec logical_block [physical_block]"
 Print or set the physical block number corresponding to the logical block number
 .I logical_block
 in the inode
@@ -193,7 +195,7 @@
 .I \-a
 flag is specified, try to allocate a block if necessary.
 .TP
-.BI block_dump " '[ -x ] [-f filespec] block_num"
+.BI block_dump " '[ \-x ] [\-f filespec] block_num"
 Dump the file system block given by
 .I block_num
 in hex and ASCII format to the console.  If the
@@ -219,9 +221,9 @@
 Change the root directory to be the directory
 .IR filespec .
 .TP
-.BI close " [-a]"
+.BI close " [\-a]"
 Close the currently open file system.  If the
-.I -a
+.I \-a
 option is specified, write out any changes to the superblock and block
 group descriptors to all of the backup superblocks, not just to the
 master superblock.
@@ -242,13 +244,13 @@
 for
 .IR filename .
 .TP
-.BI dirty " [-clean]"
+.BI dirty " [\-clean]"
 Mark the file system as dirty, so that the superblocks will be written on exit.
 Additionally, clear the superblock's valid flag, or set it if
 .I -clean
 is specified.
 .TP
-.BI dump " [-p] filespec out_file"
+.BI dump " [\-p] filespec out_file"
 Dump the contents of the inode
 .I filespec
 to the output file
@@ -268,13 +270,13 @@
 .B s_mmp_block
 field in the superblock to locate and use the existing MMP block.
 .TP
-.BI dx_hash " [-cv] [-h hash_alg] [-s hash_seed] filename"
+.BI dx_hash " [\-cv] [\-h hash_alg] [\-s hash_seed] filename"
 Calculate the directory hash of
 .IR filename .
 The
-.I -c
+.I \-c
 option will casefold the filename before calculating the hash.  The
-.I -v
+.I \-v
 option will make the
 .B dx_hash
 command more verbose and print the hash algorithm and hash seed to
@@ -282,19 +284,19 @@
 If a file system is open, use the hash_seed and
 default hash_algorithm used by the file system, although these can be
 overridden by the
-.I -h
+.I \-h
 and
-.I -s
+.I \-s
 options.
 The hash algorithm specified with
-.I -h
+.I \-h
 may be
 .BR legacy , " half_md4" ", or " tea .
 The hash seed specified with
-.I -s
+.I \-s
 must be in UUID format.
 .TP
-.BI dump_extents " [-n] [-l] filespec"
+.BI dump_extents " [\-n] [\-l] filespec"
 Dump the extent tree of the inode
 .IR filespec .
 The
@@ -302,7 +304,7 @@
 flag will cause
 .B dump_extents
 to only display the interior nodes in the extent tree.   The
-.I -l
+.I \-l
 flag will cause
 .B dump_extents
 to only display the leaf nodes in the extent tree.
@@ -316,19 +318,19 @@
 .B dump_unused
 Dump unused blocks which contain non-null bytes.
 .TP
-.BI ea_get " [-f outfile]|[-xVC] [-r] filespec attr_name"
+.BI ea_get " [\-f outfile]|[\-xVC] [\-r] filespec attr_name"
 Retrieve the value of the extended attribute
 .I attr_name
 in the file
 .I filespec
 and write it either to stdout or to \fIoutfile\fR.
 .TP
-.BI ea_list " filespec
+.BI ea_list " filespec"
 List the extended attributes associated with the file
 .I filespec
 to standard output.
 .TP
-.BI ea_set " [-f infile] [-r] filespec attr_name attr_value
+.BI ea_set " [\-f infile] [\-r] filespec attr_name attr_value"
 Set the value of the extended attribute
 .I attr_name
 in the file
@@ -337,7 +339,7 @@
 .I attr_value
 or read it from \fIinfile\fR.
 .TP
-.BI ea_rm " filespec attr_names...
+.BI ea_rm " filespec attr_names..."
 Remove the extended attribute
 .I attr_name
 from the file \fIfilespec\fR.
@@ -346,35 +348,35 @@
 Expand the directory
 .IR filespec .
 .TP
-.BI fallocate " filespec start_block [end_block]
+.BI fallocate " filespec start_block [end_block]"
 Allocate and map uninitialized blocks into \fIfilespec\fR between
 logical block \fIstart_block\fR and \fIend_block\fR, inclusive.  If
 \fIend_block\fR is not supplied, this function maps until it runs out
 of free disk blocks or the maximum file size is reached.  Existing
 mappings are left alone.
 .TP
-.BI feature " [fs_feature] [-fs_feature] ..."
+.BI feature " [fs_feature] [\-fs_feature] ..."
 Set or clear various file system features in the superblock.  After setting
 or clearing any file system features that were requested, print the current
 state of the file system feature set.
 .TP
-.BI filefrag " [-dvr] filespec"
+.BI filefrag " [\-dvr] filespec"
 Print the number of contiguous extents in
 .IR filespec .
 If
 .I filespec
 is a directory and the
-.I -d
+.I \-d
 option is not specified,
 .I filefrag
 will print the number of contiguous extents for each file in
 the directory.  The
-.I -v
+.I \-v
 option will cause
 .I filefrag
 print a tabular listing of the contiguous extents in the
 file.  The
-.I -r
+.I \-r
 option will cause
 .I filefrag
 to do a recursive listing of the directory.
@@ -411,7 +413,7 @@
 .I block
 will be marked as not allocated.
 .TP
-.BI freefrag " [-c chunk_kb]"
+.BI freefrag " [\-c chunk_kb]"
 Report free space fragmentation on the currently open file system.
 If the
 .I \-c
@@ -426,7 +428,7 @@
 .IR filespec .
 If
 .I num
-is specified, also clear num-1 inodes after the specified inode.
+is specified, also clear num\-1 inodes after the specified inode.
 .TP
 .BI get_quota " quota_type id"
 Display quota information for given quota type (user, group, or project) and ID.
@@ -444,7 +446,7 @@
 Print a listing of the inodes which use the one or more blocks specified
 on the command line.
 .TP
-.BI inode_dump " [-b]|[-e]|[-x] filespec"
+.BI inode_dump " [\-b]|[\-e]|[\-x] filespec"
 Print the contents of the inode data structure in hex and ASCII format.
 The
 .I \-b
@@ -475,25 +477,25 @@
 program.  This is just a call to the low-level library, which sets up
 the superblock and block descriptors.
 .TP
-.BI journal_close
+.B journal_close
 Close the open journal.
 .TP
-.BI journal_open " [-c] [-v ver] [-f ext_jnl]
+.BI journal_open " [\-c] [\-v ver] [\-f ext_jnl]"
 Opens the journal for reading and writing.  Journal checksumming can
-be enabled by supplying \fI-c\fR; checksum formats 2 and 3 can be
-selected with the \fI-v\fR option.  An external journal can be loaded
+be enabled by supplying \fI\-c\fR; checksum formats 2 and 3 can be
+selected with the \fI\-v\fR option.  An external journal can be loaded
 from \fIext_jnl\fR.
 .TP
-.BI journal_run
+.B journal_run
 Replay all transactions in the open journal.
 .TP
-.BI journal_write " [-b blocks] [-r revoke] [-c] file
+.BI journal_write " [\-b blocks] [\-r revoke] [\-c] file"
 Write a transaction to the open journal.  The list of blocks to write
 should be supplied as a comma-separated list in \fIblocks\fR; the
 blocks themselves should be readable from \fIfile\fR.  A list of
 blocks to revoke can be supplied as a comma-separated list in
 \fIrevoke\fR.  By default, a commit record is written at the end; the
-\fI-c\fR switch writes an uncommitted transaction.
+\fI\-c\fR switch writes an uncommitted transaction.
 .TP
 .BI kill_file " filespec"
 Deallocate the inode
@@ -520,7 +522,7 @@
 .IR filespec .
 Note this does not adjust the inode reference counts.
 .TP
-.BI logdump " [-acsOS] [-b block] [-n num_trans ] [-i filespec] [-f journal_file] [output_file]"
+.BI logdump " [\-acsOS] [\-b block] [\-n num_trans ] [\-i filespec] [\-f journal_file] [output_file]"
 Dump the contents of the ext3 journal.  By default, dump the journal inode as
 specified in the superblock.  However, this can be overridden with the
 .I \-i
@@ -573,7 +575,7 @@
 .I num_trans
 transactions.
 .TP
-.BI ls " [-l] [-c] [-d] [-p] [-r] filespec"
+.BI ls " [\-l] [\-c] [\-d] [\-p] [\-r] filespec"
 Print a listing of the files in the directory
 .IR filespec .
 The
@@ -622,22 +624,22 @@
 .I minor
 device numbers must be specified.
 .TP
-.BI ncheck " [-c] inode_num ..."
+.BI ncheck " [\-c] inode_num ..."
 Take the requested list of inode numbers, and print a listing of pathnames
 to those inodes.  The
 .I -c
 flag will enable checking the file type information in the directory
 entry to make sure it matches the inode's type.
 .TP
-.BI open " [-weficD] [-b blocksize] [-d image_filename] [-s superblock] [-z undo_file] device"
+.BI open " [\-weficD] [\-b blocksize] [\-d image_filename] [\-s superblock] [\-z undo_file] device"
 Open a file system for editing.  The
-.I -f
+.I \-f
 flag forces the file system to be opened even if there are some unknown
 or incompatible file system features which would normally
 prevent the file system from being opened.  The
-.I -e
+.I \-e
 flag causes the file system to be opened in exclusive mode.  The
-.IR -b ", " -c ", " -d ", " -i ", " -s ", " -w ", and " -D
+.IR \-b ", " \-c ", " \-d ", " \-i ", " \-s ", " \-w ", and " \-D
 options behave the same as the command-line options to
 .BR debugfs .
 .TP
@@ -680,7 +682,6 @@
 .I pathname
 to have no other references, deallocate the file.  This command functions
 as the unlink() system call.
-.I
 .TP
 .BI rmdir " filespec"
 Remove the directory
@@ -717,7 +718,7 @@
 .I filespec
 as in use in the inode bitmap.  If
 .I num
-is specified, also set num-1 inodes after the specified inode.
+is specified, also set num\-1 inodes after the specified inode.
 .TP
 .BI set_inode_field " filespec field value"
 Modify the inode specified by
@@ -725,10 +726,10 @@
 so that the inode field
 .I field
 has value
-.I value.
+.IR value .
 The list of valid inode fields which can be set via this command
 can be displayed by using the command:
-.B set_inode_field -l
+.B set_inode_field \-l
 Also available as
 .BR sif .
 .TP
@@ -736,10 +737,10 @@
 Modify the multiple-mount protection (MMP) data so that the MMP field
 .I field
 has value
-.I value.
+.IR value .
 The list of valid MMP fields which can be set via this command
 can be displayed by using the command:
-.B set_mmp_value -l
+.B set_mmp_value \-l
 Also available as
 .BR smmp .
 .TP
@@ -747,10 +748,10 @@
 Set the superblock field
 .I field
 to
-.I value.
+.IR value .
 The list of valid superblock fields which can be set via this command
 can be displayed by using the command:
-.B set_super_value -l
+.B set_super_value \-l
 Also available as
 .BR ssv .
 .TP
@@ -759,9 +760,9 @@
 .B debugfs
 parameters such as information about currently opened file system.
 .TP
-.BI show_super_stats " [-h]"
+.BI show_super_stats " [\-h]"
 List the contents of the super block and the block group descriptors.  If the
-.I -h
+.I \-h
 flag is given, only print out the superblock contents. Also available as
 .BR stats .
 .TP
@@ -822,34 +823,34 @@
 into a newly-created file in the file system named
 .IR out_file .
 .TP
-.BI zap_block " [-f filespec] [-o offset] [-l length] [-p pattern] block_num"
+.BI zap_block " [\-f filespec] [\-o offset] [\-l length] [\-p pattern] block_num"
 Overwrite the block specified by
 .I block_num
 with zero (NUL) bytes, or if
-.I -p
+.I \-p
 is given use the byte specified by
 .IR pattern .
 If
-.I -f
+.I \-f
 is given then
 .I block_num
 is relative to the start of the file given by
 .IR filespec .
 The
-.I -o
+.I \-o
 and
-.I -l
+.I \-l
 options limit the range of bytes to zap to the specified
 .I offset
 and
 .I length
 relative to the start of the block.
 .TP
-.BI zap_block " [-f filespec] [-b bit] block_num"
+.BI zap_block " [\-f filespec] [\-b bit] block_num"
 Bit-flip portions of the physical
 .IR block_num .
 If
-.I -f
+.I \-f
 is given, then
 .I block_num
 is a logical block relative to the start of
diff --git a/doc/RelNotes/v1.47.1.txt b/doc/RelNotes/v1.47.1.txt
index ccc46d6..4e7d455 100644
--- a/doc/RelNotes/v1.47.1.txt
+++ b/doc/RelNotes/v1.47.1.txt
@@ -1,5 +1,5 @@
-E2fsprogs 1.47.1 (May 1, 2024)
-==============================
+E2fsprogs 1.47.1 (May 20, 2024)
+===============================
 
 Updates/Fixes since v1.47.0:
 
@@ -60,6 +60,16 @@
 the orphan_present feature is set, in preen mode, e2fsck will now clear
 the orphan_present feature flag silently.
 
+E2fsck will now perform more consistency checks on EA (extended
+attribute value) inodes.
+
+Fix a big where e2fsck could potentially leak an acl block when
+releasing an orphan inode.
+
+Avoid a divide by zero crash in libext2fs if the container
+infrastructure, such as lxcfs, reports that the system has zero CPU's
+via sysconf(_SC_NPROCESSORS_CONF).
+
 When resize2fs is performing an online resize, it's possible for reading
 the superblock can race with a kernel modifying the superblock with the
 checksum being invalid and causing the resize to fail with an bad
@@ -123,7 +133,8 @@
 
 Fixed/improved various Debian packaging issues.
 
-Update and clarify various man pages.  (Addresses Debian Bug #1038286)
+Update and clarify various man pages.  (Addresses Debian Bugs #1038286,
+#1041115)
 
 
 
@@ -169,6 +180,10 @@
 
 Fix various sanitizer, static code analysis, and compiler warnings.
 
+Synchronized changes from Android's AOSP e2fsprogs tree.
+
+Updated config.guess and config.sub with newer versions from the FSF.
+
 Add Romainian translation.
 
 Update Chinese, Czech, French, Malay, Polish, Swedish, and Ukrainian
diff --git a/doc/RelNotes/v1.47.2.txt b/doc/RelNotes/v1.47.2.txt
new file mode 100644
index 0000000..3c27e34
--- /dev/null
+++ b/doc/RelNotes/v1.47.2.txt
@@ -0,0 +1,92 @@
+E2fsprogs 1.47.2 (November 28, 2024) 283fcab2c9af
+====================================
+
+Updates/Fixes since v1.47.1:
+
+UI and Features
+---------------
+
+Drop the tune2fs -r option and replace it with -E revision=<fs-rev>.
+Revision 0 file systems are needed for compatibility with pre-1995 Linux
+kernels (older that version 1.2).  Most of the time, users shouldn't be
+using the -r option and they can confuse themselves and end up creating
+a file system that is missing most modern ext4 features, including no
+online resizing, no support for post-2038 timestamps, etc.  (Addresses
+Debian Bug #1086603)
+
+Add support for gnu.translator extended attributes in tar files fed to
+mke2fs -d.  (Addresses Github issue
+https://github.com/tytso/e2fsprogs/issues/192)
+
+
+Fixes
+-----
+
+Fix orphan_file support on big endian systems.
+
+Avoid a spurious failure in badblocks when -n or -w is specified twice.
+(Addresses Debian Bug #1087341)
+
+Fix a bug where e2fsck could skip checking a file systems with the
+orphan_file feature if there are orphaned files that need to be cleaned
+up.  (Addresses Red Hat Bugzilla 2318710, SuSE Bugzilla #1226043)
+
+Tune2fs will now upgrade a revision 0 file system to revision 1 before
+trying to change the inode size.  Otherwise, this could result in a
+corrupted file system.
+
+Fix fuse2fs --helpfull so that it displays the full help message.
+
+Allow resize2fs to perform an offline resize past the 256 TiB boundary
+(which the kernel could do as part of an online resize).
+
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+Speed up tune2fs -g when the group is not changed by the command.
+
+Fix build failures on GCC 15 due to it switched to using -std=c23 by
+default.  (Addresses Github issue
+https://github.com/tytso/e2fsprogs/issues/202)
+
+Fix build failure when linking fuse2fs with old (2.9.9) version of
+libfuse2 on aarch64.  This hack was needed to fix a regression caused by
+another hacky workaround needed to work around a build failure on
+mipsel64 thanks to glibc using different struct stat layouts depending
+_FILE_OFFSET_BITS is set and this caused failures when dynamic linking
+against libarchive on Debian's mipsel64.  (Sigh.)
+
+Fix unused parameter warnings for packages which including ext2fs.h.
+(Addresses Debian Bug #1082500)
+
+Fix bug where packages including ext2fs.h would get the 32-bit versions
+of the timestamp routines even on 64-bit platforms due to a missing
+SIZEOF_TIME_T autoconf definiton in public_config.h.
+
+Enable Continuous Integration testing in Debian's Salsa forge.
+
+Fix a memory leak in oss-fuzz test programs.
+
+Provide fuseext2 to replace the debian package src:fuse-umfuse-ext2.
+(Addresses Debian Bug #1085590, #1088838)
+
+Fix the f_badjour_encrypted test to write the error output from mke2fs
+and debugfs to a log file so it doesn't mess up the "make check" output
+and to make those error messages available in the case of test failure.
+
+Fix my_llseek() declaration when building against musl libc.
+
+Clean up groff warnings in man pages.  (Addresses Debian Bugs #1086892,
+#1082787, #1072866, #1087898)
+
+Document the orphan_file feature in the ext4(5) and tune2fs(8) man
+pages.  (Addresses Debian Bug #1073062)
+
+Allow building e2fsprogs without libarchive-dev installed to make life
+easier for bootstrapping for new Debian ports (Addresses Debian Bug
+#1078693)
+
+Various man page cleanups.
+
diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo
index c9931da..4fd4ca6 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.47.1)
+@settitle The EXT2FS Library (version 1.47.2)
 @synindex tp fn
 @comment %**end of header
 
@@ -60,8 +60,8 @@
 
 @title The EXT2FS Library
 @subtitle The EXT2FS Library
-@subtitle Version 1.47.1
-@subtitle May 2024
+@subtitle Version 1.47.2
+@subtitle November 2024
 
 @author by Theodore Ts'o
 
@@ -101,7 +101,7 @@
 
 @top The EXT2FS Library
 
-This manual documents the EXT2FS Library, version 1.47.1.
+This manual documents the EXT2FS Library, version 1.47.2.
 
 @menu
 * Introduction to the EXT2FS Library::  
diff --git a/e2fsck/e2fsck.h b/e2fsck/e2fsck.h
index 55738fd..ae1273d 100644
--- a/e2fsck/e2fsck.h
+++ b/e2fsck/e2fsck.h
@@ -533,6 +533,12 @@
 typedef __u64 ea_key_t;
 typedef __u64 ea_value_t;
 
+/*
+ * Special refcount value we use for inodes which have EA_INODE flag set but we
+ * do not yet know about any references.
+ */
+#define EA_INODE_NO_REFS (~(ea_value_t)0)
+
 extern errcode_t ea_refcount_create(size_t size, ext2_refcount_t *ret);
 extern void ea_refcount_free(ext2_refcount_t refcount);
 extern errcode_t ea_refcount_fetch(ext2_refcount_t refcount, ea_key_t ea_key,
diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c
index 8b6238e..eb73922 100644
--- a/e2fsck/pass1.c
+++ b/e2fsck/pass1.c
@@ -387,34 +387,71 @@
 	return 0;
 }
 
+static int alloc_ea_inode_refs(e2fsck_t ctx, struct problem_context *pctx)
+{
+	pctx->errcode = ea_refcount_create(0, &ctx->ea_inode_refs);
+	if (pctx->errcode) {
+		pctx->num = 4;
+		fix_problem(ctx, PR_1_ALLOCATE_REFCOUNT, pctx);
+		ctx->flags |= E2F_FLAG_ABORT;
+		return 0;
+	}
+	return 1;
+}
+
 static void inc_ea_inode_refs(e2fsck_t ctx, struct problem_context *pctx,
 			      struct ext2_ext_attr_entry *first, void *end)
 {
 	struct ext2_ext_attr_entry *entry = first;
 	struct ext2_ext_attr_entry *np = EXT2_EXT_ATTR_NEXT(entry);
+	ea_value_t refs;
 
 	while ((void *) entry < end && (void *) np < end &&
 	       !EXT2_EXT_IS_LAST_ENTRY(entry)) {
 		if (!entry->e_value_inum)
 			goto next;
-		if (!ctx->ea_inode_refs) {
-			pctx->errcode = ea_refcount_create(0,
-							   &ctx->ea_inode_refs);
-			if (pctx->errcode) {
-				pctx->num = 4;
-				fix_problem(ctx, PR_1_ALLOCATE_REFCOUNT, pctx);
-				ctx->flags |= E2F_FLAG_ABORT;
-				return;
-			}
-		}
-		ea_refcount_increment(ctx->ea_inode_refs, entry->e_value_inum,
-				      0);
+		if (!ctx->ea_inode_refs && !alloc_ea_inode_refs(ctx, pctx))
+			return;
+		ea_refcount_fetch(ctx->ea_inode_refs, entry->e_value_inum,
+				  &refs);
+		if (refs == EA_INODE_NO_REFS)
+			refs = 1;
+		else
+			refs += 1;
+		ea_refcount_store(ctx->ea_inode_refs, entry->e_value_inum, refs);
 	next:
 		entry = np;
 		np = EXT2_EXT_ATTR_NEXT(entry);
 	}
 }
 
+/*
+ * Make sure inode is tracked as EA inode. We use special EA_INODE_NO_REFS
+ * value if we didn't find any xattrs referencing this inode yet.
+ */
+static int track_ea_inode(e2fsck_t ctx, struct problem_context *pctx,
+			  ext2_ino_t ino)
+{
+	ea_value_t refs;
+
+	if (!ctx->ea_inode_refs && !alloc_ea_inode_refs(ctx, pctx))
+		return 0;
+
+	ea_refcount_fetch(ctx->ea_inode_refs, ino, &refs);
+	if (refs > 0)
+		return 1;
+
+	pctx->errcode = ea_refcount_store(ctx->ea_inode_refs, ino,
+					  EA_INODE_NO_REFS);
+	if (pctx->errcode) {
+		pctx->num = 5;
+		fix_problem(ctx, PR_1_ALLOCATE_REFCOUNT, pctx);
+		ctx->flags |= E2F_FLAG_ABORT;
+		return 0;
+	}
+	return 1;
+}
+
 static void check_ea_in_inode(e2fsck_t ctx, struct problem_context *pctx,
 			      struct ea_quota *ea_ibody_quota)
 {
@@ -510,6 +547,12 @@
 		} else {
 			blk64_t quota_blocks;
 
+			if (!ext2fs_has_feature_ea_inode(sb) &&
+			    fix_problem(ctx, PR_1_EA_INODE_FEATURE, pctx)) {
+				ext2fs_set_feature_ea_inode(sb);
+				ext2fs_mark_super_dirty(ctx->fs);
+			}
+
 			problem = check_large_ea_inode(ctx, entry, pctx,
 						       &quota_blocks);
 			if (problem != 0)
@@ -1502,6 +1545,17 @@
 			e2fsck_write_inode(ctx, ino, inode, "pass1");
 		}
 
+		if (inode->i_flags & EXT4_EA_INODE_FL) {
+			if (!LINUX_S_ISREG(inode->i_mode) &&
+			    fix_problem(ctx, PR_1_EA_INODE_NONREG, &pctx)) {
+				inode->i_flags &= ~EXT4_EA_INODE_FL;
+				e2fsck_write_inode(ctx, ino, inode, "pass1");
+			}
+			if (inode->i_flags & EXT4_EA_INODE_FL)
+				if (!track_ea_inode(ctx, &pctx, ino))
+					continue;
+		}
+
 		/* Conflicting inlinedata/extents inode flags? */
 		if ((inode->i_flags & EXT4_INLINE_DATA_FL) &&
 		    (inode->i_flags & EXT4_EXTENTS_FL)) {
@@ -2622,6 +2676,12 @@
 			problem_t problem;
 			blk64_t entry_quota_blocks;
 
+			if (!ext2fs_has_feature_ea_inode(fs->super) &&
+			    fix_problem(ctx, PR_1_EA_INODE_FEATURE, pctx)) {
+				ext2fs_set_feature_ea_inode(fs->super);
+				ext2fs_mark_super_dirty(fs);
+			}
+
 			problem = check_large_ea_inode(ctx, entry, pctx,
 						       &entry_quota_blocks);
 			if (problem && fix_problem(ctx, problem, pctx))
diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
index 08ab40f..036c002 100644
--- a/e2fsck/pass2.c
+++ b/e2fsck/pass2.c
@@ -1501,6 +1501,21 @@
 			problem = PR_2_NULL_NAME;
 		}
 
+		/*
+		 * Check if inode was tracked as EA inode and has actual
+		 * references from xattrs. In that case dir entry is likely
+		 * bogus and we want to clear it. The case of EA inode without
+		 * references from xattrs will be handled in pass 4.
+		 */
+		if (!problem && ctx->ea_inode_refs) {
+			ea_value_t refs;
+
+			ea_refcount_fetch(ctx->ea_inode_refs, dirent->inode,
+					  &refs);
+			if (refs && refs != EA_INODE_NO_REFS)
+				problem = PR_2_EA_INODE_DIR_LINK;
+		}
+
 		if (problem) {
 			if (fix_problem(ctx, problem, &cd->pctx)) {
 				dirent->inode = 0;
diff --git a/e2fsck/pass4.c b/e2fsck/pass4.c
index d2dda02..cf0cf7c 100644
--- a/e2fsck/pass4.c
+++ b/e2fsck/pass4.c
@@ -96,9 +96,10 @@
  * an xattr inode at all. Return immediately if EA_INODE flag is not set.
  */
 static void check_ea_inode(e2fsck_t ctx, ext2_ino_t i, ext2_ino_t *last_ino,
-			   struct ext2_inode_large *inode, __u16 *link_counted)
+			   struct ext2_inode_large *inode, __u16 *link_counted,
+			   ea_value_t actual_refs)
 {
-	__u64 actual_refs = 0;
+	struct problem_context pctx;
 	__u64 ref_count;
 
 	if (*last_ino != i) {
@@ -107,13 +108,26 @@
 				       "pass4: check_ea_inode");
 		*last_ino = i;
 	}
-	if (!(inode->i_flags & EXT4_EA_INODE_FL))
-		return;
 
-	if (ctx->ea_inode_refs)
-		ea_refcount_fetch(ctx->ea_inode_refs, i, &actual_refs);
-	if (!actual_refs)
+	clear_problem_context(&pctx);
+	pctx.ino = i;
+	pctx.inode = EXT2_INODE(inode);
+
+	/* No references to the inode from xattrs? */
+	if (actual_refs == EA_INODE_NO_REFS) {
+		/*
+		 * No references from directory hierarchy either? Inode will
+		 * will get attached to lost+found so clear EA_INODE_FL.
+		 * Otherwise this is likely a spuriously set flag so clear it.
+		 */
+		if (*link_counted == 0 ||
+		    fix_problem(ctx, PR_4_EA_INODE_SPURIOUS_FLAG, &pctx)) {
+			/* Clear EA_INODE_FL (likely a normal file) */
+			inode->i_flags &= ~EXT4_EA_INODE_FL;
+			e2fsck_write_inode(ctx, i, EXT2_INODE(inode), "pass4");
+		}
 		return;
+	}
 
 	/*
 	 * There are some attribute references, link_counted is now considered
@@ -127,10 +141,6 @@
 	 * However, their i_ctime and i_atime should be the same.
 	 */
 	if (ref_count != actual_refs && inode->i_ctime != inode->i_atime) {
-		struct problem_context pctx;
-
-		clear_problem_context(&pctx);
-		pctx.ino = i;
 		pctx.num = ref_count;
 		pctx.num2 = actual_refs;
 		if (fix_problem(ctx, PR_4_EA_INODE_REF_COUNT, &pctx)) {
@@ -188,6 +198,7 @@
 	/* Protect loop from wrap-around if s_inodes_count maxed */
 	for (i = 1; i <= fs->super->s_inodes_count && i > 0; i++) {
 		ext2_ino_t last_ino = 0;
+		ea_value_t ea_refs;
 		int isdir;
 
 		if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
@@ -211,13 +222,19 @@
 		ext2fs_icount_fetch(ctx->inode_link_info, i, &link_count);
 		ext2fs_icount_fetch(ctx->inode_count, i, &link_counted);
 
-		if (link_counted == 0) {
-			/*
-			 * link_counted is expected to be 0 for an ea_inode.
-			 * check_ea_inode() will update link_counted if
-			 * necessary.
-			 */
-			check_ea_inode(ctx, i, &last_ino, inode, &link_counted);
+		if (ctx->ea_inode_refs) {
+			ea_refcount_fetch(ctx->ea_inode_refs, i, &ea_refs);
+			if (ea_refs) {
+				/*
+				 * Final consolidation of EA inodes. We either
+				 * decide the inode is fine and set link_counted
+				 * to one, or we decide this is actually a
+				 * normal file and clear EA_INODE flag, or
+				 * decide the inode should just be deleted.
+				 */
+				check_ea_inode(ctx, i, &last_ino, inode,
+					       &link_counted, ea_refs);
+			}
 		}
 
 		if (link_counted == 0) {
diff --git a/e2fsck/problem.c b/e2fsck/problem.c
index 207ebbb..e433281 100644
--- a/e2fsck/problem.c
+++ b/e2fsck/problem.c
@@ -1309,6 +1309,16 @@
 	  N_("Orphan file @i %i is not in use, but contains data.  "),
 	  PROMPT_CLEAR, PR_PREEN_OK },
 
+	/* EA_INODE flag set on a non-regular file */
+	{ PR_1_EA_INODE_NONREG,
+	  N_("@i %i has the ea_inode flag set but is not a regular file.  "),
+	  PROMPT_CLEAR_FLAG, 0, 0, 0, 0 },
+
+	/* EA_INODE present but the file system is missing the ea_inode feature */
+	{ PR_1_EA_INODE_FEATURE,
+	  N_("@i %i references EA inode but @S is missing EA_INODE feature\n"),
+	  PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
+
 	/* Pass 1b errors */
 
 	/* Pass 1B: Rescan for duplicate/bad blocks */
@@ -1860,6 +1870,10 @@
 	   N_("Duplicate filename @E found.  "),
 	   PROMPT_CLEAR, 0, 0, 0, 0 },
 
+	/* Directory filename is null */
+	{ PR_2_EA_INODE_DIR_LINK,
+	  N_("@E references EA @i %Di.\n"),
+	  PROMPT_CLEAR, 0, 0, 0, 0 },
 
 	/* Pass 3 errors */
 
@@ -2102,6 +2116,10 @@
 	  N_("@d @i %i ref count set to overflow but could be exact value %N.  "),
 	  PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
 
+	{ PR_4_EA_INODE_SPURIOUS_FLAG,
+	  N_("Regular @f @i %i has EA_INODE flag set. "),
+	  PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
+
 	/* Pass 5 errors */
 
 	/* Pass 5: Checking group summary information */
diff --git a/e2fsck/problem.h b/e2fsck/problem.h
index b47b0c6..ef15b8c 100644
--- a/e2fsck/problem.h
+++ b/e2fsck/problem.h
@@ -734,6 +734,12 @@
 /* Orphan file inode is not in use, but contains data */
 #define PR_1_ORPHAN_FILE_NOT_CLEAR		0x010090
 
+/* Inode has EA_INODE_FL set but is not a regular file */
+#define PR_1_EA_INODE_NONREG			0x010091
+
+/* Inode references EA inode but ea_inode feature is not enabled */
+#define PR_1_EA_INODE_FEATURE			0x010092
+
 /*
  * Pass 1b errors
  */
@@ -1061,6 +1067,9 @@
 /* Non-unique filename found, but can't rename */
 #define PR_2_NON_UNIQUE_FILE_NO_RENAME	0x020054
 
+/* EA inode referenced from directory */
+#define PR_2_EA_INODE_DIR_LINK 0x020055
+
 /*
  * Pass 3 errors
  */
@@ -1203,6 +1212,9 @@
 /* Directory ref count set to overflow but it doesn't have to be */
 #define PR_4_DIR_OVERFLOW_REF_COUNT	0x040007
 
+/* EA_INODE_FL set on normal file linked from directory hierarchy */
+#define PR_4_EA_INODE_SPURIOUS_FLAG	0x040008
+
 /*
  * Pass 5 errors
  */
diff --git a/e2fsck/super.c b/e2fsck/super.c
index 60c690c..d6bbb63 100644
--- a/e2fsck/super.c
+++ b/e2fsck/super.c
@@ -196,7 +196,7 @@
 	__u32				count;
 
 	if (!ext2fs_inode_has_valid_blocks2(fs, EXT2_INODE(inode)))
-		return 0;
+		goto release_acl;
 
 	pb.buf = block_buf + 3 * ctx->fs->blocksize;
 	pb.ctx = ctx;
@@ -235,7 +235,7 @@
 	if (pb.truncated_blocks)
 		ext2fs_iblk_sub_blocks(fs, EXT2_INODE(inode),
 				pb.truncated_blocks);
-
+release_acl:
 	blk = ext2fs_file_acl_block(fs, EXT2_INODE(inode));
 	if (blk) {
 		retval = ext2fs_adjust_ea_refcount3(fs, blk, block_buf, -1,
@@ -605,8 +605,9 @@
 		 * Update checksum to match expected buffer contents with
 		 * appropriate block number.
 		 */
-		tail->ob_checksum = ext2fs_do_orphan_file_block_csum(fs,
-				pd->ino, pd->generation, blk, pd->buf);
+		tail->ob_checksum =
+			ext2fs_cpu_to_le32(ext2fs_do_orphan_file_block_csum(fs,
+				    pd->ino, pd->generation, blk, pd->buf));
 	}
 	if (!pd->clear) {
 		pd->errcode = io_channel_read_blk64(fs->io, blk, 1,
diff --git a/e2fsck/unix.c b/e2fsck/unix.c
index de20b21..7768f0e 100644
--- a/e2fsck/unix.c
+++ b/e2fsck/unix.c
@@ -371,6 +371,10 @@
 	if (ctx->options & E2F_OPT_JOURNAL_ONLY)
 		goto skip;
 
+	if (ext2fs_has_feature_orphan_file(fs->super) &&
+	    ext2fs_has_feature_orphan_present(fs->super))
+		return;
+
 	lastcheck = ext2fs_get_tstamp(sb, s_lastcheck);
 	if (lastcheck > ctx->now)
 		lastcheck -= ctx->time_fudge;
diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm
index 116edf6..7ff8749 100644
--- a/e2fsprogs.lsm
+++ b/e2fsprogs.lsm
@@ -1,15 +1,15 @@
 Begin3
 Title:          EXT2 Filesystem utilities
-Version:        1.47.1
-Entered-date:   2024-05-01
+Version:        1.47.2
+Entered-date:   2024-10-28
 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:   ftp.kernel.org /pub/linux/kernel/people/tytso/e2fsprogs
-                9704kB e2fsprogs-1.47.1.tar.gz
-                1kB    e2fsprogs-1.47.1.lsm
+                9732kB e2fsprogs-1.47.2.tar.gz
+                1kB    e2fsprogs-1.47.2.lsm
 pAlternate-site: download.sourceforge.net /pub/sourceforge/e2fsprogs
 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/3.x/4.x/5.x/6.x
 Copying-policy: GPL-2/LGPL-2
diff --git a/e2fsprogs.spec b/e2fsprogs.spec
index b11e55b..f502fce 100644
--- a/e2fsprogs.spec
+++ b/e2fsprogs.spec
@@ -5,7 +5,7 @@
 
 Summary: Utilities for managing ext2/ext3/ext4 filesystems
 Name: e2fsprogs
-Version: 1.47.1
+Version: 1.47.2
 Release: 0
 License: GPLv2
 Group: System Environment/Base
diff --git a/lib/blkid/Android.bp b/lib/blkid/Android.bp
index 891c74a..89e39ab 100644
--- a/lib/blkid/Android.bp
+++ b/lib/blkid/Android.bp
@@ -38,6 +38,9 @@
     shared_libs: ["libext2_uuid"],
 
     target: {
+        darwin: {
+            enabled: true,
+        },
         windows: {
             enabled: true,
         },
diff --git a/lib/blkid/llseek.c b/lib/blkid/llseek.c
index 5929864..edb6432 100644
--- a/lib/blkid/llseek.c
+++ b/lib/blkid/llseek.c
@@ -52,7 +52,7 @@
 
 #if SIZEOF_LONG == SIZEOF_LONG_LONG
 
-#define llseek lseek
+#define my_llseek lseek
 
 #else /* SIZEOF_LONG != SIZEOF_LONG_LONG */
 
diff --git a/lib/config.h.in b/lib/config.h.in
index 04cec72..819c433 100644
--- a/lib/config.h.in
+++ b/lib/config.h.in
@@ -12,6 +12,9 @@
 /* Define to 1 for features for use by ext4 developers */
 #undef CONFIG_DEVELOPER_FEATURES
 
+/* Define to 1 to completely disable libarchive */
+#undef CONFIG_DISABLE_LIBARCHIVE
+
 /* Define to 1 if using dlopen to access libarchive */
 #undef CONFIG_DLOPEN_LIBARCHIVE
 
diff --git a/lib/e2p/Android.bp b/lib/e2p/Android.bp
index bed92c1..02825cd 100644
--- a/lib/e2p/Android.bp
+++ b/lib/e2p/Android.bp
@@ -15,6 +15,7 @@
     host_supported: true,
     ramdisk_available: true,
     vendor_ramdisk_available: true,
+    vendor_available: true,
     recovery_available: true,
     unique_host_soname: true,
     defaults: ["e2fsprogs-defaults"],
diff --git a/lib/et/Android.bp b/lib/et/Android.bp
index 565feb5..5d4a129 100644
--- a/lib/et/Android.bp
+++ b/lib/et/Android.bp
@@ -18,6 +18,7 @@
     ramdisk_available: true,
     vendor_ramdisk_available: true,
     recovery_available: true,
+    vendor_available: true,
     unique_host_soname: true,
     defaults: ["e2fsprogs-defaults"],
     srcs: [
diff --git a/lib/ext2fs/Android.bp b/lib/ext2fs/Android.bp
index db8b3b7..af4c2db 100644
--- a/lib/ext2fs/Android.bp
+++ b/lib/ext2fs/Android.bp
@@ -19,6 +19,7 @@
     host_supported: true,
     ramdisk_available: true,
     vendor_ramdisk_available: true,
+    vendor_available: true,
     recovery_available: true,
     unique_host_soname: true,
     defaults: ["e2fsprogs-defaults"],
diff --git a/lib/ext2fs/e2image.h b/lib/ext2fs/e2image.h
index 53b20cc..143e0dc 100644
--- a/lib/ext2fs/e2image.h
+++ b/lib/ext2fs/e2image.h
@@ -26,8 +26,9 @@
 
 	__u32	image_device;	/* Device number of image file */
 	__u32	image_inode;	/* Inode number of image file */
-	__u32	image_time;	/* Time of image creation */
-	__u32	image_reserved[8];
+	__u32	image_time_lo;	/* Time of image creation */
+	__u32	image_time_hi;	/* High bits of image test creation */
+	__u32	image_reserved[7];
 
 	__u32	offset_super;	/* Byte offset of the sb and descriptors */
 	__u32	offset_inode;	/* Byte offset of the inode table  */
diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h
index 586141f..3a5eb73 100644
--- a/lib/ext2fs/ext2_fs.h
+++ b/lib/ext2fs/ext2_fs.h
@@ -1122,8 +1122,8 @@
 
 /* Structure at the tail of orphan block */
 struct ext4_orphan_block_tail {
-	__u32 ob_magic;
-	__u32 ob_checksum;
+	__le32 ob_magic;
+	__le32 ob_checksum;
 };
 
 /*
diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
index 6e87829..ff22f66 100644
--- a/lib/ext2fs/ext2fs.h
+++ b/lib/ext2fs/ext2fs.h
@@ -585,7 +585,8 @@
  */
 #define EXT2_I_SIZE(i)	((i)->i_size | ((__u64) (i)->i_size_high << 32))
 
-static inline __u32 __encode_extra_time(time_t seconds, __u32 nsec)
+static inline __u32 __encode_extra_time(time_t seconds EXT2FS_ATTR((unused)),
+					__u32 nsec)
 {
 	__u32 extra = 0;
 
@@ -595,7 +596,8 @@
 #endif
 	return extra | (nsec << EXT4_EPOCH_BITS);
 }
-static inline time_t __decode_extra_sec(time_t seconds, __u32 extra)
+static inline time_t __decode_extra_sec(time_t seconds,
+					__u32 extra EXT2FS_ATTR((unused)))
 {
 #if (SIZEOF_TIME_T > 4)
 	if (extra & EXT4_EPOCH_MASK)
@@ -630,7 +632,8 @@
 		((struct ext2_inode_large *)(inode))->field ## _extra) :      \
 		(time_t)(inode)->field)
 
-static inline void __sb_set_tstamp(__u32 *lo, __u8 *hi, time_t seconds)
+static inline void __sb_set_tstamp(__u32 *lo, __u8 *hi EXT2FS_ATTR((unused)),
+				   time_t seconds)
 {
 	*lo = seconds & 0xffffffff;
 #if (SIZEOF_TIME_T > 4)
@@ -639,7 +642,7 @@
 	*hi = 0;
 #endif
 }
-static inline time_t __sb_get_tstamp(__u32 *lo, __u8 *hi)
+static inline time_t __sb_get_tstamp(__u32 *lo, __u8 *hi EXT2FS_ATTR((unused)))
 {
 #if (SIZEOF_TIME_T == 4)
 	return *lo;
diff --git a/lib/ext2fs/orphan.c b/lib/ext2fs/orphan.c
index 913eb9a..e256fd2 100644
--- a/lib/ext2fs/orphan.c
+++ b/lib/ext2fs/orphan.c
@@ -58,7 +58,7 @@
 	crc = ext2fs_crc32c_le(crc, (unsigned char *)buf,
 				inodes_per_ob * sizeof(__u32));
 
-	return ext2fs_cpu_to_le32(crc);
+	return crc;
 }
 
 struct mkorphan_info {
@@ -101,8 +101,9 @@
 			struct ext4_orphan_block_tail *tail;
 
 			tail = ext2fs_orphan_block_tail(fs, oi->buf);
-			tail->ob_checksum = ext2fs_do_orphan_file_block_csum(fs,
-				oi->ino, oi->generation, new_blk, oi->buf);
+			tail->ob_checksum =
+		ext2fs_cpu_to_le32(ext2fs_do_orphan_file_block_csum(fs,
+				    oi->ino, oi->generation, new_blk, oi->buf));
 		}
 		err = io_channel_write_blk64(fs->io, new_blk, 1, oi->buf);
 	} else	/* zerobuf is used to initialize new indirect blocks... */
@@ -249,13 +250,14 @@
 					    blk64_t blk, char *buf)
 {
 	struct ext4_orphan_block_tail *tail;
+	__u32 crc;
 
 	if (!ext2fs_has_feature_metadata_csum(fs->super))
 		return 0;
 
 	tail = ext2fs_orphan_block_tail(fs, buf);
-	return ext2fs_orphan_file_block_csum(fs, ino, blk, buf,
-					     &tail->ob_checksum);
+	return ext2fs_orphan_file_block_csum(fs, ino, blk, buf, &crc);
+	tail->ob_checksum = ext2fs_cpu_to_le32(crc);
 }
 
 int ext2fs_orphan_file_block_csum_verify(ext2_filsys fs, ext2_ino_t ino,
diff --git a/lib/ext2fs/qcow2.h b/lib/ext2fs/qcow2.h
index b649c9c..343e85a 100644
--- a/lib/ext2fs/qcow2.h
+++ b/lib/ext2fs/qcow2.h
@@ -24,6 +24,8 @@
  * %End-Header%
  */
 
+#include <ext2fs/ext2_types.h>
+
 /* Number of l2 tables in memory before writeback */
 #define L2_CACHE_PREALLOC	512
 
diff --git a/lib/ext2fs/rbtree.h b/lib/ext2fs/rbtree.h
index 790f5c1..b96e6f2 100644
--- a/lib/ext2fs/rbtree.h
+++ b/lib/ext2fs/rbtree.h
@@ -163,7 +163,7 @@
 extern struct rb_node *ext2fs_rb_last(const struct rb_root *);
 
 /* Fast replacement of a single node without remove/rebalance/add/rebalance */
-extern void ext2fs_rb_replace_node(struct rb_node *victim, struct rb_node *new,
+extern void ext2fs_rb_replace_node(struct rb_node *victim, struct rb_node *new_,
 				 struct rb_root *root);
 
 static inline void ext2fs_rb_link_node(struct rb_node * node,
diff --git a/lib/ext2fs/rw_bitmaps.c b/lib/ext2fs/rw_bitmaps.c
index 1fe65f7..1da75e4 100644
--- a/lib/ext2fs/rw_bitmaps.c
+++ b/lib/ext2fs/rw_bitmaps.c
@@ -557,7 +557,7 @@
 	 * MacOS, FreeBSD, etc.
 	 * ref: https://stackoverflow.com/questions/150355
 	 */
-	if (num_threads < 0)
+	if (num_threads <= 0)
 		num_threads = 4;
 
 	if ((unsigned) num_threads > fs->group_desc_count)
diff --git a/lib/ext2fs/tdb.c b/lib/ext2fs/tdb.c
index b07b291..98dc95d 100644
--- a/lib/ext2fs/tdb.c
+++ b/lib/ext2fs/tdb.c
@@ -110,7 +110,9 @@
 #endif
 #endif
 
+#if defined __STDC__ && defined __STDC_VERSION__ && __STDC_VERSION__ <= 201710L
 typedef int bool;
+#endif
 
 #include "tdb.h"
 
diff --git a/lib/support/Android.bp b/lib/support/Android.bp
index af9b28d..ded3d40 100644
--- a/lib/support/Android.bp
+++ b/lib/support/Android.bp
@@ -15,6 +15,7 @@
     host_supported: true,
     ramdisk_available: true,
     vendor_ramdisk_available: true,
+    vendor_available: true,
     recovery_available: true,
     unique_host_soname: true,
     defaults: ["e2fsprogs-defaults"],
diff --git a/lib/support/Makefile.in b/lib/support/Makefile.in
index b622909..3f26cd3 100644
--- a/lib/support/Makefile.in
+++ b/lib/support/Makefile.in
@@ -137,10 +137,11 @@
  $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
  $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/nls-enable.h
 print_fs_flags.o: $(srcdir)/print_fs_flags.c $(top_builddir)/lib/config.h \
- $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
- $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
- $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
- $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/print_fs_flags.h \
+ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
+ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
+ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h \
  $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
  $(top_srcdir)/lib/ext2fs/bitops.h
 profile.o: $(srcdir)/profile.c $(top_builddir)/lib/config.h \
diff --git a/lib/support/print_fs_flags.c b/lib/support/print_fs_flags.c
index f47cd66..093820f 100644
--- a/lib/support/print_fs_flags.c
+++ b/lib/support/print_fs_flags.c
@@ -14,6 +14,7 @@
 #include "config.h"
 #include <stdio.h>
 
+#include "print_fs_flags.h"
 #include "ext2fs/ext2fs.h"
 
 struct flags_name {
diff --git a/lib/support/quotaio.h b/lib/support/quotaio.h
index 390f7dc..6152416 100644
--- a/lib/support/quotaio.h
+++ b/lib/support/quotaio.h
@@ -101,8 +101,8 @@
 
 /* Generic information about quotafile */
 struct util_dqinfo {
-	time_t dqi_bgrace;	/* Block grace time for given quotafile */
-	time_t dqi_igrace;	/* Inode grace time for given quotafile */
+	__u32 dqi_bgrace;	/* Block grace time for given quotafile */
+	__u32 dqi_igrace;	/* Inode grace time for given quotafile */
 	union {
 		struct v2_mem_dqinfo v2_mdqi;
 	} u;			/* Format specific info about quotafile */
@@ -137,8 +137,8 @@
 	qsize_t dqb_bhardlimit;
 	qsize_t dqb_bsoftlimit;
 	qsize_t dqb_curspace;
-	time_t dqb_btime;
-	time_t dqb_itime;
+	__u64 dqb_btime;
+	__u64 dqb_itime;
 	union {
 		struct v2_mem_dqblk v2_mdqb;
 	} u;			/* Format specific dquot information */
diff --git a/lib/uuid/Android.bp b/lib/uuid/Android.bp
index 3e6048d..279592b 100644
--- a/lib/uuid/Android.bp
+++ b/lib/uuid/Android.bp
@@ -40,6 +40,9 @@
         "uuid_time.c",
     ],
     target: {
+        darwin: {
+            enabled: true,
+        },
         windows: {
             enabled: true,
         },
diff --git a/misc/Android.bp b/misc/Android.bp
index 0656bf4..4edac23 100644
--- a/misc/Android.bp
+++ b/misc/Android.bp
@@ -18,6 +18,7 @@
     name: "libext2_misc",
     host_supported: true,
     recovery_available: true,
+    vendor_available: true,
     defaults: ["e2fsprogs-defaults"],
 
     target: {
@@ -58,6 +59,7 @@
 cc_binary {
     name: "mke2fs",
     host_supported: true,
+    vendor_available: true,
     defaults: ["mke2fs_defaults"],
     target: {
         host: {
@@ -126,7 +128,7 @@
             symlinks: ["mkfs.ext4.microdroid"],
         },
     },
-    installable: false,
+    no_full_install: true,
     stem: "mke2fs",
     visibility: ["//packages/modules/Virtualization/microdroid"],
 }
@@ -191,9 +193,8 @@
 //########################################################################
 // Build badblocks
 
-cc_binary {
+cc_binary_host {
     name: "badblocks",
-    host_supported: true,
     defaults: ["e2fsprogs-defaults"],
 
     srcs: ["badblocks.c"],
diff --git a/misc/Makefile.in b/misc/Makefile.in
index 37c2699..8769620 100644
--- a/misc/Makefile.in
+++ b/misc/Makefile.in
@@ -107,6 +107,7 @@
 		$(srcdir)/filefrag.c $(srcdir)/base_device.c \
 		$(srcdir)/ismounted.c $(srcdir)/e2undo.c \
 		$(srcdir)/e2freefrag.c $(srcdir)/create_inode.c \
+		$(srcdir)/create_inode_libarchive.c \
 		$(srcdir)/fuse2fs.c $(srcdir)/e2fuzz.c \
 		$(srcdir)/check_fuzzer.c \
 		$(srcdir)/../debugfs/journal.c $(srcdir)/../e2fsck/revoke.c \
@@ -857,16 +858,16 @@
  $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
  $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h \
  $(srcdir)/create_inode.h $(top_srcdir)/lib/e2p/e2p.h \
- $(top_srcdir)/lib/support/nls-enable.h
+ $(top_srcdir)/lib/support/nls-enable.h $(srcdir)/create_inode_libarchive.h
 create_inode_libarchive.o: $(srcdir)/create_inode_libarchive.c \
- $(top_builddir)/lib/config.h \
- $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
- $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
- $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
- $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/create_inode.h \
+ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h \
  $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
- $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h \
- $(srcdir)/create_inode.h $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/create_inode_libarchive.h \
  $(top_srcdir)/lib/support/nls-enable.h
 fuse2fs.o: $(srcdir)/fuse2fs.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
diff --git a/misc/badblocks.c b/misc/badblocks.c
index 2b5ff6d..2fc1b0d 100644
--- a/misc/badblocks.c
+++ b/misc/badblocks.c
@@ -1119,13 +1119,13 @@
 			v_flag++;
 			break;
 		case 'w':
-			if (w_flag)
+			if (w_flag && w_flag != 1)
 				exclusive_usage();
 			test_func = test_rw;
 			w_flag = 1;
 			break;
 		case 'n':
-			if (w_flag)
+			if (w_flag && w_flag != 2)
 				exclusive_usage();
 			test_func = test_nd;
 			w_flag = 2;
diff --git a/misc/create_inode_libarchive.c b/misc/create_inode_libarchive.c
index 8705eb1..d14efe8 100644
--- a/misc/create_inode_libarchive.c
+++ b/misc/create_inode_libarchive.c
@@ -13,20 +13,50 @@
 #define _GNU_SOURCE 1
 
 #include "config.h"
-#include <ext2fs/ext2_types.h>
 #include "create_inode.h"
 #include "create_inode_libarchive.h"
 #include "support/nls-enable.h"
 
-#ifdef HAVE_ARCHIVE_H
+#ifdef CONFIG_DISABLE_LIBARCHIVE
+
+/* If ./configure was run with --without-libarchive, then only
+ * __populate_fs_from_tar() remains in this file and will return an error. */
+errcode_t __populate_fs_from_tar(ext2_filsys, ext2_ino_t, const char *,
+                                 ext2_ino_t, struct hdlinks_s *,
+                                 struct file_info *,
+                                 struct fs_ops_callbacks *) {
+  com_err(__func__, 0,
+          _("you need to compile e2fsprogs without --without-libarchive"
+            "be able to process tarballs"));
+  return 1;
+}
+
+#else
+
+/* If ./configure was NOT run with --without-libarchive, then build with
+ * support for dlopen()-ing libarchive at runtime. This will also work even
+ * if archive.h is not available at compile-time. See the comment below. */
 
 /* 64KiB is the minimum blksize to best minimize system call overhead. */
 //#define COPY_FILE_BUFLEN 65536
 //#define COPY_FILE_BUFLEN 1048576
 #define COPY_FILE_BUFLEN 16777216
 
+/* If archive.h was found, include it as usual. To support easier
+ * bootstrapping, also allow compilation without archive.h present by
+ * declaring the necessary opaque structs and preprocessor definitions. */
+#ifdef HAVE_ARCHIVE_H
 #include <archive.h>
 #include <archive_entry.h>
+#else
+struct archive;
+struct archive_entry;
+#define	ARCHIVE_EOF	  1	/* Found end of archive. */
+#define	ARCHIVE_OK	  0	/* Operation was successful. */
+#include <unistd.h>  /* ssize_t */
+typedef ssize_t la_ssize_t;
+#endif /* HAVE_ARCHIVE_H */
+
 #include <libgen.h>
 #include <locale.h>
 
@@ -175,7 +205,7 @@
 
 	return 1;
 }
-#endif
+#endif /* CONFIG_DLOPEN_LIBARCHIVE */
 
 static errcode_t __find_path(ext2_filsys fs, ext2_ino_t root, const char *name,
 			     ext2_ino_t *inode)
@@ -442,7 +472,7 @@
 	dl_archive_entry_xattr_reset(entry);
 	while (dl_archive_entry_xattr_next(entry, &name, &value, &value_size) ==
 	       ARCHIVE_OK) {
-		if (strcmp(name, "security.capability") != 0)
+		if (strcmp(name, "security.capability") != 0 && strcmp(name, "gnu.translator"))
 			continue;
 
 		retval = ext2fs_xattr_set(handle, name, value, value_size);
@@ -541,7 +571,6 @@
 	}
 	return 0;
 }
-#endif
 
 errcode_t __populate_fs_from_tar(ext2_filsys fs, ext2_ino_t root_ino,
 				 const char *source_tar, ext2_ino_t root,
@@ -549,12 +578,6 @@
 				 struct file_info *target,
 				 struct fs_ops_callbacks *fs_callbacks)
 {
-#ifndef HAVE_ARCHIVE_H
-	com_err(__func__, 0,
-		_("you need to compile e2fsprogs with libarchive to "
-		  "be able to process tarballs"));
-	return 1;
-#else
 	char *path2, *path3, *dir, *name;
 	unsigned int dir_exists;
 	struct archive *a;
@@ -700,5 +723,6 @@
 	uselocale(old_locale);
 	freelocale(archive_locale);
 	return retval;
-#endif
 }
+
+#endif /* CONFIG_DISABLE_LIBARCHIVE */
diff --git a/misc/e2image.8.in b/misc/e2image.8.in
index 90ea0c2..384ef30 100644
--- a/misc/e2image.8.in
+++ b/misc/e2image.8.in
@@ -55,7 +55,7 @@
 It is a very good idea to create image files for all file systems on a
 system and save the partition layout (which can be generated using the
 .B fdisk \-l
-command) at regular intervals --- at boot time, and/or every week or so.
+command) at regular intervals \(em at boot time, and/or every week or so.
 The image file should be stored on some file system other than
 the file system whose data it contains, to ensure that this data is
 accessible in the case where the file system has been badly damaged.
@@ -127,7 +127,7 @@
 with a particular blocksize. If the superblock is not found, e2image will
 terminate with a fatal error.
 .TP
-.BI \-c
+.B \-c
 Compare each block to be copied from the source
 .I device
 to the corresponding block in the target
@@ -216,7 +216,7 @@
 .BR dumpe2fs (8),
 .BR e2fsck (8),
 .BR losetup (8),
-etc. and can be run directly on the raw image file.  In order to minimize
+etc. can be run directly on the raw image file.  In order to minimize
 the amount of disk space consumed by the raw image file, it is
 created as a sparse file.  (Beware of copying or
 compressing/decompressing this file with utilities that don't understand
@@ -230,7 +230,6 @@
 .B hda1
 with the appropriate device for your system):
 .PP
-.br
 	\fBe2image \-r /dev/hda1 \- | bzip2 > hda1.e2i.bz2\fR
 .PP
 This will only send the metadata information, without any data blocks.
@@ -260,10 +259,9 @@
 .B hda1
 with the appropriate device for your system):
 .PP
+\&	\fBe2image \-Q /dev/hda1 hda1.qcow2\fR
 .br
-\	\fBe2image \-Q /dev/hda1 hda1.qcow2\fR
-.br
-\	\fBbzip2 -z hda1.qcow2\fR
+\&	\fBbzip2 -z hda1.qcow2\fR
 .PP
 This will only send the metadata information, without any data blocks.
 As described for
@@ -280,8 +278,7 @@
 .PP
 You can convert a .qcow2 image into a raw image with:
 .PP
-.br
-\	\fBe2image \-r hda1.qcow2 hda1.raw\fR
+\&	\fBe2image \-r hda1.qcow2 hda1.raw\fR
 .br
 .PP
 This can be useful to write a QCOW2 image containing all data to a
@@ -305,15 +302,13 @@
 image of a whole hard drive that contains an ext2 fs in a partition
 starting at 1 MiB, you can clone that image to a block device with:
 .PP
-.br
-\	\fBe2image \-aro 1048576 img /dev/sda1\fR
+\&	\fBe2image \-aro 1048576 img /dev/sda1\fR
 .br
 .PP
 Or you can clone a file system from a block device into an image file,
 leaving room in the first MiB for a partition table with:
 .PP
-.br
-\	\fBe2image -arO 1048576 /dev/sda1 img\fR
+\&	\fBe2image -arO 1048576 /dev/sda1 img\fR
 .br
 .PP
 If you specify at least one offset, and only one file, an in-place
diff --git a/misc/e2image.c b/misc/e2image.c
index 1ae0300..a926724 100644
--- a/misc/e2image.c
+++ b/misc/e2image.c
@@ -239,6 +239,7 @@
 	struct ext2_image_hdr	hdr;
 	struct stat		st;
 	errcode_t		retval;
+	time_t			now = time(0);
 
 	write_header(fd, NULL, sizeof(struct ext2_image_hdr), fs->blocksize);
 	memset(&hdr, 0, sizeof(struct ext2_image_hdr));
@@ -292,7 +293,12 @@
 	}
 	memcpy(hdr.fs_uuid, fs->super->s_uuid, sizeof(hdr.fs_uuid));
 
-	hdr.image_time = ext2fs_cpu_to_le32(time(0));
+	hdr.image_time_lo = ext2fs_cpu_to_le32(now & 0xFFFFFFFF);
+#if (SIZEOF_TIME_T > 4)
+	hdr.image_time_hi = ext2fs_cpu_to_le32(now >> 32);
+#else
+	hdr.image_time_hi = 0;
+#endif
 	write_header(fd, &hdr, sizeof(struct ext2_image_hdr), fs->blocksize);
 }
 
diff --git a/misc/e4defrag.c b/misc/e4defrag.c
index e3011d7..5bfa6ff 100644
--- a/misc/e4defrag.c
+++ b/misc/e4defrag.c
@@ -1206,9 +1206,8 @@
 
 	if (mode_flag & DETAIL) {
 		/* Print statistic info */
-		sprintf(msg_buffer, "[%u/%u]%.*s",
-				defraged_file_count, total_count,
-			PATH_MAX, file);
+		snprintf(msg_buffer, sizeof(msg_buffer), "[%u/%u]%.*s",
+			 defraged_file_count, total_count, PATH_MAX, file);
 		if (current_uid == ROOT_UID) {
 			if (strlen(msg_buffer) > 40)
 				printf("\033[79;0H\033[K%s\n"
diff --git a/misc/ext4.5.in b/misc/ext4.5.in
index c835a34..e909fd1 100644
--- a/misc/ext4.5.in
+++ b/misc/ext4.5.in
@@ -1,3 +1,4 @@
+'\" t
 .\" -*- nroff -*-
 .\" Copyright 1993, 1994, 1995 by Theodore Ts'o.  All Rights Reserved.
 .\" This file may be copied under the terms of the GNU Public License.
@@ -189,7 +190,7 @@
 option to
 .BR mke2fs (8)
 or
-.BR tune2fs(8) .
+.BR tune2fs 8) .
 .TP
 .B large_dir
 .br
@@ -244,6 +245,13 @@
 protect the file system from being multiply mounted and is useful in
 shared storage environments.
 .TP
+.B orphan_file
+.br
+This ext4 feature fixes a potential scalability bottleneck for workloads
+that are doing a large number of truncate or file extensions in
+parallel.  It is supported by Linux kernels starting version 5.15, and
+by e2fsprogs starting with version 1.47.0.
+.TP
 .B project
 .br
 This ext4 feature provides project quota support. With this feature,
@@ -455,7 +463,7 @@
 option to print out where the superblocks exist, supposing
 .B mke2fs
 is supplied with arguments that are consistent with the file system's layout
-(e.g. blocksize, blocks per group,
+(e.g., blocksize, blocks per group,
 .BR sparse_super ,
 etc.).
 .IP
@@ -516,7 +524,7 @@
 .B data_err=abort
 Abort the journal if an error occurs in a file data buffer in ordered mode.
 .TP
-.BR barrier=0 " / " barrier=1 "
+.BR barrier=0 " / " barrier=1
 This disables / enables the use of write barriers in the jbd code.  barrier=0
 disables, barrier=1 enables (default). This also requires an IO stack which can
 support barriers, and if jbd gets an error on a barrier write, it will disable
@@ -688,7 +696,7 @@
 beyond the specified limit in kilobytes will cause an ENOSPC error. This is
 useful in memory-constrained environments, where a very large directory can
 cause severe performance problems or even provoke the Out Of Memory killer. (For
-example, if there is only 512\ MB memory available, a 176\ MB directory may
+example, if there is only 512\~MiB memory available, a 176\~MiB directory may
 seriously cramp the system's style.)
 .TP
 .B i_version
@@ -712,27 +720,27 @@
 .BR chattr (1)
 utility:
 .sp
-.BR a " - append only"
+.BR a " \- append only"
 .sp
-.BR A " - no atime updates"
+.BR A " \- no atime updates"
 .sp
-.BR d " - no dump"
+.BR d " \- no dump"
 .sp
-.BR D " - synchronous directory updates"
+.BR D " \- synchronous directory updates"
 .sp
-.BR i " - immutable"
+.BR i " \- immutable"
 .sp
-.BR S " - synchronous updates"
+.BR S " \- synchronous updates"
 .sp
-.BR u " - undeletable"
+.BR u " \- undeletable"
 .sp
 In addition, the ext3 and ext4 file systems support the following flag:
 .sp
-.BR j " - data journaling"
+.BR j " \- data journaling"
 .sp
 Finally, the ext4 file system also supports the following flag:
 .sp
-.BR e " - extents format"
+.BR e " \- extents format"
 .sp
 For descriptions of these attribute flags, please refer to the
 .BR chattr (1)
@@ -746,49 +754,49 @@
 that some distributions may have backported features into older kernels;
 in particular the kernel versions in certain "enterprise distributions"
 can be extremely misleading.
-.IP "\fBfiletype\fR" 2in
+.IP "\fBfiletype\fR" 2i
 ext2, 2.2.0
-.IP "\fBsparse_super\fR" 2in
+.IP "\fBsparse_super\fR" 2i
 ext2, 2.2.0
-.IP "\fBlarge_file\fR" 2in
+.IP "\fBlarge_file\fR" 2i
 ext2, 2.2.0
-.IP "\fBhas_journal\fR" 2in
+.IP "\fBhas_journal\fR" 2i
 ext3, 2.4.15
-.IP "\fBext_attr\fR" 2in
+.IP "\fBext_attr\fR" 2i
 ext2/ext3, 2.6.0
-.IP "\fBdir_index\fR" 2in
+.IP "\fBdir_index\fR" 2i
 ext3, 2.6.0
-.IP "\fBresize_inode\fR" 2in
+.IP "\fBresize_inode\fR" 2i
 ext3, 2.6.10 (online resizing)
-.IP "\fB64bit\fR" 2in
+.IP "\fB64bit\fR" 2i
 ext4, 2.6.28
-.IP "\fBdir_nlink\fR" 2in
+.IP "\fBdir_nlink\fR" 2i
 ext4, 2.6.28
-.IP "\fBextent\fR" 2in
+.IP "\fBextent\fR" 2i
 ext4, 2.6.28
-.IP "\fBextra_isize\fR" 2in
+.IP "\fBextra_isize\fR" 2i
 ext4, 2.6.28
-.IP "\fBflex_bg\fR" 2in
+.IP "\fBflex_bg\fR" 2i
 ext4, 2.6.28
-.IP "\fBhuge_file\fR" 2in
+.IP "\fBhuge_file\fR" 2i
 ext4, 2.6.28
-.IP "\fBmeta_bg\fR" 2in
+.IP "\fBmeta_bg\fR" 2i
 ext4, 2.6.28
-.IP "\fBuninit_bg\fR" 2in
+.IP "\fBuninit_bg\fR" 2i
 ext4, 2.6.28
-.IP "\fBmmp\fR" 2in
+.IP "\fBmmp\fR" 2i
 ext4, 3.0
-.IP "\fBbigalloc\fR" 2in
+.IP "\fBbigalloc\fR" 2i
 ext4, 3.2
-.IP "\fBquota\fR" 2in
+.IP "\fBquota\fR" 2i
 ext4, 3.6
-.IP "\fBinline_data\fR" 2in
+.IP "\fBinline_data\fR" 2i
 ext4, 3.8
-.IP "\fBsparse_super2\fR" 2in
+.IP "\fBsparse_super2\fR" 2i
 ext4, 3.16
-.IP "\fBmetadata_csum\fR" 2in
+.IP "\fBmetadata_csum\fR" 2i
 ext4, 3.18
-.IP "\fBencrypt\fR" 2in
+.IP "\fBencrypt\fR" 2i
 ext4, 4.1
 .IP "\fBmetadata_csum_seed\fR" 2i
 ext4, 4.4
diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c
index 56a0d54..a6390ab 100644
--- a/misc/fuse2fs.c
+++ b/misc/fuse2fs.c
@@ -26,7 +26,23 @@
 #endif
 #include <sys/ioctl.h>
 #include <unistd.h>
+#ifdef __SET_FOB_FOR_FUSE
+# error Do not set magic value __SET_FOB_FOR_FUSE!!!!
+#endif
+#ifndef _FILE_OFFSET_BITS
+/*
+ * Old versions of libfuse (e.g. Debian 2.9.9 package) required that the build
+ * system set _FILE_OFFSET_BITS explicitly, even if doing so isn't required to
+ * get a 64-bit off_t.  AC_SYS_LARGEFILE doesn't set any _FILE_OFFSET_BITS if
+ * it's not required (such as on aarch64), so we must inject it here.
+ */
+# define __SET_FOB_FOR_FUSE
+# define _FILE_OFFSET_BITS 64
+#endif /* _FILE_OFFSET_BITS */
 #include <fuse.h>
+#ifdef __SET_FOB_FOR_FUSE
+# undef _FILE_OFFSET_BITS
+#endif /* __SET_FOB_FOR_FUSE */
 #include <inttypes.h>
 #include "ext2fs/ext2fs.h"
 #include "ext2fs/ext2_fs.h"
@@ -3759,7 +3775,7 @@
 	"\n",
 			outargs->argv[0]);
 		if (key == FUSE2FS_HELPFULL) {
-			fuse_opt_add_arg(outargs, "-ho");
+			fuse_opt_add_arg(outargs, "-h");
 			fuse_main(outargs->argc, outargs->argv, &fs_ops, NULL);
 		} else {
 			fprintf(stderr, "Try --helpfull to get a list of "
diff --git a/misc/lsattr.1.in b/misc/lsattr.1.in
index 4d02a95..9884a4d 100644
--- a/misc/lsattr.1.in
+++ b/misc/lsattr.1.in
@@ -1,7 +1,7 @@
 .\" -*- nroff -*-
 .TH LSATTR 1 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-lsattr \- list file attributes on a Linux second extended file system
+lsattr \- list ext2/ext3/ext4 file attributes
 .SH SYNOPSIS
 .B lsattr
 [
@@ -12,7 +12,7 @@
 ]
 .SH DESCRIPTION
 .B lsattr
-lists the file attributes on a second extended file system.  See
+lists the file attributes on an ext2/ext3/ext4 file system.  See
 .BR chattr (1)
 for a description of the attributes and what they mean.
 .SH OPTIONS
diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in
index c12b607..4ff564b 100644
--- a/misc/mke2fs.8.in
+++ b/misc/mke2fs.8.in
@@ -74,10 +74,6 @@
 .B \-q
 ]
 [
-.B \-r
-.I fs-revision-level
-]
-[
 .B \-E
 .I extended-options
 ]
@@ -284,6 +280,21 @@
 The following extended options are supported:
 .RS 1.2i
 .TP
+.B assume_storage_prezeroed\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled,
+.BR mke2fs
+assumes that the storage device has been prezeroed, skips zeroing the journal
+and inode tables, and annotates the block group flags to signal that the inode
+table has been zeroed.
+.TP
+.B discard
+Attempt to discard blocks at mkfs time (discarding blocks initially is useful
+on solid state devices and sparse / thin-provisioned storage). When the device
+advertises that discard also zeroes data (any subsequent read after the discard
+and before write returns zero), then mark all not-yet-zeroed inode tables as
+zeroed. This significantly speeds up file system initialization. This is set
+as default.
+.TP
 .BI encoding= encoding-name
 Enable the
 .I casefold
@@ -309,6 +320,24 @@
 .I strict
 flag is disabled.
 .TP
+.B lazy_itable_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled and the uninit_bg feature is enabled, the inode table will
+not be fully initialized by
+.BR mke2fs .
+This speeds up file system
+initialization noticeably, but it requires the kernel to finish
+initializing the file system in the background when the file system is
+first mounted.  If the option value is omitted, it defaults to 1 to
+enable lazy inode table zeroing.
+.TP
+.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+If enabled, the journal inode will not be fully zeroed out by
+.BR mke2fs .
+This speeds up file system initialization noticeably, but carries some
+small risk if the system crashes before the journal has been overwritten
+entirely one time.  If the option value is omitted, it defaults to 1 to
+enable lazy journal inode zeroing.
+.TP
 .BI mmp_update_interval= interval
 Adjust the initial MMP update interval to
 .I interval
@@ -318,6 +347,80 @@
 be less than 300 seconds.  Requires that the
 .B mmp
 feature be enabled.
+.B nodiscard
+Do not attempt to discard blocks at mkfs time.
+.TP
+.B no_copy_xattrs
+Normally
+.B mke2fs
+will copy the extended attributes of the files in the directory
+hierarchy specified via the (optional)
+.B \-d
+option.  This will disable the copy and leaves the files in the newly
+created file system without any extended attributes.
+.TP
+.BI num_backup_sb= <0|1|2>
+If the
+.B sparse_super2
+file system feature is enabled this option controls whether there will
+be 0, 1, or 2 backup superblocks created in the file system.
+.TP
+.BI offset= offset
+Create the file system at an offset from the beginning of the device or
+file.  This can be useful when creating disk images for virtual machines.
+.TP
+.TP
+.BI orphan_file_size= size
+Set size of the file for tracking unlinked but still open inodes and inodes
+with truncate in progress. Larger file allows for better scalability, reserving
+a few blocks per cpu is ideal.
+.TP
+.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
+Place the allocation bitmaps and the inode table at the beginning of the
+disk.  This option requires that the flex_bg file system feature to be
+enabled in order for it to have effect, and will also create the journal
+at the beginning of the file system.  This option is useful for flash
+devices that use SLC flash at the beginning of the disk.
+It also maximizes the range of contiguous data blocks, which
+can be useful for certain specialized use cases, such as supported
+Shingled Drives.
+.TP
+.B quotatype
+Specify the which  quota types (usrquota, grpquota, prjquota) which
+should be enabled in the created file system.  The argument of this
+extended option should be a colon separated list.  This option has
+effect only if the
+.B quota
+feature is set.   The default quota types to be initialized if this
+option is not specified is both user and group quotas.  If the project
+feature is enabled that project quotas will be initialized as well.
+.TP
+.BI resize= max-online-resize
+Reserve enough space so that the block group descriptor table can grow
+to support a file system that has
+.I max-online-resize
+blocks.
+.TP
+.BI revision= fs-revision
+Specify the file system revision number.   Revision 0 file systems
+provide compatibility with pre-1.2 Linux kernels (dating from before
+1995).   This is only needed for testing or people who want to use
+very early, historical Linux systems.  The current default (supported
+by all modern Linux systems) is revision 1.
+.TP
+.BI root_owner [=uid:gid]
+Specify the numeric user and group ID of the root directory.  If no UID:GID
+is specified, use the user and group ID of the user running \fBmke2fs\fR.
+In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were
+set by default to the UID and GID of the user running the mke2fs command.
+The \fBroot_owner=\fR option allows explicitly specifying these values,
+and avoid side-effects for users that do not expect the contents of the
+file system to change based on the user running \fBmke2fs\fR.
+.TP
+.BI root_perms [=permissions]
+Specify the root directory permissions in octal format. If no permissions
+are specified then the root directory permissions would be set in accordance with
+the default filesystem umask.
 .TP
 .BI stride= stride-size
 Configure the file system for a RAID array with
@@ -339,109 +442,9 @@
 This allows the block allocator to prevent read-modify-write of the
 parity in a RAID stripe if possible when the data is written.
 .TP
-.BI offset= offset
-Create the file system at an offset from the beginning of the device or
-file.  This can be useful when creating disk images for virtual machines.
-.TP
-.BI resize= max-online-resize
-Reserve enough space so that the block group descriptor table can grow
-to support a file system that has
-.I max-online-resize
-blocks.
-.TP
-.B lazy_itable_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
-If enabled and the uninit_bg feature is enabled, the inode table will
-not be fully initialized by
-.BR mke2fs .
-This speeds up file system
-initialization noticeably, but it requires the kernel to finish
-initializing the file system in the background when the file system is
-first mounted.  If the option value is omitted, it defaults to 1 to
-enable lazy inode table zeroing.
-.TP
-.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
-If enabled, the journal inode will not be fully zeroed out by
-.BR mke2fs .
-This speeds up file system initialization noticeably, but carries some
-small risk if the system crashes before the journal has been overwritten
-entirely one time.  If the option value is omitted, it defaults to 1 to
-enable lazy journal inode zeroing.
-.TP
-.B assume_storage_prezeroed\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
-If enabled,
-.BR mke2fs
-assumes that the storage device has been prezeroed, skips zeroing the journal
-and inode tables, and annotates the block group flags to signal that the inode
-table has been zeroed.
-.TP
-.B no_copy_xattrs
-Normally
-.B mke2fs
-will copy the extended attributes of the files in the directory
-hierarchy specified via the (optional)
-.B \-d
-option.  This will disable the copy and leaves the files in the newly
-created file system without any extended attributes.
-.TP
-.BI num_backup_sb= <0|1|2>
-If the
-.B sparse_super2
-file system feature is enabled this option controls whether there will
-be 0, 1, or 2 backup superblocks created in the file system.
-.TP
-.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
-Place the allocation bitmaps and the inode table at the beginning of the
-disk.  This option requires that the flex_bg file system feature to be
-enabled in order for it to have effect, and will also create the journal
-at the beginning of the file system.  This option is useful for flash
-devices that use SLC flash at the beginning of the disk.
-It also maximizes the range of contiguous data blocks, which
-can be useful for certain specialized use cases, such as supported
-Shingled Drives.
-.TP
-.BI root_owner [=uid:gid]
-Specify the numeric user and group ID of the root directory.  If no UID:GID
-is specified, use the user and group ID of the user running \fBmke2fs\fR.
-In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were
-set by default to the UID and GID of the user running the mke2fs command.
-The \fBroot_owner=\fR option allows explicitly specifying these values,
-and avoid side-effects for users that do not expect the contents of the
-file system to change based on the user running \fBmke2fs\fR.
-.TP
-.BI root_perms [=permissions]
-Specify the root directory permissions in octal format. If no permissions
-are specified then the root directory permissions would be set in accordance with
-the default filesystem umask.
-.TP
 .B test_fs
 Set a flag in the file system superblock indicating that it may be
 mounted using experimental kernel code, such as the ext4dev file system.
-.TP
-.BI orphan_file_size= size
-Set size of the file for tracking unlinked but still open inodes and inodes
-with truncate in progress. Larger file allows for better scalability, reserving
-a few blocks per cpu is ideal.
-.TP
-.B discard
-Attempt to discard blocks at mkfs time (discarding blocks initially is useful
-on solid state devices and sparse / thin-provisioned storage). When the device
-advertises that discard also zeroes data (any subsequent read after the discard
-and before write returns zero), then mark all not-yet-zeroed inode tables as
-zeroed. This significantly speeds up file system initialization. This is set
-as default.
-.TP
-.B nodiscard
-Do not attempt to discard blocks at mkfs time.
-.TP
-.B quotatype
-Specify the which  quota types (usrquota, grpquota, prjquota) which
-should be enabled in the created file system.  The argument of this
-extended option should be a colon separated list.  This option has
-effect only if the
-.B quota
-feature is set.   The default quota types to be initialized if this
-option is not specified is both user and group quotas.  If the project
-feature is enabled that project quotas will be initialized as well.
 .RE
 .TP
 .B \-F
@@ -532,43 +535,6 @@
 separated, and may take an argument using the equals ('=')  sign.
 The following journal options are supported:
 .RS 1.2i
-.TP
-.BI size= journal-size
-Create an internal journal (i.e., stored inside the file system) of size
-.I journal-size
-megabytes.
-The size of the journal must be at least 1024 file system blocks
-(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
-and may be no more than 10,240,000 file system blocks or half the total
-file system size (whichever is smaller)
-.TP
-.BI fast_commit_size= fast-commit-size
-Create an additional fast commit journal area of size
-.I fast-commit-size
-kilobytes.
-This option is only valid if
-.B fast_commit
-feature is enabled
-on the file system. If this option is not specified and if
-.B fast_commit
-feature is turned on, fast commit area size defaults to
-.I journal-size
-/ 64 megabytes. The total size of the journal with
-.B fast_commit
-feature set is
-.I journal-size
-+ (
-.I fast-commit-size
-* 1024) megabytes. The total journal size may be no more than
-10,240,000 file system blocks or half the total file system size
-(whichever is smaller).
-.TP
-.BI location =journal-location
-Specify the location of the journal.  The argument
-.I journal-location
-can either be specified as a block number, or if the number has a units
-suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
-beginning of the file system.
 @JDEV@.TP
 @JDEV@.BI device= external-journal
 @JDEV@Attach the file system to the journal block device located on
@@ -602,6 +568,43 @@
 @JDEV@.B -L
 @JDEV@option of
 @JDEV@.BR tune2fs (8).
+.TP
+.BI fast_commit_size= fast-commit-size
+Create an additional fast commit journal area of size
+.I fast-commit-size
+kilobytes.
+This option is only valid if
+.B fast_commit
+feature is enabled
+on the file system. If this option is not specified and if
+.B fast_commit
+feature is turned on, fast commit area size defaults to
+.I journal-size
+/ 64 megabytes. The total size of the journal with
+.B fast_commit
+feature set is
+.I journal-size
++ (
+.I fast-commit-size
+* 1024) megabytes. The total journal size may be no more than
+10,240,000 file system blocks or half the total file system size
+(whichever is smaller).
+.TP
+.BI location =journal-location
+Specify the location of the journal.  The argument
+.I journal-location
+can either be specified as a block number, or if the number has a units
+suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
+beginning of the file system.
+.TP
+.BI size= journal-size
+Create an internal journal (i.e., stored inside the file system) of size
+.I journal-size
+megabytes.
+The size of the journal must be at least 1024 file system blocks
+(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
+and may be no more than 10,240,000 file system blocks or half the total
+file system size (whichever is smaller)
 .RE
 @JDEV@.IP
 @JDEV@Only one of the
@@ -720,12 +723,6 @@
 Quiet execution.  Useful if
 .B mke2fs
 is run in a script.
-.TP
-.BI \-r " revision"
-Set the file system revision for the new file system.  Note that 1.2
-kernels only support revision 0 file systems.  The default is to
-create revision 1 file systems.
-.TP
 .B \-S
 Write superblock and group descriptors only.  This is an extreme
 measure to be taken only in the very unlikely case that all of
diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index 58ade9d..aa4e454 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -836,10 +836,9 @@
 static void parse_extended_opts(struct ext2_super_block *param,
 				const char *opts)
 {
+	unsigned long ulong;
 	char	*buf, *token, *next, *p, *arg, *badopt = 0;
-	int	len;
-	int	r_usage = 0;
-	int	ret;
+	int	len, ret, r_usage = 0;
 	int	encoding = -1;
 	char 	*encoding_flags = NULL;
 
@@ -865,8 +864,6 @@
 		}
 		if (strcmp(token, "desc-size") == 0 ||
 		    strcmp(token, "desc_size") == 0) {
-			int desc_size;
-
 			if (!ext2fs_has_feature_64bit(&fs_param)) {
 				fprintf(stderr,
 					_("%s requires '-O 64bit'\n"), token);
@@ -885,14 +882,14 @@
 				badopt = token;
 				continue;
 			}
-			desc_size = strtoul(arg, &p, 0);
-			if (*p || (desc_size & (desc_size - 1))) {
+			ulong = strtoul(arg, &p, 0);
+			if (*p || (ulong & (ulong - 1))) {
 				fprintf(stderr,
 					_("Invalid desc_size: '%s'\n"), arg);
 				r_usage++;
 				continue;
 			}
-			param->s_desc_size = desc_size;
+			param->s_desc_size = ulong;
 		} else if (strcmp(token, "hash_seed") == 0) {
 			if (!arg) {
 				r_usage++;
@@ -1044,6 +1041,24 @@
 
 				param->s_reserved_gdt_blocks = rsv_gdb;
 			}
+		} else if (!strcmp(token, "revision")) {
+			if (!arg) {
+				r_usage++;
+				badopt = token;
+				continue;
+			}
+			param->s_rev_level = strtoul(arg, &p, 0);
+			if (*p) {
+				com_err(program_name, 0,
+					_("bad revision level - %s"), arg);
+				exit(1);
+			}
+			if (param->s_rev_level > EXT2_MAX_SUPP_REV) {
+				com_err(program_name, EXT2_ET_REV_TOO_HIGH,
+					_("while trying to create revision %d"),
+					param->s_rev_level);
+				exit(1);
+			}
 		} else if (!strcmp(token, "test_fs")) {
 			param->s_flags |= EXT2_FLAGS_TEST_FILESYS;
 		} else if (!strcmp(token, "lazy_itable_init")) {
@@ -1177,6 +1192,7 @@
 			"\ttest_fs\n"
 			"\tdiscard\n"
 			"\tnodiscard\n"
+			"\trevision=<revision>\n"
 			"\tencoding=<encoding>\n"
 			"\tencoding_flags=<flags>\n"
 			"\tquotatype=<quota type(s) to be enabled>\n"
@@ -1640,7 +1656,7 @@
 	 * Finally, we complain about fs_blocks_count > 2^32 on a non-64bit fs.
 	 */
 	blk64_t		fs_blocks_count = 0;
-	int		s_opt = -1, r_opt = -1;
+	int		r_opt = -1;
 	char		*fs_features = 0;
 	int		fs_features_size = 0;
 	int		use_bsize;
@@ -1928,11 +1944,20 @@
 					_("while trying to create revision %d"), r_opt);
 				exit(1);
 			}
+			if (r_opt != EXT2_DYNAMIC_REV) {
+				com_err(program_name, 0,
+	_("the -r option has been removed.\n\n"
+	"If you really need compatibility with pre-1995 Linux systems, use the\n"
+	"command-line option \"-E revision=0\".\n"));
+				exit(1);
+			}
 			fs_param.s_rev_level = r_opt;
 			break;
-		case 's':	/* deprecated */
-			s_opt = atoi(optarg);
-			break;
+		case 's':
+			com_err(program_name, 0,
+				_("the -s option has been removed.\n\n"
+	"Use the -O option to set or clear the sparse_super feature.\n"));
+			exit(1);
 		case 'S':
 			super_only = 1;
 			break;
@@ -2191,7 +2216,6 @@
 		ext2fs_clear_feature_csum_seed(&fs_param);
 	if (tmp)
 		free(tmp);
-	(void) ext2fs_free_mem(&fs_features);
 	/*
 	 * If the user specified features incompatible with the Hurd, complain
 	 */
@@ -2329,33 +2353,8 @@
 		print_str_list(fs_types);
 	}
 
-	if (r_opt == EXT2_GOOD_OLD_REV &&
-	    (fs_param.s_feature_compat || fs_param.s_feature_incompat ||
-	     fs_param.s_feature_ro_compat)) {
-		fprintf(stderr, "%s", _("Filesystem features not supported "
-					"with revision 0 filesystems\n"));
-		exit(1);
-	}
-
-	if (s_opt > 0) {
-		if (r_opt == EXT2_GOOD_OLD_REV) {
-			fprintf(stderr, "%s",
-				_("Sparse superblocks not supported "
-				  "with revision 0 filesystems\n"));
-			exit(1);
-		}
-		ext2fs_set_feature_sparse_super(&fs_param);
-	} else if (s_opt == 0)
-		ext2fs_clear_feature_sparse_super(&fs_param);
-
-	if (journal_size != 0) {
-		if (r_opt == EXT2_GOOD_OLD_REV) {
-			fprintf(stderr, "%s", _("Journals not supported with "
-						"revision 0 filesystems\n"));
-			exit(1);
-		}
+	if (journal_size != 0)
 		ext2fs_set_feature_journal(&fs_param);
-	}
 
 	/* Get reserved_ratio from profile if not specified on cmd line. */
 	if (reserved_ratio < 0.0) {
@@ -2560,6 +2559,28 @@
 	if (extended_opts)
 		parse_extended_opts(&fs_param, extended_opts);
 
+	if (fs_param.s_rev_level == EXT2_GOOD_OLD_REV) {
+		if (fs_features) {
+			fprintf(stderr, "%s",
+				_("Filesystem features not supported "
+				  "with revision 0 filesystems\n"));
+			exit(1);
+		}
+		if (journal_size != 0) {
+			fprintf(stderr, "%s", _("Journals not supported with "
+						"revision 0 filesystems\n"));
+			exit(1);
+		}
+		if (fs_param.s_inode_size > EXT2_GOOD_OLD_INODE_SIZE) {
+			fprintf(stderr, "%s", _("Inode size incompatible with "
+						"revision 0 filesystems\n"));
+			exit(1);
+		}
+		fs_param.s_feature_compat = fs_param.s_feature_ro_compat =
+			fs_param.s_feature_incompat = 0;
+		fs_param.s_default_mount_opts = 0;
+	}
+
 	if (explicit_fssize == 0 && offset > 0) {
 		fs_blocks_count -= offset / EXT2_BLOCK_SIZE(&fs_param);
 		ext2fs_blocks_count_set(&fs_param, fs_blocks_count);
@@ -2761,6 +2782,7 @@
 
 	free(fs_type);
 	free(usage_types);
+	(void) ext2fs_free_mem(&fs_features);
 
 	/* The isatty() test is so we don't break existing scripts */
 	flags = CREATE_FILE;
diff --git a/misc/mklost+found.8.in b/misc/mklost+found.8.in
index d338239..59b7e76 100644
--- a/misc/mklost+found.8.in
+++ b/misc/mklost+found.8.in
@@ -4,15 +4,15 @@
 .\" 
 .TH MKLOST+FOUND 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-mklost+found \- create a lost+found directory on a mounted Linux
-second extended file system
+mklost+found \- create a lost+found directory on a mounted
+ext2/ext3/ext4 file system
 .SH SYNOPSIS
 .B mklost+found
 .SH DESCRIPTION
 .B mklost+found
 is used to create a
 .I lost+found
-directory in the current working directory on a Linux second extended
+directory in the current working directory on an ext2/ext3/ext4
 file system.  There is normally a
 .I lost+found
 directory in the root directory of each file system.
diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in
index dcf108c..ff0bd51 100644
--- a/misc/tune2fs.8.in
+++ b/misc/tune2fs.8.in
@@ -98,7 +98,7 @@
 allows the system administrator to adjust various tunable file system
 parameters on Linux ext2, ext3, or ext4 file systems.  The current values
 of these options can be displayed by using the
-.B -l
+.B \-l
 option to
 .BR tune2fs (8)
 program, or by using the
@@ -175,43 +175,7 @@
 .B clear_mmp
 Reset the MMP block (if any) back to the clean state.  Use only if
 absolutely certain the device is not currently mounted or being
-fscked, or major file system corruption can result.  Needs '-f'.
-.TP
-.BI mmp_update_interval= interval
-Adjust the initial MMP update interval to
-.I interval
-seconds.  Specifying an
-.I interval
-of 0 means to use the default interval.  The specified interval must
-be less than 300 seconds.  Requires that the
-.B mmp
-feature be enabled.
-.TP
-.BI stride= stride-size
-Configure the file system for a RAID array with
-.I stride-size
-file system blocks. This is the number of blocks read or written to disk
-before moving to next disk. This mostly affects placement of file system
-metadata like bitmaps at
-.BR mke2fs (2)
-time to avoid placing them on a single disk, which can hurt the performance.
-It may also be used by block allocator.
-.TP
-.BI stripe_width= stripe-width
-Configure the file system for a RAID array with
-.I stripe-width
-file system blocks per stripe. This is typically be stride-size * N, where
-N is the number of data disks in the RAID (e.g. RAID 5 N+1, RAID 6 N+2).
-This allows the block allocator to prevent read-modify-write of the
-parity in a RAID stripe if possible when the data is written.
-.TP
-.BI hash_alg= hash-alg
-Set the default hash algorithm used for file systems with hashed b-tree
-directories.  Valid algorithms accepted are:
-.IR legacy ,
-.IR half_md4 ,
-and
-.IR tea .
+fscked, or major file system corruption can result.  Needs '\-f'.
 .TP
 .BI encoding= encoding-name
 Enable the
@@ -237,11 +201,33 @@
 .I strict
 flag is disabled.
 .TP
+.B force_fsck
+Set a flag in the file system superblock indicating that errors have been found.
+This will force fsck to run at the next mount.
+.TP
+.BI hash_alg= hash-alg
+Set the default hash algorithm used for file systems with hashed b-tree
+directories.  Valid algorithms accepted are:
+.IR legacy ,
+.IR half_md4 ,
+and
+.IR tea .
+.TP
+.BI mmp_update_interval= interval
+Adjust the initial MMP update interval to
+.I interval
+seconds.  Specifying an
+.I interval
+of 0 means to use the default interval.  The specified interval must
+be less than 300 seconds.  Requires that the
+.B mmp
+feature be enabled.
+.TP
 .BI mount_opts= mount_option_string
 Set a set of default mount options which will be used when the file
 system is mounted.  Unlike the bitmask-based default mount options which
 can be specified with the
-.B -o
+.B \-o
 option,
 .I mount_option_string
 is an arbitrary string with a maximum length of 63 bytes, which is
@@ -262,9 +248,23 @@
 with truncate in progress. Larger file allows for better scalability, reserving
 a few blocks per cpu is ideal.
 .TP
-.B force_fsck
-Set a flag in the file system superblock indicating that errors have been found.
-This will force fsck to run at the next mount.
+.BI stride= stride-size
+Configure the file system for a RAID array with
+.I stride-size
+file system blocks. This is the number of blocks read or written to disk
+before moving to next disk. This mostly affects placement of file system
+metadata like bitmaps at
+.BR mke2fs (2)
+time to avoid placing them on a single disk, which can hurt the performance.
+It may also be used by block allocator.
+.TP
+.BI stripe_width= stripe-width
+Configure the file system for a RAID array with
+.I stripe-width
+file system blocks per stripe. This is typically be stride-size * N, where
+N is the number of data disks in the RAID (e.g. RAID 5 N+1, RAID 6 N+2).
+This allows the block allocator to prevent read-modify-write of the
+parity in a RAID stripe if possible when the data is written.
 .TP
 .B test_fs
 Set a flag in the file system superblock indicating that it may be
@@ -371,15 +371,39 @@
 separated, and may take an argument using the equals ('=')  sign.
 The following journal options are supported:
 .RS 1.2i
-.TP
-.BI size= journal-size
-Create a journal stored in the file system of size
-.I journal-size
-megabytes.   The size of the journal must be at least 1024 file system blocks
-(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
-and may be no more than 10,240,000 file system blocks.
-There must be enough free space in the file system to create a journal of
-that size.
+@JDEV@.TP
+@JDEV@.BI device= external-journal
+@JDEV@Attach the file system to the journal block device located on
+@JDEV@.IR external-journal .
+@JDEV@The external
+@JDEV@journal must have been already created using the command
+@JDEV@.IP
+@JDEV@.B mke2fs \-O journal_dev
+@JDEV@.I external-journal
+@JDEV@.IP
+@JDEV@Note that
+@JDEV@.I external-journal
+@JDEV@must be formatted with the same block
+@JDEV@size as file systems which will be using it.
+@JDEV@In addition, while there is support for attaching
+@JDEV@multiple file systems to a single external journal,
+@JDEV@the Linux kernel and
+@JDEV@.BR e2fsck (8)
+@JDEV@do not currently support shared external journals yet.
+@JDEV@.IP
+@JDEV@Instead of specifying a device name directly,
+@JDEV@.I external-journal
+@JDEV@can also be specified by either
+@JDEV@.BI LABEL= label
+@JDEV@or
+@JDEV@.BI UUID= UUID
+@JDEV@to locate the external journal by either the volume label or UUID
+@JDEV@stored in the ext2 superblock at the start of the journal.  Use
+@JDEV@.BR dumpe2fs (8)
+@JDEV@to display a journal device's volume label and UUID.  See also the
+@JDEV@.B \-L
+@JDEV@option of
+@JDEV@.BR tune2fs (8).
 .TP
 .BI fast_commit_size= fast-commit-size
 Create an additional fast commit journal area of size
@@ -408,39 +432,15 @@
 can either be specified as a block number, or if the number has a units
 suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
 beginning of the file system.
-@JDEV@.TP
-@JDEV@.BI device= external-journal
-@JDEV@Attach the file system to the journal block device located on
-@JDEV@.IR external-journal .
-@JDEV@The external
-@JDEV@journal must have been already created using the command
-@JDEV@.IP
-@JDEV@.B mke2fs -O journal_dev
-@JDEV@.I external-journal
-@JDEV@.IP
-@JDEV@Note that
-@JDEV@.I external-journal
-@JDEV@must be formatted with the same block
-@JDEV@size as file systems which will be using it.
-@JDEV@In addition, while there is support for attaching
-@JDEV@multiple file systems to a single external journal,
-@JDEV@the Linux kernel and
-@JDEV@.BR e2fsck (8)
-@JDEV@do not currently support shared external journals yet.
-@JDEV@.IP
-@JDEV@Instead of specifying a device name directly,
-@JDEV@.I external-journal
-@JDEV@can also be specified by either
-@JDEV@.BI LABEL= label
-@JDEV@or
-@JDEV@.BI UUID= UUID
-@JDEV@to locate the external journal by either the volume label or UUID
-@JDEV@stored in the ext2 superblock at the start of the journal.  Use
-@JDEV@.BR dumpe2fs (8)
-@JDEV@to display a journal device's volume label and UUID.  See also the
-@JDEV@.B -L
-@JDEV@option of
-@JDEV@.BR tune2fs (8).
+.TP
+.BI size= journal-size
+Create a journal stored in the file system of size
+.I journal-size
+megabytes.   The size of the journal must be at least 1024 file system blocks
+(i.e., 1\~MiB if using 1k blocks, 4\~MiB if using 4k blocks, etc.)
+and may be no more than 10,240,000 file system blocks.
+There must be enough free space in the file system to create a journal of
+that size.
 .RE
 @JDEV@.IP
 @JDEV@Only one of the
@@ -642,7 +642,6 @@
 .B \-j
 option.
 .TP
-.TP
 .B fast_commit
 Enable fast commit journaling feature to improve fsync latency.
 .TP
@@ -655,7 +654,7 @@
 Support files larger than 2 terabytes in size.
 .TP
 .B large_file
-File System can contain files that are greater than 2GB.
+File System can contain files that are greater than 2\~GiB.
 .TP
 .B metadata_csum
 Store a checksum to protect the contents in each metadata block.
@@ -670,6 +669,11 @@
 .B mmp
 Enable or disable multiple mount protection (MMP) feature.
 .TP
+.B orphan_file
+Store the list of orphan inodes in multiple blocks instead of a single
+linked-list to avoid potential scalability bottlenecks for workloads
+that perform a large number of file truncations or extensions in parallel.
+.TP
 .B project
 Enable project ID tracking.  This is used for project quota tracking.
 .TP
@@ -727,7 +731,7 @@
 if necessary.  After setting the
 .B dir_index
 feature,
-.B e2fsck -D
+.B e2fsck \-D
 can be run to convert existing directories to the hashed B-tree format.
 Enabling certain file system features may prevent the file system from being
 mounted by kernels which do not support those features.  In particular, the
@@ -756,7 +760,7 @@
 .TP
 .BI \-T " time-last-checked"
 Set the time the file system was last checked using
-.BR  e2fsck .
+.BR e2fsck .
 The time is interpreted using the current (local) timezone.
 This can be useful in scripts which use a Logical Volume Manager to make
 a consistent snapshot of a file system, and then check the file system
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index 6de40e9..2548a76 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -2864,6 +2864,7 @@
 	int new_ino_blks_per_grp;
 	ext2fs_block_bitmap bmap;
 
+	ext2fs_update_dynamic_rev(fs);
 	retval = ext2fs_read_inode_bitmap(fs);
 	if (retval) {
 		fputs(_("Failed to read inode bitmap\n"), stderr);
@@ -3381,9 +3382,13 @@
 		printf(_("Setting error behavior to %d\n"), errors);
 	}
 	if (g_flag) {
-		sb->s_def_resgid = resgid;
-		ext2fs_mark_super_dirty(fs);
-		printf(_("Setting reserved blocks gid to %lu\n"), resgid);
+		if (sb->s_def_resgid != resgid) {
+			sb->s_def_resgid = resgid;
+			ext2fs_mark_super_dirty(fs);
+			printf(_("Setting reserved blocks gid to %lu\n"), resgid);
+		} else {
+			printf(_("Reserved blocks gid already set to %lu\n"), resgid);
+		}
 	}
 	if (i_flag) {
 		if ((unsigned long long)interval >= (1ULL << 32)) {
diff --git a/po/e2fsprogs.pot b/po/e2fsprogs.pot
index 1a324df..174625f 100644
--- a/po/e2fsprogs.pot
+++ b/po/e2fsprogs.pot
@@ -2,9 +2,9 @@
 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
 #     2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
 #     2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022,
-#     2023 by Theodore Ts'o
+#     2023, 2024 by Theodore Ts'o
 # This file is distributed under the same license as the e2fsprogs package.
-# Theodore Ts'o <tytso@mit.edu>, 2023.
+# Theodore Ts'o <tytso@mit.edu>, 2024.
 #
 #. The strings in e2fsck's problem.c can be very hard to translate,
 #. since the strings are expanded in two different ways.  First of all,
@@ -78,9 +78,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs 1.47.0.95\n"
+"Project-Id-Version: e2fsprogs 1.47.1.95\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2024-04-24 13:22-0400\n"
+"POT-Creation-Date: 2024-11-29 02:11-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -90,7 +90,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:223
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:224
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr ""
@@ -103,12 +103,12 @@
 msgid "while reading the bad blocks inode"
 msgstr ""
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1595
-#: e2fsck/unix.c:1710 misc/badblocks.c:1273 misc/badblocks.c:1281
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1599
+#: e2fsck/unix.c:1714 misc/badblocks.c:1273 misc/badblocks.c:1281
 #: misc/badblocks.c:1295 misc/badblocks.c:1307 misc/dumpe2fs.c:438
-#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1441
-#: misc/e2image.c:1641 misc/e2image.c:1662 misc/mke2fs.c:239
-#: misc/tune2fs.c:3043 misc/tune2fs.c:3232 resize/main.c:424
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1447
+#: misc/e2image.c:1647 misc/e2image.c:1668 misc/mke2fs.c:240
+#: misc/tune2fs.c:3044 misc/tune2fs.c:3233 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr ""
@@ -118,7 +118,7 @@
 msgid "while trying popen '%s'"
 msgstr ""
 
-#: e2fsck/badblocks.c:95 misc/mke2fs.c:246
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:247
 msgid "while reading in list of bad blocks from file"
 msgstr ""
 
@@ -135,30 +135,35 @@
 msgid "while freeing dir_info tdb file"
 msgstr ""
 
-#: e2fsck/ehandler.c:55
+#: e2fsck/ehandler.c:56
 #, c-format
 msgid "Error reading block %lu (%s) while %s.  "
 msgstr ""
 
-#: e2fsck/ehandler.c:58
+#: e2fsck/ehandler.c:59
 #, c-format
 msgid "Error reading block %lu (%s).  "
 msgstr ""
 
-#: e2fsck/ehandler.c:66 e2fsck/ehandler.c:115
+#: e2fsck/ehandler.c:67 e2fsck/ehandler.c:121
 msgid "Ignore error"
 msgstr ""
 
-#: e2fsck/ehandler.c:67
+#: e2fsck/ehandler.c:68
 msgid "Force rewrite"
 msgstr ""
 
-#: e2fsck/ehandler.c:109
+#: e2fsck/ehandler.c:72
+#, c-format
+msgid "Error rewriting block %lu (%s)\n"
+msgstr ""
+
+#: e2fsck/ehandler.c:115
 #, c-format
 msgid "Error writing block %lu (%s) while %s.  "
 msgstr ""
 
-#: e2fsck/ehandler.c:112
+#: e2fsck/ehandler.c:118
 #, c-format
 msgid "Error writing block %lu (%s).  "
 msgstr ""
@@ -224,7 +229,7 @@
 msgid "%s: incorrect fast commit blocks\n"
 msgstr ""
 
-#: e2fsck/journal.c:1688 misc/fuse2fs.c:3857
+#: e2fsck/journal.c:1688 misc/fuse2fs.c:3872
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr ""
@@ -500,85 +505,85 @@
 msgid "while hashing entry with e_value_inum = %u"
 msgstr ""
 
-#: e2fsck/pass1.c:774 e2fsck/pass2.c:1155
+#: e2fsck/pass1.c:817 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr ""
 
-#: e2fsck/pass1.c:1175
+#: e2fsck/pass1.c:1218
 msgid "getting next inode from scan"
 msgstr ""
 
-#: e2fsck/pass1.c:1228
+#: e2fsck/pass1.c:1271
 msgid "in-use inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:1239
+#: e2fsck/pass1.c:1282
 msgid "directory inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:1249
+#: e2fsck/pass1.c:1292
 msgid "regular file inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:1258 misc/e2image.c:1290
+#: e2fsck/pass1.c:1301 misc/e2image.c:1296
 msgid "in-use block map"
 msgstr ""
 
-#: e2fsck/pass1.c:1267
+#: e2fsck/pass1.c:1310
 msgid "metadata block map"
 msgstr ""
 
-#: e2fsck/pass1.c:1278
+#: e2fsck/pass1.c:1321
 msgid "inode casefold map"
 msgstr ""
 
-#: e2fsck/pass1.c:1343
+#: e2fsck/pass1.c:1386
 msgid "opening inode scan"
 msgstr ""
 
-#: e2fsck/pass1.c:2139
+#: e2fsck/pass1.c:2193
 msgid "Pass 1"
 msgstr ""
 
-#: e2fsck/pass1.c:2200
+#: e2fsck/pass1.c:2254
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr ""
 
-#: e2fsck/pass1.c:2251
+#: e2fsck/pass1.c:2305
 msgid "bad inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:2291
+#: e2fsck/pass1.c:2345
 msgid "inode in bad block map"
 msgstr ""
 
-#: e2fsck/pass1.c:2311
+#: e2fsck/pass1.c:2365
 msgid "imagic inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:2342
+#: e2fsck/pass1.c:2396
 msgid "multiply claimed block map"
 msgstr ""
 
-#: e2fsck/pass1.c:2467
+#: e2fsck/pass1.c:2521
 msgid "ext attr block map"
 msgstr ""
 
-#: e2fsck/pass1.c:3768
+#: e2fsck/pass1.c:3828
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr ""
 
-#: e2fsck/pass1.c:4189
+#: e2fsck/pass1.c:4249
 msgid "block bitmap"
 msgstr ""
 
-#: e2fsck/pass1.c:4195
+#: e2fsck/pass1.c:4255
 msgid "inode bitmap"
 msgstr ""
 
-#: e2fsck/pass1.c:4201
+#: e2fsck/pass1.c:4261
 msgid "inode table"
 msgstr ""
 
@@ -610,7 +615,7 @@
 msgid "inode loop detection bitmap"
 msgstr ""
 
-#: e2fsck/pass4.c:300
+#: e2fsck/pass4.c:317
 msgid "Pass 4"
 msgstr ""
 
@@ -803,16 +808,19 @@
 msgstr ""
 
 #: e2fsck/problem.c:118
+#, c-format
 #. @-expanded: block bitmap for group %g is not in group.  (block %b)\n
 msgid "@b @B for @g %g is not in @g.  (@b %b)\n"
 msgstr ""
 
 #: e2fsck/problem.c:122
+#, c-format
 #. @-expanded: inode bitmap for group %g is not in group.  (block %b)\n
 msgid "@i @B for @g %g is not in @g.  (@b %b)\n"
 msgstr ""
 
 #: e2fsck/problem.c:127
+#, c-format
 #. @-expanded: inode table for group %g is not in group.  (block %b)\n
 #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
 msgid ""
@@ -843,6 +851,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:144
+#, c-format
 #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n
 #. @-expanded: The physical size of the device is %c blocks\n
 #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n
@@ -853,6 +862,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:151
+#, c-format
 #. @-expanded: superblock block_size = %b, fragsize = %c.\n
 #. @-expanded: This version of e2fsck does not support fragment sizes different\n
 #. @-expanded: from the block size.\n
@@ -863,11 +873,13 @@
 msgstr ""
 
 #: e2fsck/problem.c:158
+#, c-format
 #. @-expanded: superblock blocks_per_group = %b, should have been %c\n
 msgid "@S @bs_per_group = %b, should have been %c\n"
 msgstr ""
 
 #: e2fsck/problem.c:163
+#, c-format
 #. @-expanded: superblock first_data_block = %b, should have been %c\n
 msgid "@S first_data_@b = %b, should have been %c\n"
 msgstr ""
@@ -1127,6 +1139,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:392
+#, c-format
 #. @-expanded: group descriptor %g has invalid unused inodes count %b.  
 msgid "@g descriptor %g has invalid unused inodes count %b.  "
 msgstr ""
@@ -1176,6 +1189,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:435
+#, c-format
 #. @-expanded: Setting free blocks count to %c (was %b)\n
 msgid "Setting free @bs count to %c (was %b)\n"
 msgstr ""
@@ -1271,6 +1285,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:531
+#, c-format
 #. @-expanded: Orphan file (inode %i) contains hole at block %b. Terminating orphan file 
 #. @-expanded: recovery.\n
 msgid ""
@@ -1279,6 +1294,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:536
+#, c-format
 #. @-expanded: Orphan file (inode %i) block %b contains wrong magic. Terminating orphan file 
 #. @-expanded: recovery.\n
 msgid ""
@@ -1287,6 +1303,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:541
+#, c-format
 #. @-expanded: Orphan file (inode %i) block %b contains wrong checksum. Terminating orphan file 
 #. @-expanded: recovery.\n
 msgid ""
@@ -1342,26 +1359,31 @@
 msgstr ""
 
 #: e2fsck/problem.c:590
+#, c-format
 #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
 msgid "@g %g's @b @B at %b @C.\n"
 msgstr ""
 
 #: e2fsck/problem.c:595
+#, c-format
 #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n
 msgid "@g %g's @i @B at %b @C.\n"
 msgstr ""
 
 #: e2fsck/problem.c:600
+#, c-format
 #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n
 msgid "@g %g's @i table at %b @C.\n"
 msgstr ""
 
 #: e2fsck/problem.c:605
+#, c-format
 #. @-expanded: group %g's block bitmap (%b) is bad.  
 msgid "@g %g's @b @B (%b) is bad.  "
 msgstr ""
 
 #: e2fsck/problem.c:610
+#, c-format
 #. @-expanded: group %g's inode bitmap (%b) is bad.  
 msgid "@g %g's @i @B (%b) is bad.  "
 msgstr ""
@@ -1414,6 +1436,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:662
+#, c-format
 #. @-expanded: Bad block %b used as bad block inode indirect block.  
 msgid "Bad @b %b used as bad @b @i indirect @b.  "
 msgstr ""
@@ -1449,26 +1472,31 @@
 msgstr ""
 
 #: e2fsck/problem.c:685
+#, c-format
 #. @-expanded: The primary superblock (%b) is on the bad block list.\n
 msgid "The primary @S (%b) is on the bad @b list.\n"
 msgstr ""
 
 #: e2fsck/problem.c:690
+#, c-format
 #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n
 msgid "Block %b in the primary @g descriptors is on the bad @b list\n"
 msgstr ""
 
 #: e2fsck/problem.c:696
+#, c-format
 #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n
 msgid "Warning: Group %g's @S (%b) is bad.\n"
 msgstr ""
 
 #: e2fsck/problem.c:702
+#, c-format
 #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n
 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n"
 msgstr ""
 
 #: e2fsck/problem.c:708
+#, c-format
 #. @-expanded: Programming error?  block #%b claimed for no reason in process_bad_block.\n
 msgid "Programming error?  @b #%b claimed for no reason in process_bad_@b.\n"
 msgstr ""
@@ -1485,6 +1513,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:725
+#, c-format
 #. @-expanded: Relocating group %g's %s from %b to %c...\n
 msgid "Relocating @g %g's %s from %b to %c...\n"
 msgstr ""
@@ -1496,16 +1525,18 @@
 msgstr ""
 
 #: e2fsck/problem.c:736
+#, c-format
 #. @-expanded: Warning: could not read block %b of %s: %m\n
 msgid "Warning: could not read @b %b of %s: %m\n"
 msgstr ""
 
 #: e2fsck/problem.c:741
+#, c-format
 #. @-expanded: Warning: could not write block %b for %s: %m\n
 msgid "Warning: could not write @b %b for %s: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:746 e2fsck/problem.c:1965
+#: e2fsck/problem.c:746 e2fsck/problem.c:1979
 #. @-expanded: error allocating inode bitmap (%N): %m\n
 msgid "@A @i @B (%N): %m\n"
 msgstr ""
@@ -1603,16 +1634,19 @@
 msgstr ""
 
 #: e2fsck/problem.c:851
+#, c-format
 #. @-expanded: Error reading extended attribute block %b for inode %i.  
 msgid "Error reading @a @b %b for @i %i.  "
 msgstr ""
 
 #: e2fsck/problem.c:856
+#, c-format
 #. @-expanded: inode %i has a bad extended attribute block %b.  
 msgid "@i %i has a bad @a @b %b.  "
 msgstr ""
 
 #: e2fsck/problem.c:861
+#, c-format
 #. @-expanded: Error reading extended attribute block %b (%m).  
 msgid "Error reading @a @b %b (%m).  "
 msgstr ""
@@ -1623,11 +1657,13 @@
 msgstr ""
 
 #: e2fsck/problem.c:871
+#, c-format
 #. @-expanded: Error writing extended attribute block %b (%m).  
 msgid "Error writing @a @b %b (%m).  "
 msgstr ""
 
 #: e2fsck/problem.c:876
+#, c-format
 #. @-expanded: extended attribute block %b has h_blocks > 1.  
 msgid "@a @b %b has h_@bs > 1.  "
 msgstr ""
@@ -1638,16 +1674,19 @@
 msgstr ""
 
 #: e2fsck/problem.c:886
+#, c-format
 #. @-expanded: extended attribute block %b is corrupt (allocation collision).  
 msgid "@a @b %b is corrupt (allocation collision).  "
 msgstr ""
 
 #: e2fsck/problem.c:891
+#, c-format
 #. @-expanded: extended attribute block %b is corrupt (invalid name).  
 msgid "@a @b %b is corrupt (@n name).  "
 msgstr ""
 
 #: e2fsck/problem.c:896
+#, c-format
 #. @-expanded: extended attribute block %b is corrupt (invalid value).  
 msgid "@a @b %b is corrupt (@n value).  "
 msgstr ""
@@ -1706,6 +1745,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:956
+#, c-format
 #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n
 #. @-expanded: filesystem metadata.  
 msgid ""
@@ -1761,6 +1801,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:1009
+#, c-format
 #. @-expanded: Failed to iterate extents in inode %i\n
 #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n
 msgid ""
@@ -1816,6 +1857,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:1053
+#, c-format
 #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n
 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n"
 msgstr ""
@@ -1847,6 +1889,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:1084
+#, c-format
 #. @-expanded: inode %i has zero length extent\n
 #. @-expanded: \t(invalid logical block %c, physical block %b)\n
 msgid ""
@@ -1881,6 +1924,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:1119
+#, c-format
 #. @-expanded: inode %i extended attribute block %b passes checks, but checksum does not match block.  
 msgid "@i %i @a @b %b passes checks, but checksum does not match @b.  "
 msgstr ""
@@ -1921,6 +1965,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:1155
+#, c-format
 #. @-expanded: directory inode %i block %b should be at block %c.  
 msgid "@d @i %i @b %b should be at @b %c.  "
 msgstr ""
@@ -1932,6 +1977,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:1166
+#, c-format
 #. @-expanded: inode %i logical block %b (physical block %c) violates cluster allocation rules.\n
 #. @-expanded: Will fix in pass 1B.\n
 msgid ""
@@ -2002,6 +2048,7 @@
 msgstr ""
 
 #: e2fsck/problem.c:1229
+#, c-format
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
 msgid "@i %i @x tree could be more shallow (%b; could be <= %c)\n"
 msgstr ""
@@ -2098,7 +2145,19 @@
 msgid "Orphan file @i %i is not in use, but contains data.  "
 msgstr ""
 
-#: e2fsck/problem.c:1316
+#: e2fsck/problem.c:1314
+#, c-format
+#. @-expanded: inode %i has the ea_inode flag set but is not a regular file.  
+msgid "@i %i has the ea_inode flag set but is not a regular file.  "
+msgstr ""
+
+#: e2fsck/problem.c:1319
+#, c-format
+#. @-expanded: inode %i references EA inode but superblock is missing EA_INODE feature\n
+msgid "@i %i references EA inode but @S is missing EA_INODE feature\n"
+msgstr ""
+
+#: e2fsck/problem.c:1326
 #. @-expanded: \n
 #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n
 #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n
@@ -2108,45 +2167,46 @@
 "Pass 1B: Rescanning for @m @bs\n"
 msgstr ""
 
-#: e2fsck/problem.c:1323
+#: e2fsck/problem.c:1333
 #, no-c-format
 #. @-expanded: multiply-claimed block(s) in inode %i:
 msgid "@m @b(s) in @i %i:"
 msgstr ""
 
-#: e2fsck/problem.c:1339
+#: e2fsck/problem.c:1349
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1345
+#: e2fsck/problem.c:1355
 #, no-c-format
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1351
+#: e2fsck/problem.c:1361
 #, no-c-format
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1356 e2fsck/problem.c:1736
+#: e2fsck/problem.c:1366 e2fsck/problem.c:1746
+#, c-format
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1366
+#: e2fsck/problem.c:1376
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr ""
 
-#: e2fsck/problem.c:1372
+#: e2fsck/problem.c:1382
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr ""
 
-#: e2fsck/problem.c:1377
+#: e2fsck/problem.c:1387
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
 msgid ""
@@ -2154,17 +2214,17 @@
 "  has %r @m @b(s), shared with %N file(s):\n"
 msgstr ""
 
-#: e2fsck/problem.c:1383
+#: e2fsck/problem.c:1393
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr ""
 
-#: e2fsck/problem.c:1388
+#: e2fsck/problem.c:1398
 #. @-expanded: \t<filesystem metadata>\n
 msgid "\t<@f metadata>\n"
 msgstr ""
 
-#: e2fsck/problem.c:1393
+#: e2fsck/problem.c:1403
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
 msgid ""
@@ -2172,7 +2232,7 @@
 "\n"
 msgstr ""
 
-#: e2fsck/problem.c:1398
+#: e2fsck/problem.c:1408
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
 msgid ""
@@ -2180,348 +2240,353 @@
 "\n"
 msgstr ""
 
-#: e2fsck/problem.c:1412
+#: e2fsck/problem.c:1422
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1418
+#: e2fsck/problem.c:1428
 #. @-expanded: Pass 1E: Optimizing extent trees\n
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr ""
 
-#: e2fsck/problem.c:1424
+#: e2fsck/problem.c:1434
 #, no-c-format
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1429
+#: e2fsck/problem.c:1439
 #. @-expanded: Optimizing extent trees: 
 msgid "Optimizing @x trees: "
 msgstr ""
 
-#: e2fsck/problem.c:1444
+#: e2fsck/problem.c:1454
+#, c-format
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr ""
 
-#: e2fsck/problem.c:1449
+#: e2fsck/problem.c:1459
+#, c-format
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr ""
 
-#: e2fsck/problem.c:1454
+#: e2fsck/problem.c:1464
+#, c-format
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr ""
 
-#: e2fsck/problem.c:1461
+#: e2fsck/problem.c:1471
 #. @-expanded: Pass 2: Checking directory structure\n
 msgid "Pass 2: Checking @d structure\n"
 msgstr ""
 
-#: e2fsck/problem.c:1467
+#: e2fsck/problem.c:1477
 #, no-c-format
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1472
+#: e2fsck/problem.c:1482
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
 msgid "@E has @n @i #: %Di.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1477
+#: e2fsck/problem.c:1487
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
 msgid "@E has @D/unused @i %Di.  "
 msgstr ""
 
-#: e2fsck/problem.c:1482
+#: e2fsck/problem.c:1492
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
 msgid "@E @L to '.'  "
 msgstr ""
 
-#: e2fsck/problem.c:1487
+#: e2fsck/problem.c:1497
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1492
+#: e2fsck/problem.c:1502
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
 msgid "@E @L to @d %P (%Di).\n"
 msgstr ""
 
-#: e2fsck/problem.c:1497
+#: e2fsck/problem.c:1507
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
 msgid "@E @L to the @r.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1502
+#: e2fsck/problem.c:1512
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
 msgid "@E has illegal characters in its name.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1508
+#: e2fsck/problem.c:1518
 #, no-c-format
 #. @-expanded: Missing '.' in directory inode %i.\n
 msgid "Missing '.' in @d @i %i.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1514
+#: e2fsck/problem.c:1524
 #, no-c-format
 #. @-expanded: Missing '..' in directory inode %i.\n
 msgid "Missing '..' in @d @i %i.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1519
+#: e2fsck/problem.c:1529
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr ""
 
-#: e2fsck/problem.c:1524
+#: e2fsck/problem.c:1534
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr ""
 
-#: e2fsck/problem.c:1529
+#: e2fsck/problem.c:1539
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1534
+#: e2fsck/problem.c:1544
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1539
+#: e2fsck/problem.c:1549
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1544
+#: e2fsck/problem.c:1554
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
 msgid "i_frag @F %N, @s zero.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1549
+#: e2fsck/problem.c:1559
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1554
+#: e2fsck/problem.c:1564
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr ""
 
-#: e2fsck/problem.c:1559
+#: e2fsck/problem.c:1569
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr ""
 
-#: e2fsck/problem.c:1564
+#: e2fsck/problem.c:1574
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr ""
 
-#: e2fsck/problem.c:1569
+#: e2fsck/problem.c:1579
 #. @-expanded: directory inode %i has an unallocated %B.  
 msgid "@d @i %i has an unallocated %B.  "
 msgstr ""
 
-#: e2fsck/problem.c:1575
+#: e2fsck/problem.c:1585
 #, no-c-format
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr ""
 
-#: e2fsck/problem.c:1581
+#: e2fsck/problem.c:1591
 #, no-c-format
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr ""
 
-#: e2fsck/problem.c:1586
+#: e2fsck/problem.c:1596
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1591
+#: e2fsck/problem.c:1601
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1596
+#: e2fsck/problem.c:1606
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
 msgid "@E is duplicate '.' @e.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1601
+#: e2fsck/problem.c:1611
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
 msgid "@E is duplicate '..' @e.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1607 e2fsck/problem.c:1992
+#: e2fsck/problem.c:1617 e2fsck/problem.c:2006
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1612
+#: e2fsck/problem.c:1622
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1618
+#: e2fsck/problem.c:1628
 #, no-c-format
 #. @-expanded: error allocating icount structure: %m\n
 msgid "@A icount structure: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1624
+#: e2fsck/problem.c:1634
 #, no-c-format
 #. @-expanded: Error iterating over directory blocks: %m\n
 msgid "Error iterating over @d @bs: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1629
+#: e2fsck/problem.c:1639
+#, c-format
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1634
+#: e2fsck/problem.c:1644
+#, c-format
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1640
+#: e2fsck/problem.c:1650
 #, no-c-format
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1646
+#: e2fsck/problem.c:1656
 #, no-c-format
 #. @-expanded: Error deallocating inode %i: %m\n
 msgid "Error deallocating @i %i: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1652
+#: e2fsck/problem.c:1662
 #, no-c-format
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1657
+#: e2fsck/problem.c:1667
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1662
+#: e2fsck/problem.c:1672
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1667
+#: e2fsck/problem.c:1677
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
 msgid "Setting filetype for @E to %N.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1672
+#: e2fsck/problem.c:1682
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr ""
 
-#: e2fsck/problem.c:1677
+#: e2fsck/problem.c:1687
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
 msgid "@E has filetype set.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1682
+#: e2fsck/problem.c:1692
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
 msgid "@E has a @z name.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1687
+#: e2fsck/problem.c:1697
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1692
+#: e2fsck/problem.c:1702
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
 msgid "@a @b @F @n (%If).\n"
 msgstr ""
 
-#: e2fsck/problem.c:1697
+#: e2fsck/problem.c:1707
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1702
+#: e2fsck/problem.c:1712
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
 msgid "@p @h %d: %B not referenced\n"
 msgstr ""
 
-#: e2fsck/problem.c:1707
+#: e2fsck/problem.c:1717
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
 msgid "@p @h %d: %B referenced twice\n"
 msgstr ""
 
-#: e2fsck/problem.c:1712
+#: e2fsck/problem.c:1722
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr ""
 
-#: e2fsck/problem.c:1717
+#: e2fsck/problem.c:1727
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr ""
 
-#: e2fsck/problem.c:1722
+#: e2fsck/problem.c:1732
 #. @-expanded: invalid HTREE directory inode %d (%q).  
 msgid "@n @h %d (%q).  "
 msgstr ""
 
-#: e2fsck/problem.c:1726
+#: e2fsck/problem.c:1736
 #. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
 msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1731
+#: e2fsck/problem.c:1741
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1742
+#: e2fsck/problem.c:1752
 #, no-c-format
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
 msgid "@p @h %d: root node is @n\n"
 msgstr ""
 
-#: e2fsck/problem.c:1747
+#: e2fsck/problem.c:1757
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr ""
 
-#: e2fsck/problem.c:1752
+#: e2fsck/problem.c:1762
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr ""
 
-#: e2fsck/problem.c:1757
+#: e2fsck/problem.c:1767
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr ""
 
-#: e2fsck/problem.c:1762
+#: e2fsck/problem.c:1772
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr ""
 
-#: e2fsck/problem.c:1767
+#: e2fsck/problem.c:1777
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
 msgid "Duplicate @E found.  "
 msgstr ""
 
-#: e2fsck/problem.c:1772
+#: e2fsck/problem.c:1782
 #, no-c-format
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
@@ -2530,7 +2595,7 @@
 "Rename to %s"
 msgstr ""
 
-#: e2fsck/problem.c:1777
+#: e2fsck/problem.c:1787
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
@@ -2540,175 +2605,180 @@
 "\n"
 msgstr ""
 
-#: e2fsck/problem.c:1782
+#: e2fsck/problem.c:1792
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1787
+#: e2fsck/problem.c:1797
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr ""
 
-#: e2fsck/problem.c:1792
+#: e2fsck/problem.c:1802
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1797
+#: e2fsck/problem.c:1807
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1802
+#: e2fsck/problem.c:1812
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1808
+#: e2fsck/problem.c:1818
 #, no-c-format
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1814
+#: e2fsck/problem.c:1824
 #, no-c-format
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1819
+#: e2fsck/problem.c:1829
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1824
+#: e2fsck/problem.c:1834
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1829
+#: e2fsck/problem.c:1839
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1835
+#: e2fsck/problem.c:1845
 #, no-c-format
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1840
+#: e2fsck/problem.c:1850
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
 msgid "Encrypted @E is too short.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1845
+#: e2fsck/problem.c:1855
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
 msgid "Encrypted @E references unencrypted @i %Di.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1850
+#: e2fsck/problem.c:1860
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
 msgid ""
 "Encrypted @E references @i %Di, which has a different encryption policy.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1855
+#: e2fsck/problem.c:1865
 #. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
 msgid "@E has illegal UTF-8 characters in its name.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1860
+#: e2fsck/problem.c:1870
 #. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
 msgid "Duplicate filename @E found.  "
 msgstr ""
 
-#: e2fsck/problem.c:1868
+#: e2fsck/problem.c:1875
+#. @-expanded: entry '%Dn' in %p (%i) references EA inode %Di.\n
+msgid "@E references EA @i %Di.\n"
+msgstr ""
+
+#: e2fsck/problem.c:1882
 #. @-expanded: Pass 3: Checking directory connectivity\n
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr ""
 
-#: e2fsck/problem.c:1873
+#: e2fsck/problem.c:1887
 #. @-expanded: root inode not allocated.  
 msgid "@r not allocated.  "
 msgstr ""
 
-#: e2fsck/problem.c:1878
+#: e2fsck/problem.c:1892
 #. @-expanded: No room in lost+found directory.  
 msgid "No room in @l @d.  "
 msgstr ""
 
-#: e2fsck/problem.c:1884
+#: e2fsck/problem.c:1898
 #, no-c-format
 #. @-expanded: Unconnected directory inode %i (was in %q)\n
 msgid "Unconnected @d @i %i (was in %q)\n"
 msgstr ""
 
-#: e2fsck/problem.c:1889
+#: e2fsck/problem.c:1903
 #. @-expanded: /lost+found not found.  
 msgid "/@l not found.  "
 msgstr ""
 
-#: e2fsck/problem.c:1894
+#: e2fsck/problem.c:1908
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr ""
 
-#: e2fsck/problem.c:1900
+#: e2fsck/problem.c:1914
 #, no-c-format
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1906
+#: e2fsck/problem.c:1920
 #, no-c-format
 #. @-expanded: Could not expand /lost+found: %m\n
 msgid "Could not expand /@l: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1912
+#: e2fsck/problem.c:1926
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1918
+#: e2fsck/problem.c:1932
 #, no-c-format
 #. @-expanded: Error while trying to find /lost+found: %m\n
 msgid "Error while trying to find /@l: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1924
+#: e2fsck/problem.c:1938
 #, no-c-format
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr ""
 
-#: e2fsck/problem.c:1930
+#: e2fsck/problem.c:1944
 #, no-c-format
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr ""
 
-#: e2fsck/problem.c:1936
+#: e2fsck/problem.c:1950
 #, no-c-format
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr ""
 
-#: e2fsck/problem.c:1942
+#: e2fsck/problem.c:1956
 #, no-c-format
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr ""
 
-#: e2fsck/problem.c:1948
+#: e2fsck/problem.c:1962
 #, no-c-format
 #. @-expanded: Error while adjusting inode count on inode %i\n
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr ""
 
-#: e2fsck/problem.c:1954
+#: e2fsck/problem.c:1968
 #, no-c-format
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
@@ -2717,7 +2787,7 @@
 "\n"
 msgstr ""
 
-#: e2fsck/problem.c:1960
+#: e2fsck/problem.c:1974
 #, no-c-format
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
@@ -2726,40 +2796,40 @@
 "\n"
 msgstr ""
 
-#: e2fsck/problem.c:1971
+#: e2fsck/problem.c:1985
 #, no-c-format
 #. @-expanded: Error creating root directory (%s): %m\n
 msgid "Error creating root @d (%s): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1977
+#: e2fsck/problem.c:1991
 #, no-c-format
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1982
+#: e2fsck/problem.c:1996
 #. @-expanded: root inode is not a directory; aborting.\n
 msgid "@r is not a @d; aborting.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1987
+#: e2fsck/problem.c:2001
 #. @-expanded: Cannot proceed without a root inode.\n
 msgid "Cannot proceed without a @r.\n"
 msgstr ""
 
-#: e2fsck/problem.c:1998
+#: e2fsck/problem.c:2012
 #, no-c-format
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr ""
 
-#: e2fsck/problem.c:2003
+#: e2fsck/problem.c:2017
 #. @-expanded: /lost+found has inline data\n
 msgid "/@l has inline data\n"
 msgstr ""
 
-#: e2fsck/problem.c:2008
+#: e2fsck/problem.c:2022
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
 msgid ""
@@ -2767,7 +2837,7 @@
 "Place lost files in root directory instead"
 msgstr ""
 
-#: e2fsck/problem.c:2013
+#: e2fsck/problem.c:2027
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
@@ -2777,56 +2847,56 @@
 "\n"
 msgstr ""
 
-#: e2fsck/problem.c:2018
+#: e2fsck/problem.c:2032
 #. @-expanded: /lost+found is encrypted\n
 msgid "/@l is encrypted\n"
 msgstr ""
 
-#: e2fsck/problem.c:2024
+#: e2fsck/problem.c:2038
 #, no-c-format
 #. @-expanded: Recursively looped directory inode %i (%p)\n
 msgid "Recursively looped @d @i %i (%p)\n"
 msgstr ""
 
-#: e2fsck/problem.c:2031
+#: e2fsck/problem.c:2045
 msgid "Pass 3A: Optimizing directories\n"
 msgstr ""
 
-#: e2fsck/problem.c:2037
+#: e2fsck/problem.c:2051
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2042
+#: e2fsck/problem.c:2056
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2047
+#: e2fsck/problem.c:2061
 msgid "Optimizing directories: "
 msgstr ""
 
-#: e2fsck/problem.c:2064
+#: e2fsck/problem.c:2078
 msgid "Pass 4: Checking reference counts\n"
 msgstr ""
 
-#: e2fsck/problem.c:2070
+#: e2fsck/problem.c:2084
 #, no-c-format
 #. @-expanded: unattached zero-length inode %i.  
 msgid "@u @z @i %i.  "
 msgstr ""
 
-#: e2fsck/problem.c:2076
+#: e2fsck/problem.c:2090
 #, no-c-format
 #. @-expanded: unattached inode %i\n
 msgid "@u @i %i\n"
 msgstr ""
 
-#: e2fsck/problem.c:2081
+#: e2fsck/problem.c:2095
 #. @-expanded: inode %i ref count is %Il, should be %N.  
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr ""
 
-#: e2fsck/problem.c:2085
+#: e2fsck/problem.c:2099
 #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n
 #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n
 #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il.  They should be the same!\n
@@ -2836,72 +2906,80 @@
 "@i_link_info[%i] is %N, @i.i_links_count is %Il.  They @s the same!\n"
 msgstr ""
 
-#: e2fsck/problem.c:2092
+#: e2fsck/problem.c:2106
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr ""
 
-#: e2fsck/problem.c:2097
+#: e2fsck/problem.c:2111
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2102
+#: e2fsck/problem.c:2116
 #. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
 msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
 msgstr ""
 
-#: e2fsck/problem.c:2109
+#: e2fsck/problem.c:2120
+#, c-format
+#. @-expanded: Regular filesystem inode %i has EA_INODE flag set. 
+msgid "Regular @f @i %i has EA_INODE flag set. "
+msgstr ""
+
+#: e2fsck/problem.c:2127
 #. @-expanded: Pass 5: Checking group summary information\n
 msgid "Pass 5: Checking @g summary information\n"
 msgstr ""
 
-#: e2fsck/problem.c:2114
+#: e2fsck/problem.c:2132
 #. @-expanded: Padding at end of inode bitmap is not set. 
 msgid "Padding at end of @i @B is not set. "
 msgstr ""
 
-#: e2fsck/problem.c:2119
+#: e2fsck/problem.c:2137
 #. @-expanded: Padding at end of block bitmap is not set. 
 msgid "Padding at end of @b @B is not set. "
 msgstr ""
 
-#: e2fsck/problem.c:2124
+#: e2fsck/problem.c:2142
 #. @-expanded: block bitmap differences: 
 msgid "@b @B differences: "
 msgstr ""
 
-#: e2fsck/problem.c:2146
+#: e2fsck/problem.c:2164
 #. @-expanded: inode bitmap differences: 
 msgid "@i @B differences: "
 msgstr ""
 
-#: e2fsck/problem.c:2168
+#: e2fsck/problem.c:2186
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr ""
 
-#: e2fsck/problem.c:2173
+#: e2fsck/problem.c:2191
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr ""
 
-#: e2fsck/problem.c:2178
+#: e2fsck/problem.c:2196
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr ""
 
-#: e2fsck/problem.c:2183
+#: e2fsck/problem.c:2201
+#, c-format
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr ""
 
-#: e2fsck/problem.c:2188
+#: e2fsck/problem.c:2206
+#, c-format
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr ""
 
-#: e2fsck/problem.c:2193
+#: e2fsck/problem.c:2211
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
 msgid ""
@@ -2909,128 +2987,130 @@
 "endpoints (%i, %j)\n"
 msgstr ""
 
-#: e2fsck/problem.c:2199
+#: e2fsck/problem.c:2217
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr ""
 
-#: e2fsck/problem.c:2205
+#: e2fsck/problem.c:2223
 #, no-c-format
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2211
+#: e2fsck/problem.c:2229
 #, no-c-format
 #. @-expanded: Error copying in replacement block bitmap: %m\n
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2241
+#: e2fsck/problem.c:2259
 #, no-c-format
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr ""
 
-#: e2fsck/problem.c:2247
+#: e2fsck/problem.c:2265
 #, no-c-format
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr ""
 
-#: e2fsck/problem.c:2253
+#: e2fsck/problem.c:2271
 #, no-c-format
 #. @-expanded: group %g inode bitmap does not match checksum.\n
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2259
+#: e2fsck/problem.c:2277
 #, no-c-format
 #. @-expanded: group %g block bitmap does not match checksum.\n
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2266
+#: e2fsck/problem.c:2284
 #. @-expanded: Recreate journal
 msgid "Recreate @j"
 msgstr ""
 
-#: e2fsck/problem.c:2271
+#: e2fsck/problem.c:2289
 msgid "Update quota info for quota type %N"
 msgstr ""
 
-#: e2fsck/problem.c:2277
+#: e2fsck/problem.c:2295
 #, no-c-format
 #. @-expanded: Error setting block group checksum info: %m\n
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2283
+#: e2fsck/problem.c:2301
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2289
+#: e2fsck/problem.c:2307
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2294
+#: e2fsck/problem.c:2312
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2299
+#: e2fsck/problem.c:2317
 #. @-expanded: superblock has orphan file without journal.\n
 msgid "@S has orphan file without @j.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2304
+#: e2fsck/problem.c:2322
 msgid "Failed to truncate orphan file.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2309
+#: e2fsck/problem.c:2327
 msgid "Failed to initialize orphan file.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2314
+#: e2fsck/problem.c:2332
 msgid "Cannot fix corrupted orphan file with invalid bitmaps.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2319
+#: e2fsck/problem.c:2337
 #, c-format
 #. @-expanded: Failed to truncate orphan file (inode %i).\n
 msgid "Failed to truncate orphan file (@i %i).\n"
 msgstr ""
 
-#: e2fsck/problem.c:2324
+#: e2fsck/problem.c:2342
+#, c-format
 #. @-expanded: Orphan file (inode %i) block %b is not clean.\n
 msgid "Orphan file (@i %i) @b %b is not clean.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2329
+#: e2fsck/problem.c:2347
 msgid "Feature orphan_present is set but orphan file is clean.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2334
+#: e2fsck/problem.c:2352
 msgid "Feature orphan_present is set but feature orphan_file is not.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2339
+#: e2fsck/problem.c:2357
 #, c-format
 #. @-expanded: Orphan file (inode %i) size is not multiple of block size.\n
 msgid "Orphan file (@i %i) size is not multiple of block size.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2344
+#: e2fsck/problem.c:2362
+#, c-format
 #. @-expanded: Orphan file (inode %i) contains hole at block %b.\n
 msgid "Orphan file (@i %i) contains hole at @b %b.\n"
 msgstr ""
 
-#: e2fsck/problem.c:2509
+#: e2fsck/problem.c:2527
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr ""
 
-#: e2fsck/problem.c:2637 e2fsck/problem.c:2641
+#: e2fsck/problem.c:2655 e2fsck/problem.c:2659
 msgid "IGNORED"
 msgstr ""
 
@@ -3048,7 +3128,7 @@
 msgid "size of inode=%d\n"
 msgstr ""
 
-#: e2fsck/scantest.c:114 misc/e2image.c:1331
+#: e2fsck/scantest.c:114 misc/e2image.c:1337
 msgid "while opening inode scan"
 msgstr ""
 
@@ -3258,8 +3338,8 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3325 misc/util.c:135
-#: resize/main.c:359
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3326 misc/util.c:135
+#: resize/main.c:357
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr ""
@@ -3307,77 +3387,77 @@
 msgid "check aborted.\n"
 msgstr ""
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:383
 msgid " contains a file system with errors"
 msgstr ""
 
-#: e2fsck/unix.c:381
+#: e2fsck/unix.c:385
 msgid " was not cleanly unmounted"
 msgstr ""
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:387
 msgid " primary superblock features different from backup"
 msgstr ""
 
-#: e2fsck/unix.c:387
+#: e2fsck/unix.c:391
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr ""
 
-#: e2fsck/unix.c:394
+#: e2fsck/unix.c:398
 msgid " has filesystem last checked time in the future"
 msgstr ""
 
-#: e2fsck/unix.c:400
+#: e2fsck/unix.c:404
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr ""
 
-#: e2fsck/unix.c:409
+#: e2fsck/unix.c:413
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr ""
 
-#: e2fsck/unix.c:415
+#: e2fsck/unix.c:419
 msgid ", check forced.\n"
 msgstr ""
 
-#: e2fsck/unix.c:448
+#: e2fsck/unix.c:452
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr ""
 
-#: e2fsck/unix.c:469
+#: e2fsck/unix.c:473
 msgid " (check deferred; on battery)"
 msgstr ""
 
-#: e2fsck/unix.c:472
+#: e2fsck/unix.c:476
 msgid " (check after next mount)"
 msgstr ""
 
-#: e2fsck/unix.c:474
+#: e2fsck/unix.c:478
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr ""
 
-#: e2fsck/unix.c:624
+#: e2fsck/unix.c:628
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr ""
 
-#: e2fsck/unix.c:695
+#: e2fsck/unix.c:699
 msgid "Invalid EA version.\n"
 msgstr ""
 
-#: e2fsck/unix.c:708
+#: e2fsck/unix.c:712
 msgid "Invalid readahead buffer size.\n"
 msgstr ""
 
-#: e2fsck/unix.c:771
+#: e2fsck/unix.c:775
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:779
+#: e2fsck/unix.c:783
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3385,87 +3465,87 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:783
+#: e2fsck/unix.c:787
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr ""
 
-#: e2fsck/unix.c:792
+#: e2fsck/unix.c:796
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr ""
 
-#: e2fsck/unix.c:805
+#: e2fsck/unix.c:809
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
 "\t%s\n"
 msgstr ""
 
-#: e2fsck/unix.c:878
+#: e2fsck/unix.c:882
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:886
 msgid "Invalid completion information file descriptor"
 msgstr ""
 
-#: e2fsck/unix.c:897
+#: e2fsck/unix.c:901
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr ""
 
-#: e2fsck/unix.c:918
+#: e2fsck/unix.c:922
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr ""
 
-#: e2fsck/unix.c:950 e2fsck/unix.c:1028 misc/e2initrd_helper.c:331
+#: e2fsck/unix.c:954 e2fsck/unix.c:1032 misc/e2initrd_helper.c:331
 #: misc/tune2fs.c:1920 misc/tune2fs.c:2220 misc/tune2fs.c:2238
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr ""
 
-#: e2fsck/unix.c:1007
+#: e2fsck/unix.c:1011
 msgid "The -n and -D options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1012
+#: e2fsck/unix.c:1016
 msgid "The -n and -c options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1017
+#: e2fsck/unix.c:1021
 msgid "The -n and -l/-L options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1041
+#: e2fsck/unix.c:1045
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1047
+#: e2fsck/unix.c:1051
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1098
+#: e2fsck/unix.c:1102
 #, c-format
 msgid "while opening %s for flushing"
 msgstr ""
 
-#: e2fsck/unix.c:1104 resize/main.c:391
+#: e2fsck/unix.c:1108 resize/main.c:389
 #, c-format
 msgid "while trying to flush %s"
 msgstr ""
 
-#: e2fsck/unix.c:1111
+#: e2fsck/unix.c:1115
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1158
+#: e2fsck/unix.c:1162
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:1167
+#: e2fsck/unix.c:1171
 #, c-format
 msgid ""
 "\n"
@@ -3473,31 +3553,31 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:1265
+#: e2fsck/unix.c:1269
 #, c-format
 msgid ""
 "MMP interval is %u seconds and total wait time is %u seconds. Please "
 "wait...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1282 e2fsck/unix.c:1287
+#: e2fsck/unix.c:1286 e2fsck/unix.c:1291
 msgid "while checking MMP block"
 msgstr ""
 
-#: e2fsck/unix.c:1289
+#: e2fsck/unix.c:1293
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp %s'\n"
 msgstr ""
 
-#: e2fsck/unix.c:1305
+#: e2fsck/unix.c:1309
 msgid "while reading MMP block"
 msgstr ""
 
-#: e2fsck/unix.c:1325 e2fsck/unix.c:1377 misc/e2undo.c:242 misc/e2undo.c:287
-#: misc/mke2fs.c:2826 misc/mke2fs.c:2877 misc/tune2fs.c:2960
-#: misc/tune2fs.c:3005 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1329 e2fsck/unix.c:1381 misc/e2undo.c:242 misc/e2undo.c:287
+#: misc/mke2fs.c:2850 misc/mke2fs.c:2901 misc/tune2fs.c:2961
+#: misc/tune2fs.c:3006 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3505,215 +3585,215 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:1366 misc/e2undo.c:276 misc/mke2fs.c:2866 misc/tune2fs.c:2994
+#: e2fsck/unix.c:1370 misc/e2undo.c:276 misc/mke2fs.c:2890 misc/tune2fs.c:2995
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr ""
 
-#: e2fsck/unix.c:1392 misc/mke2fs.c:2892 resize/main.c:243
+#: e2fsck/unix.c:1396 misc/mke2fs.c:2916 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr ""
 
-#: e2fsck/unix.c:1436
+#: e2fsck/unix.c:1440
 msgid "Error: ext2fs library version out of date!\n"
 msgstr ""
 
-#: e2fsck/unix.c:1443
+#: e2fsck/unix.c:1447
 msgid "while trying to initialize program"
 msgstr ""
 
-#: e2fsck/unix.c:1480
+#: e2fsck/unix.c:1484
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:1492
+#: e2fsck/unix.c:1496
 msgid "need terminal for interactive repairs"
 msgstr ""
 
-#: e2fsck/unix.c:1553
+#: e2fsck/unix.c:1557
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1555
+#: e2fsck/unix.c:1559
 msgid "Superblock invalid,"
 msgstr ""
 
-#: e2fsck/unix.c:1556
+#: e2fsck/unix.c:1560
 msgid "Group descriptors look bad..."
 msgstr ""
 
-#: e2fsck/unix.c:1566
-#, c-format
-msgid "%s: %s while using the backup blocks"
-msgstr ""
-
 #: e2fsck/unix.c:1570
 #, c-format
+msgid "%s: %s while using the backup blocks"
+msgstr ""
+
+#: e2fsck/unix.c:1574
+#, c-format
 msgid "%s: going back to original superblock\n"
 msgstr ""
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1603
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:1606
+#: e2fsck/unix.c:1610
 msgid "Could this be a zero-length partition?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1608
+#: e2fsck/unix.c:1612
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr ""
 
-#: e2fsck/unix.c:1614
+#: e2fsck/unix.c:1618
 msgid "Possibly non-existent or swap device?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1616
+#: e2fsck/unix.c:1620
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1620
+#: e2fsck/unix.c:1624
 msgid "Possibly non-existent device?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1623
+#: e2fsck/unix.c:1627
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1638
+#: e2fsck/unix.c:1642
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1713
+#: e2fsck/unix.c:1717
 msgid "Get a newer version of e2fsck!"
 msgstr ""
 
-#: e2fsck/unix.c:1773
+#: e2fsck/unix.c:1777
 #, c-format
 msgid "while checking journal for %s"
 msgstr ""
 
-#: e2fsck/unix.c:1776
+#: e2fsck/unix.c:1780
 msgid "Cannot proceed with file system check"
 msgstr ""
 
-#: e2fsck/unix.c:1787
+#: e2fsck/unix.c:1791
 msgid ""
 "Warning: skipping journal recovery because doing a read-only filesystem "
 "check.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1799
+#: e2fsck/unix.c:1803
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:1805
+#: e2fsck/unix.c:1809
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:1809
+#: e2fsck/unix.c:1813
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:1813
+#: e2fsck/unix.c:1817
 #, c-format
 msgid "while recovering journal of %s"
 msgstr ""
 
-#: e2fsck/unix.c:1835
+#: e2fsck/unix.c:1839
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr ""
 
-#: e2fsck/unix.c:1850
+#: e2fsck/unix.c:1854
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr ""
 
-#: e2fsck/unix.c:1900
+#: e2fsck/unix.c:1904
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr ""
 
-#: e2fsck/unix.c:1903
+#: e2fsck/unix.c:1907
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1946
+#: e2fsck/unix.c:1950
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr ""
 
-#: e2fsck/unix.c:1955 e2fsck/unix.c:2027
+#: e2fsck/unix.c:1959 e2fsck/unix.c:2031
 msgid " Done.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1957
+#: e2fsck/unix.c:1961
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
 msgstr ""
 
-#: e2fsck/unix.c:1963
+#: e2fsck/unix.c:1967
 msgid "aborted"
 msgstr ""
 
-#: e2fsck/unix.c:1965
+#: e2fsck/unix.c:1969
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr ""
 
-#: e2fsck/unix.c:2015
+#: e2fsck/unix.c:2019
 #, c-format
 msgid "Creating orphan file (%d blocks): "
 msgstr ""
 
-#: e2fsck/unix.c:2059
+#: e2fsck/unix.c:2063
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr ""
 
-#: e2fsck/unix.c:2063
+#: e2fsck/unix.c:2067
 msgid "while resetting context"
 msgstr ""
 
-#: e2fsck/unix.c:2123
+#: e2fsck/unix.c:2127
 #, c-format
 msgid ""
 "\n"
 "%s: ***** FILE SYSTEM ERRORS CORRECTED *****\n"
 msgstr ""
 
-#: e2fsck/unix.c:2125
+#: e2fsck/unix.c:2129
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr ""
 
-#: e2fsck/unix.c:2129 e2fsck/util.c:67
+#: e2fsck/unix.c:2133 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
 "%s: ***** FILE SYSTEM WAS MODIFIED *****\n"
 msgstr ""
 
-#: e2fsck/unix.c:2134
+#: e2fsck/unix.c:2138
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr ""
 
-#: e2fsck/unix.c:2144 e2fsck/util.c:73
+#: e2fsck/unix.c:2148 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -4138,168 +4218,168 @@
 msgid "Must use '-v', =, - or +\n"
 msgstr ""
 
-#: misc/create_inode.c:82 misc/create_inode.c:121
+#: misc/create_inode.c:81 misc/create_inode.c:127
 #, c-format
 msgid "while reading inode %u"
 msgstr ""
 
-#: misc/create_inode.c:92 misc/create_inode.c:301 misc/create_inode.c:368
-#: misc/create_inode.c:406
+#: misc/create_inode.c:91 misc/create_inode.c:307 misc/create_inode.c:374
+#: misc/create_inode.c:412
 msgid "while expanding directory"
 msgstr ""
 
-#: misc/create_inode.c:99
+#: misc/create_inode.c:98
 #, c-format
 msgid "while linking \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:107 misc/create_inode.c:136 misc/create_inode.c:337
+#: misc/create_inode.c:106 misc/create_inode.c:142 misc/create_inode.c:343
 #, c-format
 msgid "while writing inode %u"
 msgstr ""
 
-#: misc/create_inode.c:158 misc/create_inode.c:189
+#: misc/create_inode.c:164 misc/create_inode.c:195
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:169
+#: misc/create_inode.c:175
 #, c-format
 msgid "while opening inode %u"
 msgstr ""
 
-#: misc/create_inode.c:176
+#: misc/create_inode.c:182
 #, c-format
 msgid "while reading xattrs for inode %u"
 msgstr ""
 
-#: misc/create_inode.c:182 misc/create_inode.c:209 misc/create_inode.c:1066
+#: misc/create_inode.c:188 misc/create_inode.c:215 misc/create_inode.c:1072
 #: misc/e2undo.c:188 misc/e2undo.c:485 misc/e2undo.c:491 misc/e2undo.c:497
-#: misc/mke2fs.c:363
+#: misc/mke2fs.c:364
 msgid "while allocating memory"
 msgstr ""
 
-#: misc/create_inode.c:202 misc/create_inode.c:218
+#: misc/create_inode.c:208 misc/create_inode.c:224
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:227
+#: misc/create_inode.c:233
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr ""
 
-#: misc/create_inode.c:237
+#: misc/create_inode.c:243
 #, c-format
 msgid "while closing inode %u"
 msgstr ""
 
-#: misc/create_inode.c:288
+#: misc/create_inode.c:294
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:307
+#: misc/create_inode.c:313
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:375
+#: misc/create_inode.c:381
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:393 misc/create_inode.c:658 misc/create_inode.c:986
+#: misc/create_inode.c:399 misc/create_inode.c:664 misc/create_inode.c:992
 #, c-format
 msgid "while looking up \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:413
+#: misc/create_inode.c:419
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:644
+#: misc/create_inode.c:650
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr ""
 
-#: misc/create_inode.c:824
+#: misc/create_inode.c:830
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:834
+#: misc/create_inode.c:840
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:844
+#: misc/create_inode.c:850
 #, c-format
 msgid "while lstat \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:894
+#: misc/create_inode.c:900
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:906
+#: misc/create_inode.c:912
 msgid "malloc failed"
 msgstr ""
 
-#: misc/create_inode.c:914
+#: misc/create_inode.c:920
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:921
+#: misc/create_inode.c:927
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr ""
 
-#: misc/create_inode.c:932
+#: misc/create_inode.c:938
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr ""
 
-#: misc/create_inode.c:944
+#: misc/create_inode.c:950
 #, c-format
 msgid "while writing file \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:957
+#: misc/create_inode.c:963
 #, c-format
 msgid "while making dir \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:975
+#: misc/create_inode.c:981
 msgid "while changing directory"
 msgstr ""
 
-#: misc/create_inode.c:981
+#: misc/create_inode.c:987
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:994
+#: misc/create_inode.c:1000
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:1001
+#: misc/create_inode.c:1007
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:1027
+#: misc/create_inode.c:1033
 msgid "while saving inode data"
 msgstr ""
 
-#: misc/create_inode.c:1086
+#: misc/create_inode.c:1092
 msgid "while calling stat"
 msgstr ""
 
-#: misc/create_inode.c:1098
+#: misc/create_inode.c:1104
 msgid "while copying xattrs on root directory"
 msgstr ""
 
@@ -4450,7 +4530,7 @@
 msgid "reading MMP block %llu from '%s'\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:520 misc/mke2fs.c:837 misc/tune2fs.c:2260
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:849 misc/tune2fs.c:2260
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr ""
 
@@ -4478,13 +4558,13 @@
 "\tblocksize=<blocksize>\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:663 misc/mke2fs.c:1963
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1990
 #, c-format
 msgid "\tUsing %s\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:710 misc/e2image.c:1643 misc/tune2fs.c:3250
-#: resize/main.c:426
+#: misc/dumpe2fs.c:710 misc/e2image.c:1649 misc/tune2fs.c:3251
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr ""
 
@@ -4523,7 +4603,7 @@
 "[ dest_fs ]\n"
 msgstr ""
 
-#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599 misc/e2image.c:1201
+#: misc/e2image.c:177 misc/e2image.c:599 misc/e2image.c:605 misc/e2image.c:1207
 msgid "while allocating buffer"
 msgstr ""
 
@@ -4549,158 +4629,158 @@
 msgid "Couldn't allocate header buffer\n"
 msgstr ""
 
-#: misc/e2image.c:250
+#: misc/e2image.c:251
 msgid "while writing superblock"
 msgstr ""
 
-#: misc/e2image.c:259
+#: misc/e2image.c:260
 msgid "while writing inode table"
 msgstr ""
 
-#: misc/e2image.c:267
+#: misc/e2image.c:268
 msgid "while writing block bitmap"
 msgstr ""
 
-#: misc/e2image.c:275
+#: misc/e2image.c:276
 msgid "while writing inode bitmap"
 msgstr ""
 
-#: misc/e2image.c:517
+#: misc/e2image.c:523
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr ""
 
-#: misc/e2image.c:529
+#: misc/e2image.c:535
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr ""
 
-#: misc/e2image.c:570
+#: misc/e2image.c:576
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr ""
 
-#: misc/e2image.c:603 misc/e2image.c:643
+#: misc/e2image.c:609 misc/e2image.c:649
 msgid "Copying "
 msgstr ""
 
-#: misc/e2image.c:640
+#: misc/e2image.c:646
 msgid ""
 "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr ""
 
-#: misc/e2image.c:666
+#: misc/e2image.c:672
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr ""
 
-#: misc/e2image.c:678 misc/e2image.c:1211
+#: misc/e2image.c:684 misc/e2image.c:1217
 #, c-format
 msgid "error reading block %llu"
 msgstr ""
 
-#: misc/e2image.c:733
+#: misc/e2image.c:739
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr ""
 
-#: misc/e2image.c:738
+#: misc/e2image.c:744
 #, c-format
 msgid "at %.2f MB/s"
 msgstr ""
 
-#: misc/e2image.c:774
+#: misc/e2image.c:780
 msgid "while allocating l1 table"
 msgstr ""
 
-#: misc/e2image.c:819
+#: misc/e2image.c:825
 msgid "while allocating l2 cache"
 msgstr ""
 
-#: misc/e2image.c:842
+#: misc/e2image.c:848
 msgid ""
 "Warning: There are still tables in the cache while putting the cache, data "
 "will be lost so the image may not be valid.\n"
 msgstr ""
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1174
 msgid "while allocating ext2_qcow2_image"
 msgstr ""
 
-#: misc/e2image.c:1175
+#: misc/e2image.c:1181
 msgid "while initializing ext2_qcow2_image"
 msgstr ""
 
-#: misc/e2image.c:1235 misc/e2image.c:1253
+#: misc/e2image.c:1241 misc/e2image.c:1259
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr ""
 
-#: misc/e2image.c:1294
+#: misc/e2image.c:1300
 msgid "while allocating block bitmap"
 msgstr ""
 
-#: misc/e2image.c:1303
+#: misc/e2image.c:1309
 msgid "while allocating scramble block bitmap"
 msgstr ""
 
-#: misc/e2image.c:1326
+#: misc/e2image.c:1332
 msgid "Scanning inodes...\n"
 msgstr ""
 
-#: misc/e2image.c:1338
+#: misc/e2image.c:1344
 msgid "Can't allocate block buffer"
 msgstr ""
 
-#: misc/e2image.c:1350
+#: misc/e2image.c:1356
 msgid "while getting next inode"
 msgstr ""
 
-#: misc/e2image.c:1380 misc/e2image.c:1394
+#: misc/e2image.c:1386 misc/e2image.c:1400
 #, c-format
 msgid "while iterating over inode %u"
 msgstr ""
 
-#: misc/e2image.c:1426
+#: misc/e2image.c:1432
 msgid "Raw and qcow2 images cannot be installed"
 msgstr ""
 
-#: misc/e2image.c:1448
+#: misc/e2image.c:1454
 msgid "error reading bitmaps"
 msgstr ""
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1466
 msgid "while opening device file"
 msgstr ""
 
-#: misc/e2image.c:1471
+#: misc/e2image.c:1477
 msgid "while restoring the image table"
 msgstr ""
 
-#: misc/e2image.c:1579
+#: misc/e2image.c:1585
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr ""
 
-#: misc/e2image.c:1584
+#: misc/e2image.c:1590
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr ""
 
-#: misc/e2image.c:1590
+#: misc/e2image.c:1596
 msgid "Offsets are only allowed with raw images."
 msgstr ""
 
-#: misc/e2image.c:1595
+#: misc/e2image.c:1601
 msgid "Move mode is only allowed with raw images."
 msgstr ""
 
-#: misc/e2image.c:1600
+#: misc/e2image.c:1606
 msgid "Move mode requires all data mode."
 msgstr ""
 
-#: misc/e2image.c:1610
+#: misc/e2image.c:1616
 msgid "checking if mounted"
 msgstr ""
 
-#: misc/e2image.c:1617
+#: misc/e2image.c:1623
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4708,51 +4788,51 @@
 "Use -f option if you really want to do that.\n"
 msgstr ""
 
-#: misc/e2image.c:1671
+#: misc/e2image.c:1677
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr ""
 
-#: misc/e2image.c:1677
+#: misc/e2image.c:1683
 msgid "Can not stat output\n"
 msgstr ""
 
-#: misc/e2image.c:1687
-#, c-format
-msgid "Image (%s) is compressed\n"
-msgstr ""
-
-#: misc/e2image.c:1690
-#, c-format
-msgid "Image (%s) is encrypted\n"
-msgstr ""
-
 #: misc/e2image.c:1693
 #, c-format
+msgid "Image (%s) is compressed\n"
+msgstr ""
+
+#: misc/e2image.c:1696
+#, c-format
+msgid "Image (%s) is encrypted\n"
+msgstr ""
+
+#: misc/e2image.c:1699
+#, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr ""
 
-#: misc/e2image.c:1697
+#: misc/e2image.c:1703
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr ""
 
-#: misc/e2image.c:1707
+#: misc/e2image.c:1713
 msgid "The -c option only supported in raw mode\n"
 msgstr ""
 
-#: misc/e2image.c:1712
+#: misc/e2image.c:1718
 msgid "The -c option not supported when writing to stdout\n"
 msgstr ""
 
-#: misc/e2image.c:1719
+#: misc/e2image.c:1725
 msgid "while allocating check_buf"
 msgstr ""
 
-#: misc/e2image.c:1725
+#: misc/e2image.c:1731
 msgid "The -p option only supported in raw mode\n"
 msgstr ""
 
-#: misc/e2image.c:1735
+#: misc/e2image.c:1741
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr ""
@@ -4782,7 +4862,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr ""
 
-#: misc/e2label.c:97 misc/tune2fs.c:3137 misc/tune2fs.c:3460
+#: misc/e2label.c:97 misc/tune2fs.c:3138 misc/tune2fs.c:3465
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr ""
@@ -4958,51 +5038,51 @@
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr ""
 
-#: misc/findsuper.c:110
+#: misc/findsuper.c:108
 #, c-format
 msgid "Usage:  findsuper device [skipbytes [startkb]]\n"
 msgstr ""
 
-#: misc/findsuper.c:155
+#: misc/findsuper.c:153
 #, c-format
 msgid "skipbytes should be a number, not %s\n"
 msgstr ""
 
-#: misc/findsuper.c:162
+#: misc/findsuper.c:160
 #, c-format
 msgid "skipbytes must be a multiple of the sector size\n"
 msgstr ""
 
-#: misc/findsuper.c:169
+#: misc/findsuper.c:167
 #, c-format
 msgid "startkb should be a number, not %s\n"
 msgstr ""
 
-#: misc/findsuper.c:175
+#: misc/findsuper.c:173
 #, c-format
 msgid "startkb should be positive, not %llu\n"
 msgstr ""
 
-#: misc/findsuper.c:186
+#: misc/findsuper.c:184
 #, c-format
 msgid "starting at %llu, with %u byte increments\n"
 msgstr ""
 
-#: misc/findsuper.c:188
+#: misc/findsuper.c:186
 #, c-format
 msgid ""
 "[*] probably superblock written in the ext3 journal superblock,\n"
 "\tso start/end/grp wrong\n"
 msgstr ""
 
-#: misc/findsuper.c:190
+#: misc/findsuper.c:188
 #, c-format
 msgid ""
 "byte_offset  byte_start     byte_end  fs_blocks blksz  grp  mkfs/"
 "mount_time           sb_uuid label\n"
 msgstr ""
 
-#: misc/findsuper.c:264
+#: misc/findsuper.c:262
 #, c-format
 msgid ""
 "\n"
@@ -5067,92 +5147,92 @@
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr ""
 
-#: misc/fsck.c:894
+#: misc/fsck.c:895
 #, c-format
 msgid ""
 "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
 "number\n"
 msgstr ""
 
-#: misc/fsck.c:921
+#: misc/fsck.c:922
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr ""
 
-#: misc/fsck.c:977
+#: misc/fsck.c:978
 msgid "Checking all file systems.\n"
 msgstr ""
 
-#: misc/fsck.c:1068
+#: misc/fsck.c:1069
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr ""
 
-#: misc/fsck.c:1088
+#: misc/fsck.c:1089
 msgid ""
 "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr ""
 
-#: misc/fsck.c:1130
+#: misc/fsck.c:1131
 #, c-format
 msgid "%s: too many devices\n"
 msgstr ""
 
-#: misc/fsck.c:1163 misc/fsck.c:1249
+#: misc/fsck.c:1164 misc/fsck.c:1250
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3804
+#: misc/fuse2fs.c:3819
 msgid "Mounting read-only.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3828
+#: misc/fuse2fs.c:3843
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3842 misc/fuse2fs.c:3860
+#: misc/fuse2fs.c:3857 misc/fuse2fs.c:3875
 #, c-format
 msgid "%s: %s.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3843 misc/fuse2fs.c:3862 misc/tune2fs.c:3351
+#: misc/fuse2fs.c:3858 misc/fuse2fs.c:3877 misc/tune2fs.c:3352
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3853
+#: misc/fuse2fs.c:3868
 #, c-format
 msgid "%s: mounting read-only without recovering journal\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3869
+#: misc/fuse2fs.c:3884
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3877
+#: misc/fuse2fs.c:3892
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3892
+#: misc/fuse2fs.c:3907
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3896
+#: misc/fuse2fs.c:3911
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3901
+#: misc/fuse2fs.c:3916
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3905
+#: misc/fuse2fs.c:3920
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3909
+#: misc/fuse2fs.c:3924
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr ""
 
@@ -5180,7 +5260,7 @@
 msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
 msgstr ""
 
-#: misc/mke2fs.c:133
+#: misc/mke2fs.c:134
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5194,35 +5274,35 @@
 "\t[-jnqvDFSV] device [blocks-count]\n"
 msgstr ""
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:266
 #, c-format
 msgid "Running command: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:269
+#: misc/mke2fs.c:270
 #, c-format
 msgid "while trying to run '%s'"
 msgstr ""
 
-#: misc/mke2fs.c:276
+#: misc/mke2fs.c:277
 msgid "while processing list of bad blocks from program"
 msgstr ""
 
-#: misc/mke2fs.c:303
+#: misc/mke2fs.c:304
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr ""
 
-#: misc/mke2fs.c:305
+#: misc/mke2fs.c:306
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr ""
 
-#: misc/mke2fs.c:308
+#: misc/mke2fs.c:309
 msgid "Aborting....\n"
 msgstr ""
 
-#: misc/mke2fs.c:328
+#: misc/mke2fs.c:329
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5230,268 +5310,278 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:347 misc/mke2fs.c:3398
+#: misc/mke2fs.c:348 misc/mke2fs.c:3422
 msgid "while marking bad blocks as used"
 msgstr ""
 
-#: misc/mke2fs.c:372
+#: misc/mke2fs.c:373
 msgid "while writing reserved inodes"
 msgstr ""
 
-#: misc/mke2fs.c:424
+#: misc/mke2fs.c:425
 msgid "Writing inode tables: "
 msgstr ""
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:475
+#: misc/mke2fs.c:457 misc/mke2fs.c:476
 #, c-format
 msgid ""
 "\n"
 "Could not write %d blocks in inode table starting at %llu: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:485 misc/mke2fs.c:2938 misc/mke2fs.c:3358
+#: misc/mke2fs.c:486 misc/mke2fs.c:2962 misc/mke2fs.c:3382
 msgid "done                            \n"
 msgstr ""
 
-#: misc/mke2fs.c:500
+#: misc/mke2fs.c:502
 msgid "while creating root dir"
 msgstr ""
 
-#: misc/mke2fs.c:507
+#: misc/mke2fs.c:512
 msgid "while reading root inode"
 msgstr ""
 
-#: misc/mke2fs.c:519
+#: misc/mke2fs.c:532
 msgid "while setting root inode ownership"
 msgstr ""
 
-#: misc/mke2fs.c:537
+#: misc/mke2fs.c:550
 msgid "while creating /lost+found"
 msgstr ""
 
-#: misc/mke2fs.c:544
+#: misc/mke2fs.c:557
 msgid "while looking up /lost+found"
 msgstr ""
 
-#: misc/mke2fs.c:557
+#: misc/mke2fs.c:570
 msgid "while expanding /lost+found"
 msgstr ""
 
-#: misc/mke2fs.c:572
+#: misc/mke2fs.c:585
 msgid "while setting bad block inode"
 msgstr ""
 
-#: misc/mke2fs.c:599
+#: misc/mke2fs.c:612
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr ""
 
-#: misc/mke2fs.c:609
+#: misc/mke2fs.c:622
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:627
+#: misc/mke2fs.c:640
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:643
+#: misc/mke2fs.c:656
 msgid "while splitting the journal size"
 msgstr ""
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:663
 msgid "while initializing journal superblock"
 msgstr ""
 
-#: misc/mke2fs.c:658
+#: misc/mke2fs.c:671
 msgid "Zeroing journal device: "
 msgstr ""
 
-#: misc/mke2fs.c:670
+#: misc/mke2fs.c:683
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr ""
 
-#: misc/mke2fs.c:688
+#: misc/mke2fs.c:701
 msgid "while writing journal superblock"
 msgstr ""
 
-#: misc/mke2fs.c:702
+#: misc/mke2fs.c:715
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr ""
 
-#: misc/mke2fs.c:710
+#: misc/mke2fs.c:723
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:727
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr ""
 
-#: misc/mke2fs.c:718
+#: misc/mke2fs.c:731
 #, c-format
 msgid "OS type: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:720
+#: misc/mke2fs.c:733
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr ""
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr ""
 
-#: misc/mke2fs.c:727
+#: misc/mke2fs.c:740
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr ""
 
-#: misc/mke2fs.c:729
+#: misc/mke2fs.c:742
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr ""
 
-#: misc/mke2fs.c:731
+#: misc/mke2fs.c:744
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr ""
 
-#: misc/mke2fs.c:733
+#: misc/mke2fs.c:746
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr ""
 
-#: misc/mke2fs.c:736
+#: misc/mke2fs.c:749
 #, c-format
 msgid "First data block=%u\n"
 msgstr ""
 
-#: misc/mke2fs.c:738
+#: misc/mke2fs.c:751
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr ""
 
-#: misc/mke2fs.c:740
+#: misc/mke2fs.c:753
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr ""
 
-#: misc/mke2fs.c:744
+#: misc/mke2fs.c:757
 #, c-format
 msgid "%u block groups\n"
 msgstr ""
 
-#: misc/mke2fs.c:746
+#: misc/mke2fs.c:759
 #, c-format
 msgid "%u block group\n"
 msgstr ""
 
-#: misc/mke2fs.c:748
+#: misc/mke2fs.c:761
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr ""
 
-#: misc/mke2fs.c:751
+#: misc/mke2fs.c:764
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr ""
 
-#: misc/mke2fs.c:753
+#: misc/mke2fs.c:766
 #, c-format
 msgid "%u inodes per group\n"
 msgstr ""
 
-#: misc/mke2fs.c:762
+#: misc/mke2fs.c:775
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:763
+#: misc/mke2fs.c:776
 msgid "Superblock backups stored on blocks: "
 msgstr ""
 
-#: misc/mke2fs.c:859
+#: misc/mke2fs.c:869
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr ""
 
-#: misc/mke2fs.c:865
+#: misc/mke2fs.c:875
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr ""
 
-#: misc/mke2fs.c:878
+#: misc/mke2fs.c:888
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr ""
 
-#: misc/mke2fs.c:892
+#: misc/mke2fs.c:902
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:904
+#: misc/mke2fs.c:914
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:918 misc/tune2fs.c:2288
+#: misc/mke2fs.c:928 misc/tune2fs.c:2288
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:935
+#: misc/mke2fs.c:945
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:957
+#: misc/mke2fs.c:967
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:972
+#: misc/mke2fs.c:982
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:995
+#: misc/mke2fs.c:1005
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1002
+#: misc/mke2fs.c:1012
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1026
+#: misc/mke2fs.c:1036
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:1057 misc/mke2fs.c:1066
+#: misc/mke2fs.c:1053
+#, c-format
+msgid "bad revision level - %s"
+msgstr ""
+
+#: misc/mke2fs.c:1058
+#, c-format
+msgid "while trying to create revision %d"
+msgstr ""
+
+#: misc/mke2fs.c:1085 misc/mke2fs.c:1094
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr ""
 
-#: misc/mke2fs.c:1111
+#: misc/mke2fs.c:1143
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr ""
 
-#: misc/mke2fs.c:1133 misc/tune2fs.c:2423
+#: misc/mke2fs.c:1165 misc/tune2fs.c:2423
 #, c-format
 msgid "Invalid size of orphan file %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1144
+#: misc/mke2fs.c:1176
 #, c-format
 msgid ""
 "\n"
@@ -5511,9 +5601,11 @@
 "\tlazy_itable_init=<0 to disable, 1 to enable>\n"
 "\tlazy_journal_init=<0 to disable, 1 to enable>\n"
 "\troot_owner=<uid of root dir>:<gid of root dir>\n"
+"\troot_perms=<octal root directory permissions>\n"
 "\ttest_fs\n"
 "\tdiscard\n"
 "\tnodiscard\n"
+"\trevision=<revision>\n"
 "\tencoding=<encoding>\n"
 "\tencoding_flags=<flags>\n"
 "\tquotatype=<quota type(s) to be enabled>\n"
@@ -5521,7 +5613,7 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1172
+#: misc/mke2fs.c:1206
 #, c-format
 msgid ""
 "\n"
@@ -5529,52 +5621,52 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1183 misc/tune2fs.c:2439
+#: misc/mke2fs.c:1217 misc/tune2fs.c:2439
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1189 misc/tune2fs.c:2448
+#: misc/mke2fs.c:1223 misc/tune2fs.c:2448
 #, c-format
 msgid ""
 "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr ""
 
-#: misc/mke2fs.c:1240
+#: misc/mke2fs.c:1274
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
 "\t%s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1253 misc/tune2fs.c:1182
+#: misc/mke2fs.c:1287 misc/tune2fs.c:1182
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1265 misc/tune2fs.c:459
+#: misc/mke2fs.c:1299 misc/tune2fs.c:459
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1401
+#: misc/mke2fs.c:1435
 #, c-format
 msgid ""
 "\n"
 "Your mke2fs.conf file does not define the %s filesystem type.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1405
+#: misc/mke2fs.c:1439
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1409
+#: misc/mke2fs.c:1443
 msgid "Aborting...\n"
 msgstr ""
 
-#: misc/mke2fs.c:1450
+#: misc/mke2fs.c:1484
 #, c-format
 msgid ""
 "\n"
@@ -5582,164 +5674,169 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1640
+#: misc/mke2fs.c:1673
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1680
-#, c-format
-msgid "Couldn't init profile successfully (error: %ld).\n"
-msgstr ""
-
 #: misc/mke2fs.c:1713
 #, c-format
+msgid "Couldn't init profile successfully (error: %ld).\n"
+msgstr ""
+
+#: misc/mke2fs.c:1746
+#, c-format
 msgid "invalid block size - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1717
+#: misc/mke2fs.c:1750
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1733
+#: misc/mke2fs.c:1766
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1746
+#: misc/mke2fs.c:1779
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr ""
 
-#: misc/mke2fs.c:1760 misc/tune2fs.c:2014
+#: misc/mke2fs.c:1793 misc/tune2fs.c:2014
 #, c-format
 msgid "bad error behavior - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1772
+#: misc/mke2fs.c:1805
 msgid "Illegal number for blocks per group"
 msgstr ""
 
-#: misc/mke2fs.c:1777
+#: misc/mke2fs.c:1810
 msgid "blocks per group must be multiple of 8"
 msgstr ""
 
-#: misc/mke2fs.c:1785
+#: misc/mke2fs.c:1818
 msgid "Illegal number for flex_bg size"
 msgstr ""
 
-#: misc/mke2fs.c:1791
+#: misc/mke2fs.c:1824
 msgid "flex_bg size must be a power of 2"
 msgstr ""
 
-#: misc/mke2fs.c:1796
+#: misc/mke2fs.c:1829
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr ""
 
-#: misc/mke2fs.c:1806
+#: misc/mke2fs.c:1839
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:1816
+#: misc/mke2fs.c:1849
 #, c-format
 msgid "invalid inode size - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1831
+#: misc/mke2fs.c:1864
 msgid ""
 "Warning: -K option is deprecated and should not be used anymore. Use '-E "
 "nodiscard' extended option instead!\n"
 msgstr ""
 
-#: misc/mke2fs.c:1842
+#: misc/mke2fs.c:1875
 msgid "in malloc for bad_blocks_filename"
 msgstr ""
 
-#: misc/mke2fs.c:1851
+#: misc/mke2fs.c:1884
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1860
+#: misc/mke2fs.c:1893
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1875
+#: misc/mke2fs.c:1908
 #, c-format
 msgid "bad num inodes - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1888
+#: misc/mke2fs.c:1921
 msgid "while allocating fs_feature string"
 msgstr ""
 
-#: misc/mke2fs.c:1905
-#, c-format
-msgid "bad revision level - %s"
+#: misc/mke2fs.c:1936
+msgid ""
+"the -r option has been removed.\n"
+"\n"
+"If you really need compatibility with pre-1995 Linux systems, use the\n"
+"command-line option \"-E revision=0\".\n"
 msgstr ""
 
-#: misc/mke2fs.c:1910
-#, c-format
-msgid "while trying to create revision %d"
+#: misc/mke2fs.c:1942
+msgid ""
+"the -s option has been removed.\n"
+"\n"
+"Use the -O option to set or clear the sparse_super feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1924
+#: misc/mke2fs.c:1951
 msgid "The -t option may only be used once"
 msgstr ""
 
-#: misc/mke2fs.c:1932
+#: misc/mke2fs.c:1959
 msgid "The -T option may only be used once"
 msgstr ""
 
-#: misc/mke2fs.c:1988 misc/mke2fs.c:3481
+#: misc/mke2fs.c:2015 misc/mke2fs.c:3505
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1994
+#: misc/mke2fs.c:2021
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr ""
 
-#: misc/mke2fs.c:2000
+#: misc/mke2fs.c:2027
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr ""
 
-#: misc/mke2fs.c:2011
+#: misc/mke2fs.c:2038
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr ""
 
-#: misc/mke2fs.c:2031
+#: misc/mke2fs.c:2058
 msgid "filesystem"
 msgstr ""
 
-#: misc/mke2fs.c:2046 lib/support/plausible.c:184
+#: misc/mke2fs.c:2073 lib/support/plausible.c:184
 #, c-format
 msgid "The file %s does not exist and no size was specified.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2058 lib/support/plausible.c:192
+#: misc/mke2fs.c:2085 lib/support/plausible.c:192
 #, c-format
 msgid "Creating regular file %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:2063 resize/main.c:514
+#: misc/mke2fs.c:2090 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr ""
 
-#: misc/mke2fs.c:2069
+#: misc/mke2fs.c:2096
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
 msgstr ""
 
-#: misc/mke2fs.c:2076
+#: misc/mke2fs.c:2103
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5747,149 +5844,148 @@
 "\tto re-read your partition table.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2093
+#: misc/mke2fs.c:2120
 msgid "Filesystem larger than apparent device size."
 msgstr ""
 
-#: misc/mke2fs.c:2116
+#: misc/mke2fs.c:2143
 msgid "Failed to parse fs types list\n"
 msgstr ""
 
-#: misc/mke2fs.c:2182
+#: misc/mke2fs.c:2208
 msgid "The HURD does not support the filetype feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2187
+#: misc/mke2fs.c:2213
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2192
+#: misc/mke2fs.c:2218
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2197
+#: misc/mke2fs.c:2223
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2207
+#: misc/mke2fs.c:2233
 msgid "while trying to determine hardware sector size"
 msgstr ""
 
-#: misc/mke2fs.c:2213
+#: misc/mke2fs.c:2239
 msgid "while trying to determine physical sector size"
 msgstr ""
 
-#: misc/mke2fs.c:2245
+#: misc/mke2fs.c:2271
 msgid "while setting blocksize; too small for device\n"
 msgstr ""
 
-#: misc/mke2fs.c:2250
+#: misc/mke2fs.c:2276
 #, c-format
 msgid ""
 "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr ""
 
-#: misc/mke2fs.c:2274
+#: misc/mke2fs.c:2300
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
 "\tin 32 bits using a blocksize of %d.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2288
+#: misc/mke2fs.c:2314
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
 "\ta filesystem using a blocksize of %d.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2310
+#: misc/mke2fs.c:2336
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr ""
 
-#: misc/mke2fs.c:2317
-msgid "Filesystem features not supported with revision 0 filesystems\n"
-msgstr ""
-
-#: misc/mke2fs.c:2325
-msgid "Sparse superblocks not supported with revision 0 filesystems\n"
-msgstr ""
-
-#: misc/mke2fs.c:2335
-msgid "Journals not supported with revision 0 filesystems\n"
-msgstr ""
-
-#: misc/mke2fs.c:2348
-#, c-format
+#: misc/mke2fs.c:2349
 msgid "invalid reserved blocks percent - %lf"
 msgstr ""
 
-#: misc/mke2fs.c:2365
+#: misc/mke2fs.c:2366
 msgid ""
 "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to "
 "rectify.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2385
+#: misc/mke2fs.c:2386
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2391
+#: misc/mke2fs.c:2392
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr ""
 
-#: misc/mke2fs.c:2411
+#: misc/mke2fs.c:2412
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:2423
+#: misc/mke2fs.c:2424
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2425
+#: misc/mke2fs.c:2426
 #, c-format
 msgid ""
 "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2431
+#: misc/mke2fs.c:2432
 #, c-format
 msgid ""
 "%s is capable of DAX but current block size %u is different from system page "
 "size %u so filesystem will not support DAX.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2455
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:2459
+#: misc/mke2fs.c:2460
 #, c-format
 msgid ""
 "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr ""
 
-#: misc/mke2fs.c:2467
+#: misc/mke2fs.c:2468
 #, c-format
 msgid ""
 "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata "
 "and journal checksum features.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2513
+#: misc/mke2fs.c:2514
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr ""
 
-#: misc/mke2fs.c:2524
+#: misc/mke2fs.c:2525
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr ""
 
 #: misc/mke2fs.c:2549
+msgid "Filesystem features not supported with revision 0 filesystems\n"
+msgstr ""
+
+#: misc/mke2fs.c:2554
+msgid "Journals not supported with revision 0 filesystems\n"
+msgstr ""
+
+#: misc/mke2fs.c:2559
+msgid "Inode size incompatible with revision 0 filesystems\n"
+msgstr ""
+
+#: misc/mke2fs.c:2572
 #, c-format
 msgid ""
 "\n"
@@ -5899,66 +5995,66 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:2564
+#: misc/mke2fs.c:2587
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr ""
 
-#: misc/mke2fs.c:2586
+#: misc/mke2fs.c:2609
 msgid "Can't support bigalloc feature without extents feature"
 msgstr ""
 
-#: misc/mke2fs.c:2593
+#: misc/mke2fs.c:2616
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2602
+#: misc/mke2fs.c:2625
 msgid ""
 "\n"
 "Warning: bigalloc file systems with a cluster size greater than\n"
 "16 times the block size is considered experimental\n"
 msgstr ""
 
-#: misc/mke2fs.c:2614
+#: misc/mke2fs.c:2637
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr ""
 
-#: misc/mke2fs.c:2623
+#: misc/mke2fs.c:2646
 msgid "blocks per group count out of range"
 msgstr ""
 
-#: misc/mke2fs.c:2645
+#: misc/mke2fs.c:2668
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr ""
 
-#: misc/mke2fs.c:2657
+#: misc/mke2fs.c:2680
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:2672
+#: misc/mke2fs.c:2695
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr ""
 
-#: misc/mke2fs.c:2687
+#: misc/mke2fs.c:2710
 #, c-format
 msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
 msgstr ""
 
-#: misc/mke2fs.c:2698
+#: misc/mke2fs.c:2721
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr ""
 
-#: misc/mke2fs.c:2706
+#: misc/mke2fs.c:2729
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr ""
 
-#: misc/mke2fs.c:2720
+#: misc/mke2fs.c:2743
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -5966,175 +6062,175 @@
 "\tor lower inode count (-N).\n"
 msgstr ""
 
-#: misc/mke2fs.c:2917
+#: misc/mke2fs.c:2941
 msgid "Discarding device blocks: "
 msgstr ""
 
-#: misc/mke2fs.c:2933
+#: misc/mke2fs.c:2957
 msgid "failed - "
 msgstr ""
 
-#: misc/mke2fs.c:2992
+#: misc/mke2fs.c:3016
 msgid "while initializing quota context"
 msgstr ""
 
-#: misc/mke2fs.c:2999
+#: misc/mke2fs.c:3023
 msgid "while writing quota inodes"
 msgstr ""
 
-#: misc/mke2fs.c:3024
+#: misc/mke2fs.c:3048
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr ""
 
-#: misc/mke2fs.c:3103
+#: misc/mke2fs.c:3127
 msgid "in malloc for android_sparse_params"
 msgstr ""
 
-#: misc/mke2fs.c:3117
+#: misc/mke2fs.c:3141
 msgid "while setting up superblock"
 msgstr ""
 
-#: misc/mke2fs.c:3133
+#: misc/mke2fs.c:3157
 msgid ""
 "Extents are not enabled.  The file extent tree can be checksummed, whereas "
 "block maps cannot.  Not enabling extents reduces the coverage of metadata "
 "checksumming.  Pass -O extents to rectify.\n"
 msgstr ""
 
-#: misc/mke2fs.c:3140
+#: misc/mke2fs.c:3164
 msgid ""
 "64-bit filesystem support is not enabled.  The larger fields afforded by "
 "this feature enable full-strength checksumming.  Pass -O 64bit to rectify.\n"
 msgstr ""
 
-#: misc/mke2fs.c:3148
+#: misc/mke2fs.c:3172
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:3169
+#: misc/mke2fs.c:3193
 msgid ""
 "Assuming the storage device is prezeroed - skipping inode table and journal "
 "wipe\n"
 msgstr ""
 
-#: misc/mke2fs.c:3184
+#: misc/mke2fs.c:3208
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr ""
 
-#: misc/mke2fs.c:3283
+#: misc/mke2fs.c:3307
 #, c-format
 msgid "unknown os - %s"
 msgstr ""
 
-#: misc/mke2fs.c:3346
+#: misc/mke2fs.c:3370
 msgid "Allocating group tables: "
 msgstr ""
 
-#: misc/mke2fs.c:3354
+#: misc/mke2fs.c:3378
 msgid "while trying to allocate filesystem tables"
 msgstr ""
 
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3393
 msgid "while unmarking bad blocks"
 msgstr ""
 
-#: misc/mke2fs.c:3380
+#: misc/mke2fs.c:3404
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
 msgstr ""
 
-#: misc/mke2fs.c:3389
+#: misc/mke2fs.c:3413
 msgid "while calculating overhead"
 msgstr ""
 
-#: misc/mke2fs.c:3408
+#: misc/mke2fs.c:3432
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr ""
 
-#: misc/mke2fs.c:3449
+#: misc/mke2fs.c:3473
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr ""
 
-#: misc/mke2fs.c:3462
+#: misc/mke2fs.c:3486
 msgid "while reserving blocks for online resize"
 msgstr ""
 
-#: misc/mke2fs.c:3474 misc/tune2fs.c:1710
+#: misc/mke2fs.c:3498 misc/tune2fs.c:1710
 msgid "journal"
 msgstr ""
 
-#: misc/mke2fs.c:3486
+#: misc/mke2fs.c:3510
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr ""
 
-#: misc/mke2fs.c:3493
+#: misc/mke2fs.c:3517
 #, c-format
 msgid ""
 "\n"
 "\twhile trying to add journal to device %s"
 msgstr ""
 
-#: misc/mke2fs.c:3498 misc/mke2fs.c:3531 misc/mke2fs.c:3590
+#: misc/mke2fs.c:3522 misc/mke2fs.c:3555 misc/mke2fs.c:3614
 #: misc/mk_hugefiles.c:486 misc/tune2fs.c:1739 misc/tune2fs.c:1761
 msgid "done\n"
 msgstr ""
 
-#: misc/mke2fs.c:3505
+#: misc/mke2fs.c:3529
 msgid "Skipping journal creation in super-only mode\n"
 msgstr ""
 
-#: misc/mke2fs.c:3518
+#: misc/mke2fs.c:3542
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr ""
 
-#: misc/mke2fs.c:3527
+#: misc/mke2fs.c:3551
 msgid ""
 "\n"
 "\twhile trying to create journal"
 msgstr ""
 
-#: misc/mke2fs.c:3539 misc/tune2fs.c:1297
+#: misc/mke2fs.c:3563 misc/tune2fs.c:1297
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
 msgstr ""
 
-#: misc/mke2fs.c:3544
+#: misc/mke2fs.c:3568
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr ""
 
-#: misc/mke2fs.c:3559
+#: misc/mke2fs.c:3583
 msgid "cannot set orphan_file feature without a journal."
 msgstr ""
 
-#: misc/mke2fs.c:3570 misc/tune2fs.c:3517
+#: misc/mke2fs.c:3594 misc/tune2fs.c:3522
 msgid "while creating orphan file"
 msgstr ""
 
-#: misc/mke2fs.c:3581
+#: misc/mke2fs.c:3605
 msgid "Copying files into the device: "
 msgstr ""
 
-#: misc/mke2fs.c:3587
+#: misc/mke2fs.c:3611
 msgid "while populating file system"
 msgstr ""
 
-#: misc/mke2fs.c:3594
+#: misc/mke2fs.c:3618
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr ""
 
-#: misc/mke2fs.c:3601 misc/tune2fs.c:3765
+#: misc/mke2fs.c:3625 misc/tune2fs.c:3770
 msgid "while writing out and closing file system"
 msgstr ""
 
-#: misc/mke2fs.c:3604
+#: misc/mke2fs.c:3628
 msgid ""
 "done\n"
 "\n"
@@ -6239,19 +6335,19 @@
 msgid "while trying to open external journal"
 msgstr ""
 
-#: misc/tune2fs.c:327 misc/tune2fs.c:3051
+#: misc/tune2fs.c:327 misc/tune2fs.c:3052
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr ""
 
-#: misc/tune2fs.c:336 misc/tune2fs.c:3060
+#: misc/tune2fs.c:336 misc/tune2fs.c:3061
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
 "is too high (%d).\n"
 msgstr ""
 
-#: misc/tune2fs.c:343 misc/tune2fs.c:3067
+#: misc/tune2fs.c:343 misc/tune2fs.c:3068
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr ""
 
@@ -6346,7 +6442,7 @@
 "orphan_file feature.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1241 misc/tune2fs.c:3510
+#: misc/tune2fs.c:1241 misc/tune2fs.c:3515
 msgid "while loading bitmaps"
 msgstr ""
 
@@ -6711,80 +6807,80 @@
 "\tencoding_flags=<flags>\n"
 msgstr ""
 
-#: misc/tune2fs.c:2869
+#: misc/tune2fs.c:2870
 msgid "Failed to read inode bitmap\n"
 msgstr ""
 
-#: misc/tune2fs.c:2874
+#: misc/tune2fs.c:2875
 msgid "Failed to read block bitmap\n"
 msgstr ""
 
-#: misc/tune2fs.c:2891 resize/resize2fs.c:1368
+#: misc/tune2fs.c:2892 resize/resize2fs.c:1368
 msgid "blocks to be moved"
 msgstr ""
 
-#: misc/tune2fs.c:2894
+#: misc/tune2fs.c:2895
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr ""
 
-#: misc/tune2fs.c:2900
+#: misc/tune2fs.c:2901
 msgid "Not enough space to increase inode size \n"
 msgstr ""
 
-#: misc/tune2fs.c:2905
+#: misc/tune2fs.c:2906
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr ""
 
-#: misc/tune2fs.c:2937
+#: misc/tune2fs.c:2938
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
 msgstr ""
 
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3126
 msgid "while trying to get fs label"
 msgstr ""
 
-#: misc/tune2fs.c:3147
+#: misc/tune2fs.c:3148
 msgid "while trying to set fs label"
 msgstr ""
 
-#: misc/tune2fs.c:3237
+#: misc/tune2fs.c:3238
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
 msgstr ""
 
-#: misc/tune2fs.c:3244
+#: misc/tune2fs.c:3245
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
 "'e2fsck -f %s'\n"
 msgstr ""
 
-#: misc/tune2fs.c:3256
+#: misc/tune2fs.c:3257
 msgid "Cannot modify a journal device.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3269
+#: misc/tune2fs.c:3270
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3276
+#: misc/tune2fs.c:3277
 msgid "Shrinking inode size is not supported\n"
 msgstr ""
 
-#: misc/tune2fs.c:3281
+#: misc/tune2fs.c:3282
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr ""
 
-#: misc/tune2fs.c:3287
+#: misc/tune2fs.c:3288
 msgid "Resizing inodes could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:3337
+#: misc/tune2fs.c:3338
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6795,162 +6891,167 @@
 "by journal recovery.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3346
+#: misc/tune2fs.c:3347
 #, c-format
 msgid "Recovering journal.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3370
+#: misc/tune2fs.c:3371
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3376
+#: misc/tune2fs.c:3377
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3381
+#: misc/tune2fs.c:3382
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3386
+#: misc/tune2fs.c:3388
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3391
+#: misc/tune2fs.c:3390
+#, c-format
+msgid "Reserved blocks gid already set to %lu\n"
+msgstr ""
+
+#: misc/tune2fs.c:3396
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr ""
 
-#: misc/tune2fs.c:3398
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr ""
 
-#: misc/tune2fs.c:3405
+#: misc/tune2fs.c:3410
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr ""
 
-#: misc/tune2fs.c:3412
+#: misc/tune2fs.c:3417
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr ""
 
-#: misc/tune2fs.c:3419
+#: misc/tune2fs.c:3424
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3424
+#: misc/tune2fs.c:3429
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3427
+#: misc/tune2fs.c:3432
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3437
+#: misc/tune2fs.c:3442
 #, c-format
 msgid ""
 "\n"
 "Sparse superblock flag set.  %s"
 msgstr ""
 
-#: misc/tune2fs.c:3442
+#: misc/tune2fs.c:3447
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3450
+#: misc/tune2fs.c:3455
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr ""
 
-#: misc/tune2fs.c:3456
+#: misc/tune2fs.c:3461
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3488
+#: misc/tune2fs.c:3493
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr ""
 
-#: misc/tune2fs.c:3525
+#: misc/tune2fs.c:3530
 msgid ""
 "The quota feature may only be changed when the filesystem is unmounted and "
 "not in use.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3544
+#: misc/tune2fs.c:3549
 msgid ""
 "Cannot change the UUID of this filesystem because it has the stable_inodes "
 "feature flag.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3554
+#: misc/tune2fs.c:3559
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:3571
+#: misc/tune2fs.c:3576
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3574
+#: misc/tune2fs.c:3579
 msgid ""
 "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' "
 "and re-run this command.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3624
+#: misc/tune2fs.c:3629
 msgid "Invalid UUID format\n"
 msgstr ""
 
-#: misc/tune2fs.c:3658
+#: misc/tune2fs.c:3663
 msgid "Need to update journal superblock.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3678
+#: misc/tune2fs.c:3683
 msgid ""
 "The inode size may only be changed when the filesystem is unmounted and not "
 "in use.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3685
+#: misc/tune2fs.c:3690
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3703
+#: misc/tune2fs.c:3708
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3707
+#: misc/tune2fs.c:3712
 msgid "Failed to change inode size\n"
 msgstr ""
 
-#: misc/tune2fs.c:3727
-#, c-format
-msgid "Setting stride size to %d\n"
-msgstr ""
-
 #: misc/tune2fs.c:3732
 #, c-format
+msgid "Setting stride size to %d\n"
+msgstr ""
+
+#: misc/tune2fs.c:3737
+#, c-format
 msgid "Setting stripe width to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3739
+#: misc/tune2fs.c:3744
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr ""
@@ -7223,51 +7324,51 @@
 "\n"
 msgstr ""
 
-#: resize/main.c:374
+#: resize/main.c:372
 #, c-format
 msgid "while opening %s"
 msgstr ""
 
-#: resize/main.c:382
+#: resize/main.c:380
 #, c-format
 msgid "while getting stat information for %s"
 msgstr ""
 
-#: resize/main.c:465
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:484
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr ""
 
-#: resize/main.c:524
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr ""
 
-#: resize/main.c:543
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr ""
 
-#: resize/main.c:562
+#: resize/main.c:564
 msgid "New size results in too many block group descriptors.\n"
 msgstr ""
 
-#: resize/main.c:569
+#: resize/main.c:572
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr ""
 
-#: resize/main.c:576
+#: resize/main.c:579
 msgid "Invalid stride length"
 msgstr ""
 
-#: resize/main.c:600
+#: resize/main.c:603
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7275,89 +7376,89 @@
 "\n"
 msgstr ""
 
-#: resize/main.c:607
+#: resize/main.c:610
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr ""
 
-#: resize/main.c:611
+#: resize/main.c:614
 #, c-format
 msgid ""
 "Cannot change the 64bit feature on a filesystem that is larger than 2^32 "
 "blocks.\n"
 msgstr ""
 
-#: resize/main.c:617
+#: resize/main.c:620
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr ""
 
-#: resize/main.c:623
+#: resize/main.c:626
 #, c-format
 msgid ""
 "Please enable the extents feature with tune2fs before enabling the 64bit "
 "feature.\n"
 msgstr ""
 
-#: resize/main.c:631
+#: resize/main.c:634
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:641
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr ""
 
-#: resize/main.c:646
+#: resize/main.c:649
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr ""
 
-#: resize/main.c:651
+#: resize/main.c:654
 #, c-format
 msgid ""
 "Cannot shrink this filesystem because it has the stable_inodes feature "
 "flag.\n"
 msgstr ""
 
-#: resize/main.c:660
+#: resize/main.c:663
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr ""
 
-#: resize/main.c:662
+#: resize/main.c:665
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr ""
 
-#: resize/main.c:664
+#: resize/main.c:667
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr ""
 
-#: resize/main.c:674
+#: resize/main.c:677
 #, c-format
 msgid "while trying to resize %s"
 msgstr ""
 
-#: resize/main.c:677
+#: resize/main.c:680
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
 "after the aborted resize operation.\n"
 msgstr ""
 
-#: resize/main.c:682
+#: resize/main.c:685
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:697
+#: resize/main.c:700
 #, c-format
 msgid "while trying to truncate %s"
 msgstr ""
@@ -7460,7 +7561,7 @@
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.47.1-rc1"
+msgid "EXT2FS Library version 1.47.2-rc1"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:12
diff --git a/resize/main.c b/resize/main.c
index f914c05..08a4bba 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -270,8 +270,6 @@
 	long		sysval;
 	int		len, mount_flags;
 	char		*mtpt, *undo_file = NULL;
-	dgrp_t		new_group_desc_count;
-	unsigned long	new_desc_blocks;
 
 #ifdef ENABLE_NLS
 	setlocale(LC_MESSAGES, "");
@@ -551,17 +549,22 @@
 		new_size &= ~((blk64_t)(1ULL << fs->cluster_ratio_bits) - 1);
 	}
 
-	new_group_desc_count = ext2fs_div64_ceil(new_size -
-				fs->super->s_first_data_block,
-						 EXT2_BLOCKS_PER_GROUP(fs->super));
-	new_desc_blocks = ext2fs_div_ceil(new_group_desc_count,
-					  EXT2_DESC_PER_BLOCK(fs->super));
-	if ((new_desc_blocks + fs->super->s_first_data_block) >
-	    EXT2_BLOCKS_PER_GROUP(fs->super)) {
-		com_err(program_name, 0,
-			_("New size results in too many block group "
-			  "descriptors.\n"));
-		goto errout;
+	if (!ext2fs_has_feature_meta_bg(fs->super)) {
+		dgrp_t		new_group_desc_count;
+		unsigned long	new_desc_blocks;
+
+		new_group_desc_count = ext2fs_div64_ceil(new_size -
+					fs->super->s_first_data_block,
+					EXT2_BLOCKS_PER_GROUP(fs->super));
+		new_desc_blocks = ext2fs_div_ceil(new_group_desc_count,
+					EXT2_DESC_PER_BLOCK(fs->super));
+		if ((new_desc_blocks + fs->super->s_first_data_block) >
+		    EXT2_BLOCKS_PER_GROUP(fs->super)) {
+			com_err(program_name, 0,
+				_("New size results in too many block group "
+				  "descriptors.\n"));
+			goto errout;
+		}
 	}
 
 	if (!force && new_size < min_size) {
diff --git a/tests/f_bad_disconnected_inode/expect.1 b/tests/f_bad_disconnected_inode/expect.1
index d1479ce..39c6958 100644
--- a/tests/f_bad_disconnected_inode/expect.1
+++ b/tests/f_bad_disconnected_inode/expect.1
@@ -1,11 +1,17 @@
 Pass 1: Checking inodes, blocks, and sizes
+Inode 1 has the ea_inode flag set but is not a regular file.  Clear flag? yes
+
 Inode 1 has EXTENTS_FL flag set on filesystem without extents support.
 Clear? yes
 
 Inode 9 has the casefold flag set but is not a directory.  Clear flag? yes
 
+Inode 10 has the ea_inode flag set but is not a regular file.  Clear flag? yes
+
 Inode 14 has the casefold flag set but is not a directory.  Clear flag? yes
 
+Inode 14 has the ea_inode flag set but is not a regular file.  Clear flag? yes
+
 Inode 14 has INLINE_DATA_FL flag on filesystem without inline data support.
 Clear? yes
 
@@ -14,6 +20,8 @@
 
 Inode 16 has the casefold flag set but is not a directory.  Clear flag? yes
 
+Inode 16 has the ea_inode flag set but is not a regular file.  Clear flag? yes
+
 Inode 16 has INLINE_DATA_FL flag on filesystem without inline data support.
 Clear? yes
 
diff --git a/tests/f_bad_fname/expect.1 b/tests/f_bad_fname/expect.1
index 66f87df..60f64f6 100644
--- a/tests/f_bad_fname/expect.1
+++ b/tests/f_bad_fname/expect.1
@@ -1,4 +1,6 @@
 Pass 1: Checking inodes, blocks, and sizes
+Inode 12 has the ea_inode flag set but is not a regular file.  Clear flag? yes
+
 Pass 2: Checking directory structure
 Entry 'AM-^?' in /ci_dir (12) has illegal UTF-8 characters in its name.
 Fix? yes
diff --git a/tests/f_badjour_encrypted/script b/tests/f_badjour_encrypted/script
index e6778f1..07a8b3d 100644
--- a/tests/f_badjour_encrypted/script
+++ b/tests/f_badjour_encrypted/script
@@ -3,9 +3,13 @@
 	return 0
 fi
 
-touch $TMPFILE
-$MKE2FS -t ext4 -b 1024 $TMPFILE 2M
-$DEBUGFS -w -R 'set_inode_field <8> flags 0x80800' $TMPFILE
+LOG=$test_name.log
+
+touch $TMPFILE >> $LOG 2>&1
+$MKE2FS -t ext4 -b 1024 $TMPFILE 2M >> $LOG 2>&1
+$DEBUGFS -w -R 'set_inode_field <8> flags 0x80800' $TMPFILE >> $LOG 2>&1
 
 SKIP_GUNZIP="true"
 . $cmd_dir/run_e2fsck
+
+unset LOG
diff --git a/tests/f_clear_orphan_file/expect.1 b/tests/f_clear_orphan_file/expect.1
new file mode 100644
index 0000000..281b131
--- /dev/null
+++ b/tests/f_clear_orphan_file/expect.1
@@ -0,0 +1,35 @@
+test_filesys: recovering journal
+Clearing orphaned inode 13 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 14 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 15 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 16 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 17 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 18 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 19 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 20 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 21 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 22 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 23 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 24 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 25 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 26 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 27 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 28 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 29 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 30 (uid=0, gid=0, mode=0100644, size=0)
+Clearing orphaned inode 31 (uid=0, gid=0, mode=0100644, size=0)
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+Free inodes count wrong (2055, counted=2005).
+Fix? yes
+
+Orphan file (inode 12) block 0 is not clean.
+Clear? yes
+
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 43/2048 files (2.3% non-contiguous), 1650/8192 blocks
+Exit status is 1
diff --git a/tests/f_clear_orphan_file/expect.2 b/tests/f_clear_orphan_file/expect.2
new file mode 100644
index 0000000..f719dbb
--- /dev/null
+++ b/tests/f_clear_orphan_file/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 43/2048 files (2.3% non-contiguous), 1650/8192 blocks
+Exit status is 0
diff --git a/tests/f_clear_orphan_file/image.gz b/tests/f_clear_orphan_file/image.gz
new file mode 100644
index 0000000..c93cf75
--- /dev/null
+++ b/tests/f_clear_orphan_file/image.gz
Binary files differ
diff --git a/tests/f_clear_orphan_file/name b/tests/f_clear_orphan_file/name
new file mode 100644
index 0000000..89ba224
--- /dev/null
+++ b/tests/f_clear_orphan_file/name
@@ -0,0 +1 @@
+clear orphan file
diff --git a/tests/f_clear_orphan_file/script b/tests/f_clear_orphan_file/script
new file mode 100644
index 0000000..2210e9d
--- /dev/null
+++ b/tests/f_clear_orphan_file/script
@@ -0,0 +1,2 @@
+FSCK_OPT=-y
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_ea_inode_dir_ref/expect.1 b/tests/f_ea_inode_dir_ref/expect.1
new file mode 100644
index 0000000..fa6a872
--- /dev/null
+++ b/tests/f_ea_inode_dir_ref/expect.1
@@ -0,0 +1,12 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Entry 'xlink' in / (2) references EA inode 13.
+Clear? yes
+
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 13/128 files (0.0% non-contiguous), 63/1024 blocks
+Exit status is 1
diff --git a/tests/f_ea_inode_dir_ref/expect.2 b/tests/f_ea_inode_dir_ref/expect.2
new file mode 100644
index 0000000..24d059a
--- /dev/null
+++ b/tests/f_ea_inode_dir_ref/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 13/128 files (0.0% non-contiguous), 63/1024 blocks
+Exit status is 0
diff --git a/tests/f_ea_inode_dir_ref/image.gz b/tests/f_ea_inode_dir_ref/image.gz
new file mode 100644
index 0000000..483cc72
--- /dev/null
+++ b/tests/f_ea_inode_dir_ref/image.gz
Binary files differ
diff --git a/tests/f_ea_inode_dir_ref/name b/tests/f_ea_inode_dir_ref/name
new file mode 100644
index 0000000..e43cd69
--- /dev/null
+++ b/tests/f_ea_inode_dir_ref/name
@@ -0,0 +1 @@
+true ea inode referenced from a directory
diff --git a/tests/f_ea_inode_disconnected/expect.1 b/tests/f_ea_inode_disconnected/expect.1
new file mode 100644
index 0000000..afc77ae
--- /dev/null
+++ b/tests/f_ea_inode_disconnected/expect.1
@@ -0,0 +1,23 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Unattached inode 13
+Connect to /lost+found? yes
+
+Inode 13 ref count is 2, should be 1.  Fix? yes
+
+Pass 5: Checking group summary information
+Inode bitmap differences:  -12
+Fix? yes
+
+Free inodes count wrong for group #0 (115, counted=116).
+Fix? yes
+
+Free inodes count wrong (115, counted=116).
+Fix? yes
+
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 12/128 files (0.0% non-contiguous), 63/1024 blocks
+Exit status is 1
diff --git a/tests/f_ea_inode_disconnected/expect.2 b/tests/f_ea_inode_disconnected/expect.2
new file mode 100644
index 0000000..a67f944
--- /dev/null
+++ b/tests/f_ea_inode_disconnected/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 12/128 files (0.0% non-contiguous), 63/1024 blocks
+Exit status is 0
diff --git a/tests/f_ea_inode_disconnected/image b/tests/f_ea_inode_disconnected/image
new file mode 100644
index 0000000..f24547c
--- /dev/null
+++ b/tests/f_ea_inode_disconnected/image
Binary files differ
diff --git a/tests/f_ea_inode_disconnected/image.gz b/tests/f_ea_inode_disconnected/image.gz
new file mode 100644
index 0000000..f440f20
--- /dev/null
+++ b/tests/f_ea_inode_disconnected/image.gz
Binary files differ
diff --git a/tests/f_ea_inode_disconnected/name b/tests/f_ea_inode_disconnected/name
new file mode 100644
index 0000000..ce04192
--- /dev/null
+++ b/tests/f_ea_inode_disconnected/name
@@ -0,0 +1 @@
+ea inode that is not connected anywhere
diff --git a/tests/f_ea_inode_no_feature/expect.1 b/tests/f_ea_inode_no_feature/expect.1
new file mode 100644
index 0000000..f6a232b
--- /dev/null
+++ b/tests/f_ea_inode_no_feature/expect.1
@@ -0,0 +1,12 @@
+Pass 1: Checking inodes, blocks, and sizes
+Inode 12 references EA inode but superblock is missing EA_INODE feature
+Fix? yes
+
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 13/128 files (0.0% non-contiguous), 63/1024 blocks
+Exit status is 1
diff --git a/tests/f_ea_inode_no_feature/expect.2 b/tests/f_ea_inode_no_feature/expect.2
new file mode 100644
index 0000000..24d059a
--- /dev/null
+++ b/tests/f_ea_inode_no_feature/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 13/128 files (0.0% non-contiguous), 63/1024 blocks
+Exit status is 0
diff --git a/tests/f_ea_inode_no_feature/image.gz b/tests/f_ea_inode_no_feature/image.gz
new file mode 100644
index 0000000..596d69a
--- /dev/null
+++ b/tests/f_ea_inode_no_feature/image.gz
Binary files differ
diff --git a/tests/f_ea_inode_no_feature/name b/tests/f_ea_inode_no_feature/name
new file mode 100644
index 0000000..b357afb
--- /dev/null
+++ b/tests/f_ea_inode_no_feature/name
@@ -0,0 +1 @@
+inode with ea inode but EA_INODE feature is not set
diff --git a/tests/f_ea_inode_self_ref/expect.1 b/tests/f_ea_inode_self_ref/expect.1
index f94c04d..35bea14 100644
--- a/tests/f_ea_inode_self_ref/expect.1
+++ b/tests/f_ea_inode_self_ref/expect.1
@@ -7,6 +7,8 @@
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
+Regular filesystem inode 16 has EA_INODE flag set. Clear? yes
+
 Pass 5: Checking group summary information
 Block bitmap differences:  -20
 Fix? yes
diff --git a/tests/f_ea_inode_spurious_flag_dir/expect.1 b/tests/f_ea_inode_spurious_flag_dir/expect.1
new file mode 100644
index 0000000..19999ab
--- /dev/null
+++ b/tests/f_ea_inode_spurious_flag_dir/expect.1
@@ -0,0 +1,11 @@
+Pass 1: Checking inodes, blocks, and sizes
+Inode 2 has the ea_inode flag set but is not a regular file.  Clear flag? yes
+
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 11/128 files (0.0% non-contiguous), 58/1024 blocks
+Exit status is 1
diff --git a/tests/f_ea_inode_spurious_flag_dir/expect.2 b/tests/f_ea_inode_spurious_flag_dir/expect.2
new file mode 100644
index 0000000..a354770
--- /dev/null
+++ b/tests/f_ea_inode_spurious_flag_dir/expect.2
@@ -0,0 +1,7 @@
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/128 files (0.0% non-contiguous), 58/1024 blocks
+Exit status is 0
diff --git a/tests/f_ea_inode_spurious_flag_dir/image b/tests/f_ea_inode_spurious_flag_dir/image
new file mode 100644
index 0000000..f323b61
--- /dev/null
+++ b/tests/f_ea_inode_spurious_flag_dir/image
Binary files differ
diff --git a/tests/f_ea_inode_spurious_flag_dir/image.gz b/tests/f_ea_inode_spurious_flag_dir/image.gz
new file mode 100644
index 0000000..af19132
--- /dev/null
+++ b/tests/f_ea_inode_spurious_flag_dir/image.gz
Binary files differ
diff --git a/tests/f_ea_inode_spurious_flag_dir/name b/tests/f_ea_inode_spurious_flag_dir/name
new file mode 100644
index 0000000..8ae52cc
--- /dev/null
+++ b/tests/f_ea_inode_spurious_flag_dir/name
@@ -0,0 +1 @@
+ea inode flag set on a directory
diff --git a/tests/fuzz/ext2fs_image_read_write_fuzzer.cc b/tests/fuzz/ext2fs_image_read_write_fuzzer.cc
index 8aa0cb8..e6e0719 100644
--- a/tests/fuzz/ext2fs_image_read_write_fuzzer.cc
+++ b/tests/fuzz/ext2fs_image_read_write_fuzzer.cc
@@ -130,6 +130,7 @@
     ext2fs_close(fs);
   }
   close(fd);
+  remove_error_table(&et_ext2_error_table);
 
   return 0;
 }
diff --git a/tests/fuzz/ext2fs_read_bitmap_fuzzer.cc b/tests/fuzz/ext2fs_read_bitmap_fuzzer.cc
index fa3d7e7..9118837 100644
--- a/tests/fuzz/ext2fs_read_bitmap_fuzzer.cc
+++ b/tests/fuzz/ext2fs_read_bitmap_fuzzer.cc
@@ -103,6 +103,7 @@
       com_err(progname, retval, "while trying to close file system");
   }
   close(fd);
+  remove_error_table(&et_ext2_error_table);
 
   return 0;
 }
diff --git a/tests/progs/Makefile.in b/tests/progs/Makefile.in
index 47d7adf..1a8e929 100644
--- a/tests/progs/Makefile.in
+++ b/tests/progs/Makefile.in
@@ -73,6 +73,15 @@
 # Makefile dependencies follow.  This must be the last section in
 # the Makefile.in file
 #
+test_icount.o: $(srcdir)/test_icount.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ss/ss.h $(top_builddir)/lib/ss/ss_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/irel.h \
+ $(top_srcdir)/lib/ext2fs/brel.h $(srcdir)/test_icount.h
 test_rel.o: $(srcdir)/test_rel.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \
  $(top_srcdir)/lib/ss/ss.h $(top_builddir)/lib/ss/ss_err.h \
diff --git a/util/android_config.h b/util/android_config.h
index 90b8f8a..c228860 100644
--- a/util/android_config.h
+++ b/util/android_config.h
@@ -54,6 +54,9 @@
 # define HAVE_SYS_SELECT_H 1
 # define HAVE_SYS_WAIT_H 1
 #endif
+#ifdef __APPLE__
+# define HAVE_GETMNTINFO 1
+#endif
 #if defined(__linux__)
 # define HAVE_EXT2_IOCTLS 1
 # define HAVE_FALLOCATE 1
diff --git a/version.h b/version.h
index 6753cc7..3755d47 100644
--- a/version.h
+++ b/version.h
@@ -4,10 +4,10 @@
  *
  * Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
  * 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
- * 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 by Theodore
+ * 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 by Theodore
  * Ts'o.  This file may be redistributed under the GNU General Public
  * License v2.
  */
 
-#define E2FSPROGS_VERSION "1.47.1-rc2"
-#define E2FSPROGS_DATE "01-May-2024"
+#define E2FSPROGS_VERSION "1.47.2-rc1"
+#define E2FSPROGS_DATE "28-Nov-2024"
