Snap for 10453563 from 63687023fc2e8871a718cb4e18458eece2e3460c to mainline-ipsec-release

Change-Id: Ib56d5e42caf322fd3e91d928be6adabe98b7204e
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..35496c5
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,115 @@
+name: CI
+on: [push]
+env:
+  DEF_CFLAGS: -O2 -g -Wall
+
+jobs:
+  gcc-build-and-test:
+    name: Build and test with gcc
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v3
+    - run: ./configure CC=gcc CFLAGS="$DEF_CFLAGS"
+    - run: make -j8 check V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 install V=1 DESTDIR=$PWD/installdir
+    - run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir
+
+  clang-build-and-test:
+    name: Build and test with clang
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v3
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y clang
+    - run: ./configure CC=clang CFLAGS="$DEF_CFLAGS"
+    - run: make -j8 check V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 install V=1 DESTDIR=$PWD/installdir
+    - run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir
+
+  i386-build-and-test:
+    name: Build and test with gcc -m32
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v3
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y gcc-multilib
+    - run: ./configure CC=gcc CFLAGS="$DEF_CFLAGS -m32" LDFLAGS="-m32"
+    - run: make -j8 check V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 install V=1 DESTDIR=$PWD/installdir
+    - run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir
+
+  asan-build-and-test:
+    name: Build and test with ASAN enabled
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v3
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y clang
+    - run: echo "ASAN_CFLAGS=$DEF_CFLAGS -fsanitize=address -fno-sanitize-recover=address" >> $GITHUB_ENV
+    - run: ./configure CC=clang CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS"
+    - run: make -j8 check V=1 CFLAGS_WARN="-Werror"
+
+  ubsan-build-and-test:
+    name: Build and test with UBSAN enabled
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v3
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y clang
+    - run: echo "UBSAN_CFLAGS=$DEF_CFLAGS -fsanitize=undefined -fno-sanitize-recover=undefined" >> $GITHUB_ENV
+    - run: ./configure CC=clang CFLAGS="$UBSAN_CFLAGS" LDFLAGS="$UBSAN_CFLAGS"
+    - run: make -j8 check V=1 CFLAGS_WARN="-Werror"
+
+  macos-build-and-test:
+    name: Build and test on macOS
+    runs-on: macos-latest
+    steps:
+    - uses: actions/checkout@v3
+    - run: ./configure CFLAGS="$DEF_CFLAGS"
+      # -Wno-error=deprecated-declarations is needed to suppress known warnings
+      # due to e2fsprogs' use of sbrk(0) and daemon().
+    - run: make -j8 check V=1 CFLAGS_WARN="-Werror -Wno-error=deprecated-declarations"
+    - run: make -j8 install DESTDIR=$PWD/installdir
+    - run: make -j8 uninstall DESTDIR=$PWD/installdir
+
+  windows-msys2-build:
+    name: Build mke2fs on Windows with ${{matrix.sys}}
+    runs-on: windows-latest
+    strategy:
+      matrix:
+        include:
+        - { sys: mingw32, env: i686 }
+        - { sys: mingw64, env: x86_64 }
+    defaults:
+      run:
+        shell: msys2 {0}
+    steps:
+    - uses: actions/checkout@v3
+    - uses: msys2/setup-msys2@v2
+      with:
+        msystem: ${{matrix.sys}}
+        update: true
+        install: >
+          make
+          mingw-w64-${{matrix.env}}-cc
+    # For now the only parts that actually build for Windows are mke2fs and its
+    # dependencies: all libraries except libss.  The build system doesn't want
+    # to build just those parts, though, so do it one step at a time...
+    - run: ./configure CFLAGS="$DEF_CFLAGS"
+    - run: make -j8 subs V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 -C lib/et/ all V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 -C lib/uuid/ all V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 -C lib/blkid/ all V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 -C lib/ext2fs/ all V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 -C lib/support/ all V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 -C lib/e2p/ all V=1 CFLAGS_WARN="-Werror"
+    - run: make -j8 -C misc/ mke2fs V=1 CFLAGS_WARN="-Werror"
+    - run: misc/mke2fs.exe -T ext4 image.ext4 128M
diff --git a/Android.bp b/Android.bp
index e596664..46f6334 100644
--- a/Android.bp
+++ b/Android.bp
@@ -42,21 +42,32 @@
 
 cc_defaults {
     name: "e2fsprogs-defaults",
-    cflags: ["-Wall", "-Werror", "-Wno-pointer-arith"],
+    cflags: [
+        "-Wall",
+        "-Werror",
+        // Some warnings that Android's build system enables by default are not
+        // supported by upstream e2fsprogs.  When such a warning shows up,
+        // disable it below.  Please don't disable warnings that upstream
+        // e2fsprogs is supposed to support; for those, fix the code instead.
+        "-Wno-pointer-arith",
+        "-Wno-sign-compare",
+        "-Wno-type-limits",
+        "-Wno-typedef-redefinition",
+        "-Wno-unused-parameter",
+    ],
     target: {
-        darwin: {
-            // Still has unfixed/unsuppressed warnings.
-            cflags: ["-Wno-error"],
-        },
-        windows: {
-            cflags: [
-                "-Wno-typedef-redefinition",
-                "-Wno-unused-parameter",
-                "-Wno-unused-variable",
+        bionic: {
+            system_shared_libs: [
+                "libc",
+                "libdl",
             ],
         },
-        bionic: {
-            system_shared_libs: ["libc", "libdl"],
+        darwin: {
+            // This matches what the upstream CI uses
+            cflags: ["-Wno-error=deprecated-declarations"],
+        },
+        windows: {
+            include_dirs: ["external/e2fsprogs/include/mingw"],
         },
     },
 }
diff --git a/MCONFIG.in b/MCONFIG.in
index 3fede36..82c75a2 100644
--- a/MCONFIG.in
+++ b/MCONFIG.in
@@ -87,6 +87,7 @@
 SANITIZER_LDFLAGS = @lto_ldflags@ @ubsan_ldflags@ @addrsan_ldflags@ @threadsan_ldflags@
 
 CC = @PTHREAD_CC@
+CXX = @CXX@
 BUILD_CC = @BUILD_CC@
 PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
 PTHREAD_LIBS = @PTHREAD_LIBS@
@@ -99,7 +100,7 @@
 ALL_CFLAGS_STLIB = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS_STLIB) $(PTHREAD_CFLAGS) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS)
 LDFLAGS = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS@
 LDFLAGS_SHLIB = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS_SHLIB@
-ALL_LDFLAGS = $(LDFLAGS) @LDFLAG_DYNAMIC@
+ALL_LDFLAGS = $(LDFLAGS) @LDFLAG_DYNAMIC@ $(LOCAL_LDFLAGS)
 LDFLAGS_STATIC = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS_STATIC@
 BUILD_CFLAGS = $(SANITIZER_CFLAGS) @BUILD_CFLAGS@
 BUILD_LDFLAGS = $(SANITIZER_LDFLAGS) @BUILD_LDFLAGS@
diff --git a/METADATA b/METADATA
index 6d8601b..d5d8487 100644
--- a/METADATA
+++ b/METADATA
@@ -1,3 +1,19 @@
+# This project was upgraded with external_updater.
+# Usage: tools/external_updater/updater.sh update e2fsprogs
+# For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
+
+name: "e2fsprogs"
+description: "Ext2/3/4 filesystem userspace utilities"
 third_party {
+  url {
+    type: GIT
+    value: "https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git"
+  }
+  version: "v1.46.6"
   license_type: RESTRICTED
+  last_upgrade_date {
+    year: 2023
+    month: 3
+    day: 23
+  }
 }
diff --git a/Makefile.in b/Makefile.in
index d412dfb..79b7116 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -22,8 +22,8 @@
 LIB_SUBDIRS=lib/et lib/ss $(E2P_LIB_SUBDIR) $(UUID_LIB_SUBDIR) \
 	$(BLKID_LIB_SUBDIR) $(SUPPORT_LIB_SUBDIR) $(EXT2FS_LIB_SUBDIR)
 
-PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs po \
-	$(E2SCRUB_DIR)
+PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs \
+	tests/fuzz po $(E2SCRUB_DIR)
 
 SUBDIRS=util $(LIB_SUBDIRS) $(PROG_SUBDIRS) tests
 
diff --git a/OWNERS b/OWNERS
index 997edf8..40e8d5a 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,3 +1,3 @@
 tytso@google.com
-salyzyn@google.com
 dvander@google.com
+ebiggers@google.com
diff --git a/README b/README
index fa4d997..3139854 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-	This is the new version (1.46.2) of the second extended file
+	This is the new version (1.46.6) of the second extended file
 system management programs.
 
 	From time to time, I release new versions of e2fsprogs, to fix
diff --git a/README.version b/README.version
index cec90d5..1593094 100644
--- a/README.version
+++ b/README.version
@@ -1,3 +1,3 @@
-URL: https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.46.2/e2fsprogs-1.46.2.tar.gz
-Version: 1.46.2
+URL: https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.46.6/e2fsprogs-1.46.6.tar.gz
+Version: 1.46.6
 BugComponent: 95221
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index a0e8f57..0e61bc7 120000
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1 +1 @@
-doc/RelNotes/v1.46.2.txt
\ No newline at end of file
+doc/RelNotes/v1.46.5.txt
\ No newline at end of file
diff --git a/aclocal.m4 b/aclocal.m4
index 0f39d30..b5f5cec 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.16.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -28,20 +28,24 @@
 #   flags that are needed. (The user can also force certain compiler
 #   flags/libs to be tested by setting these environment variables.)
 #
-#   Also sets PTHREAD_CC to any special C compiler that is needed for
-#   multi-threaded programs (defaults to the value of CC otherwise). (This
-#   is necessary on AIX to use the special cc_r compiler alias.)
+#   Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is
+#   needed for multi-threaded programs (defaults to the value of CC
+#   respectively CXX otherwise). (This is necessary on e.g. AIX to use the
+#   special cc_r/CC_r compiler alias.)
 #
 #   NOTE: You are assumed to not only compile your program with these flags,
 #   but also to link with them as well. For example, you might link with
 #   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
+#   $PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
 #
 #   If you are only building threaded programs, you may wish to use these
 #   variables in your default LIBS, CFLAGS, and CC:
 #
 #     LIBS="$PTHREAD_LIBS $LIBS"
 #     CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+#     CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
 #     CC="$PTHREAD_CC"
+#     CXX="$PTHREAD_CXX"
 #
 #   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
 #   has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
@@ -69,6 +73,7 @@
 #
 #   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
 #   Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
+#   Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl>
 #
 #   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
@@ -96,7 +101,7 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 24
+#serial 31
 
 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
 AC_DEFUN([AX_PTHREAD], [
@@ -118,6 +123,7 @@
         ax_pthread_save_CFLAGS="$CFLAGS"
         ax_pthread_save_LIBS="$LIBS"
         AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
+        AS_IF([test "x$PTHREAD_CXX" != "x"], [CXX="$PTHREAD_CXX"])
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
         LIBS="$PTHREAD_LIBS $LIBS"
         AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
@@ -137,10 +143,12 @@
 # (e.g. DEC) have both -lpthread and -lpthreads, where one of the
 # libraries is broken (non-POSIX).
 
-# Create a list of thread flags to try.  Items starting with a "-" are
-# C compiler flags, and other items are library names, except for "none"
-# which indicates that we try without any flags at all, and "pthread-config"
-# which is a program returning the flags for the Pth emulation library.
+# Create a list of thread flags to try. Items with a "," contain both
+# C compiler flags (before ",") and linker flags (after ","). Other items
+# starting with a "-" are C compiler flags, and remaining items are
+# library names, except for "none" which indicates that we try without
+# any flags at all, and "pthread-config" which is a program returning
+# the flags for the Pth emulation library.
 
 ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
@@ -208,14 +216,47 @@
         # that too in a future libc.)  So we'll check first for the
         # standard Solaris way of linking pthreads (-mt -lpthread).
 
-        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
+        ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags"
         ;;
 esac
 
+# Are we compiling with Clang?
+
+AC_CACHE_CHECK([whether $CC is Clang],
+    [ax_cv_PTHREAD_CLANG],
+    [ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
+            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+            ],
+            [ax_cv_PTHREAD_CLANG=yes])
+     fi
+    ])
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+
 # GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
 
+# Note that for GCC and Clang -pthread generally implies -lpthread,
+# except when -nostdlib is passed.
+# This is problematic using libtool to build C++ shared libraries with pthread:
+# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460
+# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333
+# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555
+# To solve this, first try -pthread together with -lpthread for GCC
+
 AS_IF([test "x$GCC" = "xyes"],
-      [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
+      [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"])
+
+# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first
+
+AS_IF([test "x$ax_pthread_clang" = "xyes"],
+      [ax_pthread_flags="-pthread,-lpthread -pthread"])
+
 
 # The presence of a feature test macro requesting re-entrant function
 # definitions is, on some systems, a strong hint that pthreads support is
@@ -238,101 +279,6 @@
       [ax_pthread_check_cond=0],
       [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
 
-# Are we compiling with Clang?
-
-AC_CACHE_CHECK([whether $CC is Clang],
-    [ax_cv_PTHREAD_CLANG],
-    [ax_cv_PTHREAD_CLANG=no
-     # Note that Autoconf sets GCC=yes for Clang as well as GCC
-     if test "x$GCC" = "xyes"; then
-        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
-            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
-#            if defined(__clang__) && defined(__llvm__)
-             AX_PTHREAD_CC_IS_CLANG
-#            endif
-            ],
-            [ax_cv_PTHREAD_CLANG=yes])
-     fi
-    ])
-ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
-
-ax_pthread_clang_warning=no
-
-# Clang needs special handling, because older versions handle the -pthread
-# option in a rather... idiosyncratic way
-
-if test "x$ax_pthread_clang" = "xyes"; then
-
-        # Clang takes -pthread; it has never supported any other flag
-
-        # (Note 1: This will need to be revisited if a system that Clang
-        # supports has POSIX threads in a separate library.  This tends not
-        # to be the way of modern systems, but it's conceivable.)
-
-        # (Note 2: On some systems, notably Darwin, -pthread is not needed
-        # to get POSIX threads support; the API is always present and
-        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
-        # -pthread does define _REENTRANT, and while the Darwin headers
-        # ignore this macro, third-party headers might not.)
-
-        PTHREAD_CFLAGS="-pthread"
-        PTHREAD_LIBS=
-
-        ax_pthread_ok=yes
-
-        # However, older versions of Clang make a point of warning the user
-        # that, in an invocation where only linking and no compilation is
-        # taking place, the -pthread option has no effect ("argument unused
-        # during compilation").  They expect -pthread to be passed in only
-        # when source code is being compiled.
-        #
-        # Problem is, this is at odds with the way Automake and most other
-        # C build frameworks function, which is that the same flags used in
-        # compilation (CFLAGS) are also used in linking.  Many systems
-        # supported by AX_PTHREAD require exactly this for POSIX threads
-        # support, and in fact it is often not straightforward to specify a
-        # flag that is used only in the compilation phase and not in
-        # linking.  Such a scenario is extremely rare in practice.
-        #
-        # Even though use of the -pthread flag in linking would only print
-        # a warning, this can be a nuisance for well-run software projects
-        # that build with -Werror.  So if the active version of Clang has
-        # this misfeature, we search for an option to squash it.
-
-        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
-            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
-            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
-             # Create an alternate version of $ac_link that compiles and
-             # links in two steps (.c -> .o, .o -> exe) instead of one
-             # (.c -> exe), because the warning occurs only in the second
-             # step
-             ax_pthread_save_ac_link="$ac_link"
-             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
-             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
-             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
-             ax_pthread_save_CFLAGS="$CFLAGS"
-             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
-                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
-                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
-                ac_link="$ax_pthread_save_ac_link"
-                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
-                    [ac_link="$ax_pthread_2step_ac_link"
-                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
-                         [break])
-                    ])
-             done
-             ac_link="$ax_pthread_save_ac_link"
-             CFLAGS="$ax_pthread_save_CFLAGS"
-             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
-             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
-            ])
-
-        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
-                no | unknown) ;;
-                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
-        esac
-
-fi # $ax_pthread_clang = yes
 
 if test "x$ax_pthread_ok" = "xno"; then
 for ax_pthread_try_flag in $ax_pthread_flags; do
@@ -342,10 +288,10 @@
                 AC_MSG_CHECKING([whether pthreads work without any flags])
                 ;;
 
-                -mt,pthread)
-                AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
-                PTHREAD_CFLAGS="-mt"
-                PTHREAD_LIBS="-lpthread"
+                *,*)
+                PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"`
+                PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"`
+                AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"])
                 ;;
 
                 -*)
@@ -385,7 +331,13 @@
 #                       if $ax_pthread_check_cond
 #                        error "$ax_pthread_check_macro must be defined"
 #                       endif
-                        static void routine(void *a) { a = 0; }
+                        static void *some_global = NULL;
+                        static void routine(void *a)
+                          {
+                             /* To avoid any unused-parameter or
+                                unused-but-set-parameter warning.  */
+                             some_global = a;
+                          }
                         static void *start_routine(void *a) { return a; }],
                        [pthread_t th; pthread_attr_t attr;
                         pthread_create(&th, 0, start_routine, 0);
@@ -407,6 +359,80 @@
 done
 fi
 
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`AS_ECHO(["$ac_link"]) | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                    [ac_link="$ax_pthread_2step_ac_link"
+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                         [break])
+                    ])
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+            ])
+
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
+
+fi # $ax_pthread_clang = yes
+
+
+
 # Various other checks:
 if test "x$ax_pthread_ok" = "xyes"; then
         ax_pthread_save_CFLAGS="$CFLAGS"
@@ -452,7 +478,8 @@
         AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
             [ax_cv_PTHREAD_PRIO_INHERIT],
             [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-                                             [[int i = PTHREAD_PRIO_INHERIT;]])],
+                                             [[int i = PTHREAD_PRIO_INHERIT;
+                                               return i;]])],
                             [ax_cv_PTHREAD_PRIO_INHERIT=yes],
                             [ax_cv_PTHREAD_PRIO_INHERIT=no])
             ])
@@ -474,18 +501,28 @@
                     [#handle absolute path differently from PATH based program lookup
                      AS_CASE(["x$CC"],
                          [x/*],
-                         [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
-                         [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+                         [
+			   AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])
+			   AS_IF([test "x${CXX}" != "x"], [AS_IF([AS_EXECUTABLE_P([${CXX}_r])],[PTHREAD_CXX="${CXX}_r"])])
+			 ],
+                         [
+			   AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])
+			   AS_IF([test "x${CXX}" != "x"], [AC_CHECK_PROGS([PTHREAD_CXX],[${CXX}_r],[$CXX])])
+			 ]
+                     )
+                    ])
                 ;;
             esac
         fi
 fi
 
 test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
+test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX"
 
 AC_SUBST([PTHREAD_LIBS])
 AC_SUBST([PTHREAD_CFLAGS])
 AC_SUBST([PTHREAD_CC])
+AC_SUBST([PTHREAD_CXX])
 
 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
 if test "x$ax_pthread_ok" = "xyes"; then
@@ -3240,7 +3277,7 @@
   AC_SUBST([USE_NLS])
 ])
 
-# pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
+# pkg.m4 - Macros to locate and use pkg-config.   -*- Autoconf -*-
 # serial 12 (pkg-config-0.29.2)
 
 dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
@@ -3328,7 +3365,7 @@
 dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
 dnl
 dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-dnl only at the first occurence in configure.ac, so if the first place
+dnl only at the first occurrence in configure.ac, so if the first place
 dnl it's called might be skipped (such as if it is within an "if", you
 dnl have to call PKG_CHECK_EXISTS manually
 AC_DEFUN([PKG_CHECK_EXISTS],
@@ -3397,14 +3434,14 @@
         AC_MSG_RESULT([no])
         _PKG_SHORT_ERRORS_SUPPORTED
         if test $_pkg_short_errors_supported = yes; then
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+                $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
         else
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+                $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
         fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+        # Put the nasty error message in config.log where it belongs
+        echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
 
-	m4_default([$4], [AC_MSG_ERROR(
+        m4_default([$4], [AC_MSG_ERROR(
 [Package requirements ($2) were not met:
 
 $$1_PKG_ERRORS
@@ -3416,7 +3453,7 @@
         ])
 elif test $pkg_failed = untried; then
         AC_MSG_RESULT([no])
-	m4_default([$4], [AC_MSG_FAILURE(
+        m4_default([$4], [AC_MSG_FAILURE(
 [The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
@@ -3426,10 +3463,10 @@
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
         ])
 else
-	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
-	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+        $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
         AC_MSG_RESULT([yes])
-	$3
+        $3
 fi[]dnl
 ])dnl PKG_CHECK_MODULES
 
@@ -3516,6 +3553,74 @@
 AS_VAR_IF([$1], [""], [$5], [$4])dnl
 ])dnl PKG_CHECK_VAR
 
+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------
+dnl
+dnl Prepare a "--with-" configure option using the lowercase
+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
+dnl PKG_CHECK_MODULES in a single macro.
+AC_DEFUN([PKG_WITH_MODULES],
+[
+m4_pushdef([with_arg], m4_tolower([$1]))
+
+m4_pushdef([description],
+           [m4_default([$5], [build with ]with_arg[ support])])
+
+m4_pushdef([def_arg], [m4_default([$6], [auto])])
+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
+
+m4_case(def_arg,
+            [yes],[m4_pushdef([with_without], [--without-]with_arg)],
+            [m4_pushdef([with_without],[--with-]with_arg)])
+
+AC_ARG_WITH(with_arg,
+     AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
+    [AS_TR_SH([with_]with_arg)=def_arg])
+
+AS_CASE([$AS_TR_SH([with_]with_arg)],
+            [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
+            [auto],[PKG_CHECK_MODULES([$1],[$2],
+                                        [m4_n([def_action_if_found]) $3],
+                                        [m4_n([def_action_if_not_found]) $4])])
+
+m4_popdef([with_arg])
+m4_popdef([description])
+m4_popdef([def_arg])
+
+])dnl PKG_WITH_MODULES
+
+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl -----------------------------------------------
+dnl
+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
+dnl check._[VARIABLE-PREFIX] is exported as make variable.
+AC_DEFUN([PKG_HAVE_WITH_MODULES],
+[
+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
+
+AM_CONDITIONAL([HAVE_][$1],
+               [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
+])dnl PKG_HAVE_WITH_MODULES
+
+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------------------
+dnl
+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
+dnl and preprocessor variable.
+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
+[
+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
+
+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
+        [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
+])dnl PKG_HAVE_DEFINE_WITH_MODULES
+
 # po.m4 serial 31 (gettext-0.20.2)
 dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
diff --git a/config/config.guess b/config/config.guess
index 45001cf..69188da 100755
--- a/config/config.guess
+++ b/config/config.guess
@@ -1,12 +1,14 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2020 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
-timestamp='2020-01-01'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2023-01-01'
 
 # This file 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 3 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -27,11 +29,19 @@
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
 
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX.  However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
+
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
@@ -50,7 +60,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2020 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -84,6 +94,9 @@
   exit 1
 fi
 
+# Just in case it came from the environment.
+GUESS=
+
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
 # temporary files to be created and, as you can see below, it is a
@@ -102,7 +115,7 @@
     # prevent multiple calls if $tmp is already set
     test "$tmp" && return 0
     : "${TMPDIR=/tmp}"
-    # shellcheck disable=SC2039
+    # shellcheck disable=SC2039,SC3028
     { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
 	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
 	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
@@ -112,7 +125,7 @@
 	,,)    echo "int x;" > "$dummy.c"
 	       for driver in cc gcc c89 c99 ; do
 		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
-		       CC_FOR_BUILD="$driver"
+		       CC_FOR_BUILD=$driver
 		       break
 		   fi
 	       done
@@ -133,14 +146,12 @@
 
 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-case "$UNAME_SYSTEM" in
+case $UNAME_SYSTEM in
 Linux|GNU|GNU/*)
-	# If the system lacks a compiler, then just pick glibc.
-	# We could probably try harder.
-	LIBC=gnu
+	LIBC=unknown
 
 	set_cc_for_build
 	cat <<-EOF > "$dummy.c"
@@ -149,24 +160,37 @@
 	LIBC=uclibc
 	#elif defined(__dietlibc__)
 	LIBC=dietlibc
-	#else
+	#elif defined(__GLIBC__)
 	LIBC=gnu
+	#else
+	#include <stdarg.h>
+	/* First heuristic to detect musl libc.  */
+	#ifdef __DEFINED_va_list
+	LIBC=musl
+	#endif
 	#endif
 	EOF
-	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+	eval "$cc_set_libc"
 
-	# If ldd exists, use it to detect musl libc.
-	if command -v ldd >/dev/null && \
-		ldd --version 2>&1 | grep -q ^musl
-	then
-	    LIBC=musl
+	# Second heuristic to detect musl libc.
+	if [ "$LIBC" = unknown ] &&
+	   command -v ldd >/dev/null &&
+	   ldd --version 2>&1 | grep -q ^musl; then
+		LIBC=musl
+	fi
+
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	if [ "$LIBC" = unknown ]; then
+		LIBC=gnu
 	fi
 	;;
 esac
 
 # Note: order is significant - the case branches are not exclusive.
 
-case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
+case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
     *:NetBSD:*:*)
 	# NetBSD (nbsd) targets should (where applicable) match one or
 	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -178,12 +202,12 @@
 	#
 	# Note: NetBSD doesn't particularly care about the vendor
 	# portion of the name.  We always set it to "unknown".
-	sysctl="sysctl -n hw.machine_arch"
 	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
-	    "/sbin/$sysctl" 2>/dev/null || \
-	    "/usr/sbin/$sysctl" 2>/dev/null || \
+	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
 	    echo unknown)`
-	case "$UNAME_MACHINE_ARCH" in
+	case $UNAME_MACHINE_ARCH in
+	    aarch64eb) machine=aarch64_be-unknown ;;
 	    armeb) machine=armeb-unknown ;;
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
@@ -192,13 +216,13 @@
 	    earmv*)
 		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
 		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
-		machine="${arch}${endian}"-unknown
+		machine=${arch}${endian}-unknown
 		;;
-	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
+	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
 	# to ELF recently (or will in the future) and ABI.
-	case "$UNAME_MACHINE_ARCH" in
+	case $UNAME_MACHINE_ARCH in
 	    earm*)
 		os=netbsdelf
 		;;
@@ -219,7 +243,7 @@
 		;;
 	esac
 	# Determine ABI tags.
-	case "$UNAME_MACHINE_ARCH" in
+	case $UNAME_MACHINE_ARCH in
 	    earm*)
 		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
 		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
@@ -230,7 +254,7 @@
 	# thus, need a distinct triplet. However, they do not need
 	# kernel version information, so it can be replaced with a
 	# suitable tag, in the style of linux-gnu.
-	case "$UNAME_VERSION" in
+	case $UNAME_VERSION in
 	    Debian*)
 		release='-gnu'
 		;;
@@ -241,51 +265,57 @@
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "$machine-${os}${release}${abi-}"
-	exit ;;
+	GUESS=$machine-${os}${release}${abi-}
+	;;
     *:Bitrig:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
+	;;
     *:OpenBSD:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
+	;;
+    *:SecBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
+	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
+	;;
     *:LibertyBSD:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
-	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
+	;;
     *:MidnightBSD:*:*)
-	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
+	;;
     *:ekkoBSD:*:*)
-	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
+	;;
     *:SolidBSD:*:*)
-	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
+	;;
     *:OS108:*:*)
-	echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
+	;;
     macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
-	exit ;;
+	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
+	;;
     *:MirBSD:*:*)
-	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
+	;;
     *:Sortix:*:*)
-	echo "$UNAME_MACHINE"-unknown-sortix
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-sortix
+	;;
     *:Twizzler:*:*)
-	echo "$UNAME_MACHINE"-unknown-twizzler
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-twizzler
+	;;
     *:Redox:*:*)
-	echo "$UNAME_MACHINE"-unknown-redox
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-redox
+	;;
     mips:OSF1:*.*)
-	echo mips-dec-osf1
-	exit ;;
+	GUESS=mips-dec-osf1
+	;;
     alpha:OSF1:*:*)
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	trap '' 0
 	case $UNAME_RELEASE in
 	*4.0)
 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -299,7 +329,7 @@
 	# covers most systems running today.  This code pipes the CPU
 	# types through head -n 1, so we only detect the type of CPU 0.
 	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-	case "$ALPHA_CPU_TYPE" in
+	case $ALPHA_CPU_TYPE in
 	    "EV4 (21064)")
 		UNAME_MACHINE=alpha ;;
 	    "EV4.5 (21064)")
@@ -336,117 +366,121 @@
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
-	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-	exitcode=$?
-	trap '' 0
-	exit $exitcode ;;
+	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
+	;;
     Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit ;;
+	GUESS=m68k-unknown-sysv4
+	;;
     *:[Aa]miga[Oo][Ss]:*:*)
-	echo "$UNAME_MACHINE"-unknown-amigaos
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-amigaos
+	;;
     *:[Mm]orph[Oo][Ss]:*:*)
-	echo "$UNAME_MACHINE"-unknown-morphos
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-morphos
+	;;
     *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit ;;
+	GUESS=i370-ibm-openedition
+	;;
     *:z/VM:*:*)
-	echo s390-ibm-zvmoe
-	exit ;;
+	GUESS=s390-ibm-zvmoe
+	;;
     *:OS400:*:*)
-	echo powerpc-ibm-os400
-	exit ;;
+	GUESS=powerpc-ibm-os400
+	;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix"$UNAME_RELEASE"
-	exit ;;
+	GUESS=arm-acorn-riscix$UNAME_RELEASE
+	;;
     arm*:riscos:*:*|arm*:RISCOS:*:*)
-	echo arm-unknown-riscos
-	exit ;;
+	GUESS=arm-unknown-riscos
+	;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit ;;
+	GUESS=hppa1.1-hitachi-hiuxmpp
+	;;
     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
 	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit ;;
+	case `(/bin/universe) 2>/dev/null` in
+	    att) GUESS=pyramid-pyramid-sysv3 ;;
+	    *)   GUESS=pyramid-pyramid-bsd   ;;
+	esac
+	;;
     NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit ;;
+	GUESS=pyramid-pyramid-svr4
+	;;
     DRS?6000:unix:4.0:6*)
-	echo sparc-icl-nx6
-	exit ;;
+	GUESS=sparc-icl-nx6
+	;;
     DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
 	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7; exit ;;
-	esac ;;
+	    sparc) GUESS=sparc-icl-nx7 ;;
+	esac
+	;;
     s390x:SunOS:*:*)
-	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
-	exit ;;
+	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
+	;;
     sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-	exit ;;
+	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+	GUESS=sparc-hal-solaris2$SUN_REL
+	;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
-	exit ;;
+	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+	GUESS=sparc-sun-solaris2$SUN_REL
+	;;
     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-	echo i386-pc-auroraux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=i386-pc-auroraux$UNAME_RELEASE
+	;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	set_cc_for_build
 	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+	if test "$CC_FOR_BUILD" != no_compiler_found; then
 	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 	    then
 		SUN_ARCH=x86_64
 	    fi
 	fi
-	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-	exit ;;
+	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
+	;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
 	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
 	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-	exit ;;
+	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+	GUESS=sparc-sun-solaris3$SUN_REL
+	;;
     sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
+	case `/usr/bin/arch -k` in
 	    Series*|S4*)
 		UNAME_RELEASE=`uname -v`
 		;;
 	esac
 	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
-	exit ;;
+	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
+	GUESS=sparc-sun-sunos$SUN_REL
+	;;
     sun3*:SunOS:*:*)
-	echo m68k-sun-sunos"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-sun-sunos$UNAME_RELEASE
+	;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
 	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
-	case "`/bin/arch`" in
+	case `/bin/arch` in
 	    sun3)
-		echo m68k-sun-sunos"$UNAME_RELEASE"
+		GUESS=m68k-sun-sunos$UNAME_RELEASE
 		;;
 	    sun4)
-		echo sparc-sun-sunos"$UNAME_RELEASE"
+		GUESS=sparc-sun-sunos$UNAME_RELEASE
 		;;
 	esac
-	exit ;;
+	;;
     aushp:SunOS:*:*)
-	echo sparc-auspex-sunos"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sparc-auspex-sunos$UNAME_RELEASE
+	;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
     # "atarist" or "atariste" at least should have a processor
@@ -456,41 +490,41 @@
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-atari-mint$UNAME_RELEASE
+	;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-atari-mint$UNAME_RELEASE
+	;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-	echo m68k-atari-mint"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-atari-mint$UNAME_RELEASE
+	;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-	echo m68k-milan-mint"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-milan-mint$UNAME_RELEASE
+	;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-	echo m68k-hades-mint"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-hades-mint$UNAME_RELEASE
+	;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-	echo m68k-unknown-mint"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-unknown-mint$UNAME_RELEASE
+	;;
     m68k:machten:*:*)
-	echo m68k-apple-machten"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-apple-machten$UNAME_RELEASE
+	;;
     powerpc:machten:*:*)
-	echo powerpc-apple-machten"$UNAME_RELEASE"
-	exit ;;
+	GUESS=powerpc-apple-machten$UNAME_RELEASE
+	;;
     RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit ;;
+	GUESS=mips-dec-mach_bsd4.3
+	;;
     RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix"$UNAME_RELEASE"
-	exit ;;
+	GUESS=mips-dec-ultrix$UNAME_RELEASE
+	;;
     VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix"$UNAME_RELEASE"
-	exit ;;
+	GUESS=vax-dec-ultrix$UNAME_RELEASE
+	;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix"$UNAME_RELEASE"
-	exit ;;
+	GUESS=clipper-intergraph-clix$UNAME_RELEASE
+	;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
 	set_cc_for_build
 	sed 's/^	//' << EOF > "$dummy.c"
@@ -518,75 +552,76 @@
 	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
 	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
 	    { echo "$SYSTEM_NAME"; exit; }
-	echo mips-mips-riscos"$UNAME_RELEASE"
-	exit ;;
+	GUESS=mips-mips-riscos$UNAME_RELEASE
+	;;
     Motorola:PowerMAX_OS:*:*)
-	echo powerpc-motorola-powermax
-	exit ;;
+	GUESS=powerpc-motorola-powermax
+	;;
     Motorola:*:4.3:PL8-*)
-	echo powerpc-harris-powermax
-	exit ;;
+	GUESS=powerpc-harris-powermax
+	;;
     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-	echo powerpc-harris-powermax
-	exit ;;
+	GUESS=powerpc-harris-powermax
+	;;
     Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit ;;
+	GUESS=powerpc-harris-powerunix
+	;;
     m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit ;;
+	GUESS=m88k-harris-cxux7
+	;;
     m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit ;;
+	GUESS=m88k-motorola-sysv4
+	;;
     m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit ;;
+	GUESS=m88k-motorola-sysv3
+	;;
     AViiON:dgux:*:*)
 	# DG/UX returns AViiON for all architectures
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
+	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
 	then
-	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
-	       [ "$TARGET_BINARY_INTERFACE"x = x ]
+	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
+	       test "$TARGET_BINARY_INTERFACE"x = x
 	    then
-		echo m88k-dg-dgux"$UNAME_RELEASE"
+		GUESS=m88k-dg-dgux$UNAME_RELEASE
 	    else
-		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
+		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
 	    fi
 	else
-	    echo i586-dg-dgux"$UNAME_RELEASE"
+	    GUESS=i586-dg-dgux$UNAME_RELEASE
 	fi
-	exit ;;
+	;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit ;;
+	GUESS=m88k-dolphin-sysv3
+	;;
     M88*:*:R3*:*)
 	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit ;;
+	GUESS=m88k-motorola-sysv3
+	;;
     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit ;;
+	GUESS=m88k-tektronix-sysv3
+	;;
     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit ;;
+	GUESS=m68k-tektronix-bsd
+	;;
     *:IRIX*:*:*)
-	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
-	exit ;;
+	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
+	GUESS=mips-sgi-irix$IRIX_REL
+	;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
+	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
     i*86:AIX:*:*)
-	echo i386-ibm-aix
-	exit ;;
+	GUESS=i386-ibm-aix
+	;;
     ia64:AIX:*:*)
-	if [ -x /usr/bin/oslevel ] ; then
+	if test -x /usr/bin/oslevel ; then
 		IBM_REV=`/usr/bin/oslevel`
 	else
-		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
 	fi
-	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
-	exit ;;
+	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
+	;;
     *:AIX:2:3)
 	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
 		set_cc_for_build
@@ -603,16 +638,16 @@
 EOF
 		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
 		then
-			echo "$SYSTEM_NAME"
+			GUESS=$SYSTEM_NAME
 		else
-			echo rs6000-ibm-aix3.2.5
+			GUESS=rs6000-ibm-aix3.2.5
 		fi
 	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
+		GUESS=rs6000-ibm-aix3.2.4
 	else
-		echo rs6000-ibm-aix3.2
+		GUESS=rs6000-ibm-aix3.2
 	fi
-	exit ;;
+	;;
     *:AIX:*:[4567])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
@@ -620,56 +655,56 @@
 	else
 		IBM_ARCH=powerpc
 	fi
-	if [ -x /usr/bin/lslpp ] ; then
-		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+	if test -x /usr/bin/lslpp ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
 			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
-		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
 	fi
-	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
-	exit ;;
+	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
+	;;
     *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit ;;
+	GUESS=rs6000-ibm-aix
+	;;
     ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
-	echo romp-ibm-bsd4.4
-	exit ;;
+	GUESS=romp-ibm-bsd4.4
+	;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
-	exit ;;                             # report: romp-ibm BSD 4.3
+	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
+	;;                                  # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit ;;
+	GUESS=rs6000-bull-bosx
+	;;
     DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit ;;
+	GUESS=m68k-bull-sysv3
+	;;
     9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit ;;
+	GUESS=m68k-hp-bsd
+	;;
     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit ;;
+	GUESS=m68k-hp-bsd4.4
+	;;
     9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
-	case "$UNAME_MACHINE" in
+	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+	case $UNAME_MACHINE in
 	    9000/31?)            HP_ARCH=m68000 ;;
 	    9000/[34]??)         HP_ARCH=m68k ;;
 	    9000/[678][0-9][0-9])
-		if [ -x /usr/bin/getconf ]; then
+		if test -x /usr/bin/getconf; then
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-		    case "$sc_cpu_version" in
+		    case $sc_cpu_version in
 		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
 		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
-			case "$sc_kernel_bits" in
+			case $sc_kernel_bits in
 			  32) HP_ARCH=hppa2.0n ;;
 			  64) HP_ARCH=hppa2.0w ;;
 			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
-		if [ "$HP_ARCH" = "" ]; then
+		if test "$HP_ARCH" = ""; then
 		    set_cc_for_build
 		    sed 's/^		//' << EOF > "$dummy.c"
 
@@ -708,7 +743,7 @@
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ "$HP_ARCH" = hppa2.0w ]
+	if test "$HP_ARCH" = hppa2.0w
 	then
 	    set_cc_for_build
 
@@ -729,12 +764,12 @@
 		HP_ARCH=hppa64
 	    fi
 	fi
-	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
-	exit ;;
+	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
+	;;
     ia64:HP-UX:*:*)
-	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux"$HPUX_REV"
-	exit ;;
+	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+	GUESS=ia64-hp-hpux$HPUX_REV
+	;;
     3050*:HI-UX:*:*)
 	set_cc_for_build
 	sed 's/^	//' << EOF > "$dummy.c"
@@ -764,36 +799,36 @@
 EOF
 	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
 		{ echo "$SYSTEM_NAME"; exit; }
-	echo unknown-hitachi-hiuxwe2
-	exit ;;
+	GUESS=unknown-hitachi-hiuxwe2
+	;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
-	echo hppa1.1-hp-bsd
-	exit ;;
+	GUESS=hppa1.1-hp-bsd
+	;;
     9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit ;;
+	GUESS=hppa1.0-hp-bsd
+	;;
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit ;;
+	GUESS=hppa1.0-hp-mpeix
+	;;
     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
-	echo hppa1.1-hp-osf
-	exit ;;
+	GUESS=hppa1.1-hp-osf
+	;;
     hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit ;;
+	GUESS=hppa1.0-hp-osf
+	;;
     i*86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo "$UNAME_MACHINE"-unknown-osf1mk
+	if test -x /usr/sbin/sysversion ; then
+	    GUESS=$UNAME_MACHINE-unknown-osf1mk
 	else
-	    echo "$UNAME_MACHINE"-unknown-osf1
+	    GUESS=$UNAME_MACHINE-unknown-osf1
 	fi
-	exit ;;
+	;;
     parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit ;;
+	GUESS=hppa1.1-hp-lites
+	;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-	exit ;;
+	GUESS=c1-convex-bsd
+	;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
@@ -801,17 +836,18 @@
 	fi
 	exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-	exit ;;
+	GUESS=c34-convex-bsd
+	;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-	exit ;;
+	GUESS=c38-convex-bsd
+	;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-	exit ;;
+	GUESS=c4-convex-bsd
+	;;
     CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+	GUESS=ymp-cray-unicos$CRAY_REL
+	;;
     CRAY*[A-Z]90:*:*:*)
 	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
@@ -819,112 +855,133 @@
 	      -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*TS:*:*:*)
-	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+	GUESS=t90-cray-unicos$CRAY_REL
+	;;
     CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+	GUESS=alphaev5-cray-unicosmk$CRAY_REL
+	;;
     CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+	GUESS=sv1-cray-unicos$CRAY_REL
+	;;
     *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+	GUESS=craynv-cray-unicosmp$CRAY_REL
+	;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
 	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
-	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
+	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+	;;
     5000:UNIX_System_V:4.*:*)
 	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
 	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
-	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
+	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+	;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
+	;;
     sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
+	;;
     *:BSD/OS:*:*)
-	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
+	;;
     arm:FreeBSD:*:*)
 	UNAME_PROCESSOR=`uname -p`
 	set_cc_for_build
 	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_PCS_VFP
 	then
-	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
+	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
 	else
-	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
+	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
 	fi
-	exit ;;
+	;;
     *:FreeBSD:*:*)
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	case "$UNAME_PROCESSOR" in
+	case $UNAME_PROCESSOR in
 	    amd64)
 		UNAME_PROCESSOR=x86_64 ;;
 	    i386)
 		UNAME_PROCESSOR=i586 ;;
 	esac
-	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
-	exit ;;
+	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
+	;;
     i*:CYGWIN*:*)
-	echo "$UNAME_MACHINE"-pc-cygwin
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-cygwin
+	;;
     *:MINGW64*:*)
-	echo "$UNAME_MACHINE"-pc-mingw64
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-mingw64
+	;;
     *:MINGW*:*)
-	echo "$UNAME_MACHINE"-pc-mingw32
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-mingw32
+	;;
     *:MSYS*:*)
-	echo "$UNAME_MACHINE"-pc-msys
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-msys
+	;;
     i*:PW*:*)
-	echo "$UNAME_MACHINE"-pc-pw32
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-pw32
+	;;
+    *:SerenityOS:*:*)
+        GUESS=$UNAME_MACHINE-pc-serenity
+        ;;
     *:Interix*:*)
-	case "$UNAME_MACHINE" in
+	case $UNAME_MACHINE in
 	    x86)
-		echo i586-pc-interix"$UNAME_RELEASE"
-		exit ;;
+		GUESS=i586-pc-interix$UNAME_RELEASE
+		;;
 	    authenticamd | genuineintel | EM64T)
-		echo x86_64-unknown-interix"$UNAME_RELEASE"
-		exit ;;
+		GUESS=x86_64-unknown-interix$UNAME_RELEASE
+		;;
 	    IA64)
-		echo ia64-unknown-interix"$UNAME_RELEASE"
-		exit ;;
+		GUESS=ia64-unknown-interix$UNAME_RELEASE
+		;;
 	esac ;;
     i*:UWIN*:*)
-	echo "$UNAME_MACHINE"-pc-uwin
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-uwin
+	;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-	echo x86_64-pc-cygwin
-	exit ;;
+	GUESS=x86_64-pc-cygwin
+	;;
     prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
-	exit ;;
+	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+	GUESS=powerpcle-unknown-solaris2$SUN_REL
+	;;
     *:GNU:*:*)
 	# the GNU system
-	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
-	exit ;;
+	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
+	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
+	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
+	;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
-	exit ;;
+	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
+	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
+	;;
+    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
+	GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
+	;;
+    *:[Mm]anagarm:*:*)
+	GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
+	;;
     *:Minix:*:*)
-	echo "$UNAME_MACHINE"-unknown-minix
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-minix
+	;;
     aarch64:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
 	  EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -937,60 +994,63 @@
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
 	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
-    arc:Linux:*:* | arceb:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
+    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     arm*:Linux:*:*)
 	set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
+		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
 	    else
-		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
+		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
 	    fi
 	fi
-	exit ;;
+	;;
     avr32*:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     cris:Linux:*:*)
-	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+	;;
     crisv32:Linux:*:*)
-	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+	;;
     e2k:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     frv:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     hexagon:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     i*86:Linux:*:*)
-	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
+	;;
     ia64:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     k1om:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
+    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     m32r*:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     m68*:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     mips:Linux:*:* | mips64:Linux:*:*)
 	set_cc_for_build
 	IS_GLIBC=0
@@ -1035,113 +1095,135 @@
 	#endif
 	#endif
 EOF
-	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`"
+	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
+	eval "$cc_set_vars"
 	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
 	;;
     mips64el:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     openrisc*:Linux:*:*)
-	echo or1k-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=or1k-unknown-linux-$LIBC
+	;;
     or32:Linux:*:* | or1k*:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=sparc-unknown-linux-$LIBC
+	;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=hppa64-unknown-linux-$LIBC
+	;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
-	  PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
-	  *)    echo hppa-unknown-linux-"$LIBC" ;;
+	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
+	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
+	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
 	esac
-	exit ;;
+	;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=powerpc64-unknown-linux-$LIBC
+	;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=powerpc-unknown-linux-$LIBC
+	;;
     ppc64le:Linux:*:*)
-	echo powerpc64le-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=powerpc64le-unknown-linux-$LIBC
+	;;
     ppcle:Linux:*:*)
-	echo powerpcle-unknown-linux-"$LIBC"
-	exit ;;
-    riscv32:Linux:*:* | riscv64:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=powerpcle-unknown-linux-$LIBC
+	;;
+    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
+	;;
     sh64*:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     sh*:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     tile*:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     vax:Linux:*:*)
-	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
+	;;
     x86_64:Linux:*:*)
-	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
-	exit ;;
+	set_cc_for_build
+	CPU=$UNAME_MACHINE
+	LIBCABI=$LIBC
+	if test "$CC_FOR_BUILD" != no_compiler_found; then
+	    ABI=64
+	    sed 's/^	    //' << EOF > "$dummy.c"
+	    #ifdef __i386__
+	    ABI=x86
+	    #else
+	    #ifdef __ILP32__
+	    ABI=x32
+	    #endif
+	    #endif
+EOF
+	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+	    eval "$cc_set_abi"
+	    case $ABI in
+		x86) CPU=i686 ;;
+		x32) LIBCABI=${LIBC}x32 ;;
+	    esac
+	fi
+	GUESS=$CPU-pc-linux-$LIBCABI
+	;;
     xtensa*:Linux:*:*)
-	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+	;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
 	# earlier versions are messed up and put the nodename in both
 	# sysname and nodename.
-	echo i386-sequent-sysv4
-	exit ;;
+	GUESS=i386-sequent-sysv4
+	;;
     i*86:UNIX_SV:4.2MP:2.*)
 	# Unixware is an offshoot of SVR4, but it has its own version
 	# number series starting with 2...
 	# I am not positive that other SVR4 systems won't match this,
 	# I just have to hope.  -- rms.
 	# Use sysv4.2uw... so that sysv4* matches it.
-	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
+	;;
     i*86:OS/2:*:*)
 	# If we were able to find `uname', then EMX Unix compatibility
 	# is probably installed.
-	echo "$UNAME_MACHINE"-pc-os2-emx
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-os2-emx
+	;;
     i*86:XTS-300:*:STOP)
-	echo "$UNAME_MACHINE"-unknown-stop
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-stop
+	;;
     i*86:atheos:*:*)
-	echo "$UNAME_MACHINE"-unknown-atheos
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-atheos
+	;;
     i*86:syllable:*:*)
-	echo "$UNAME_MACHINE"-pc-syllable
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-syllable
+	;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-	echo i386-unknown-lynxos"$UNAME_RELEASE"
-	exit ;;
+	GUESS=i386-unknown-lynxos$UNAME_RELEASE
+	;;
     i*86:*DOS:*:*)
-	echo "$UNAME_MACHINE"-pc-msdosdjgpp
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
+	;;
     i*86:*:4.*:*)
 	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
+		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
 	else
-		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
+		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
 	fi
-	exit ;;
+	;;
     i*86:*:5:[678]*)
 	# UnixWare 7.x, OpenUNIX and OpenServer 6.
 	case `/bin/uname -X | grep "^Machine"` in
@@ -1149,12 +1231,12 @@
 	    *Pentium)	     UNAME_MACHINE=i586 ;;
 	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
 	esac
-	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	;;
     i*86:*:3.2:*)
 	if test -f /usr/options/cb.name; then
 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
+		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
 	elif /bin/uname -X 2>/dev/null >/dev/null ; then
 		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
 		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1164,11 +1246,11 @@
 			&& UNAME_MACHINE=i686
 		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
 			&& UNAME_MACHINE=i686
-		echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
+		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
 	else
-		echo "$UNAME_MACHINE"-pc-sysv32
+		GUESS=$UNAME_MACHINE-pc-sysv32
 	fi
-	exit ;;
+	;;
     pc:*:*:*)
 	# Left here for compatibility:
 	# uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -1176,31 +1258,31 @@
 	# Note: whatever this is, it MUST be the same as what config.sub
 	# prints for the "djgpp" host, or else GDB configure will decide that
 	# this is a cross-build.
-	echo i586-pc-msdosdjgpp
-	exit ;;
+	GUESS=i586-pc-msdosdjgpp
+	;;
     Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit ;;
+	GUESS=i386-pc-mach3
+	;;
     paragon:*:*:*)
-	echo i860-intel-osf1
-	exit ;;
+	GUESS=i860-intel-osf1
+	;;
     i860:*:4.*:*) # i860-SVR4
 	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
+	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
 	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
+	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
 	fi
-	exit ;;
+	;;
     mini*:CTIX:SYS*5:*)
 	# "miniframe"
-	echo m68010-convergent-sysv
-	exit ;;
+	GUESS=m68010-convergent-sysv
+	;;
     mc68k:UNIX:SYSTEM5:3.51m)
-	echo m68k-convergent-sysv
-	exit ;;
+	GUESS=m68k-convergent-sysv
+	;;
     M680?0:D-NIX:5.3:*)
-	echo m68k-diab-dnix
-	exit ;;
+	GUESS=m68k-diab-dnix
+	;;
     M68*:*:R3V[5678]*:*)
 	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
     3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
@@ -1225,113 +1307,119 @@
 	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
 	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
+	;;
     mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit ;;
+	GUESS=m68k-atari-sysv4
+	;;
     TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
+	;;
     rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos"$UNAME_RELEASE"
-	exit ;;
+	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
+	;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-	echo powerpc-unknown-lynxos"$UNAME_RELEASE"
-	exit ;;
+	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
+	;;
     SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv"$UNAME_RELEASE"
-	exit ;;
+	GUESS=mips-dde-sysv$UNAME_RELEASE
+	;;
     RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
+	GUESS=mips-sni-sysv4
+	;;
     RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
+	GUESS=mips-sni-sysv4
+	;;
     *:SINIX-*:*:*)
 	if uname -p 2>/dev/null >/dev/null ; then
 		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo "$UNAME_MACHINE"-sni-sysv4
+		GUESS=$UNAME_MACHINE-sni-sysv4
 	else
-		echo ns32k-sni-sysv
+		GUESS=ns32k-sni-sysv
 	fi
-	exit ;;
+	;;
     PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
 			# says <Richard.M.Bartel@ccMail.Census.GOV>
-	echo i586-unisys-sysv4
-	exit ;;
+	GUESS=i586-unisys-sysv4
+	;;
     *:UNIX_System_V:4*:FTX*)
 	# From Gerald Hewes <hewes@openmarket.com>.
 	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit ;;
+	GUESS=hppa1.1-stratus-sysv4
+	;;
     *:*:*:FTX*)
 	# From seanf@swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit ;;
+	GUESS=i860-stratus-sysv4
+	;;
     i*86:VOS:*:*)
 	# From Paul.Green@stratus.com.
-	echo "$UNAME_MACHINE"-stratus-vos
-	exit ;;
+	GUESS=$UNAME_MACHINE-stratus-vos
+	;;
     *:VOS:*:*)
 	# From Paul.Green@stratus.com.
-	echo hppa1.1-stratus-vos
-	exit ;;
+	GUESS=hppa1.1-stratus-vos
+	;;
     mc68*:A/UX:*:*)
-	echo m68k-apple-aux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=m68k-apple-aux$UNAME_RELEASE
+	;;
     news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit ;;
+	GUESS=mips-sony-newsos6
+	;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-		echo mips-nec-sysv"$UNAME_RELEASE"
+	if test -d /usr/nec; then
+		GUESS=mips-nec-sysv$UNAME_RELEASE
 	else
-		echo mips-unknown-sysv"$UNAME_RELEASE"
+		GUESS=mips-unknown-sysv$UNAME_RELEASE
 	fi
-	exit ;;
+	;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit ;;
+	GUESS=powerpc-be-beos
+	;;
     BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit ;;
+	GUESS=powerpc-apple-beos
+	;;
     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit ;;
+	GUESS=i586-pc-beos
+	;;
     BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
-	echo i586-pc-haiku
-	exit ;;
-    x86_64:Haiku:*:*)
-	echo x86_64-unknown-haiku
-	exit ;;
+	GUESS=i586-pc-haiku
+	;;
+    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
+	GUESS=powerpc-apple-haiku
+	;;
+    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
+	GUESS=$UNAME_MACHINE-unknown-haiku
+	;;
     SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sx4-nec-superux$UNAME_RELEASE
+	;;
     SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sx5-nec-superux$UNAME_RELEASE
+	;;
     SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sx6-nec-superux$UNAME_RELEASE
+	;;
     SX-7:SUPER-UX:*:*)
-	echo sx7-nec-superux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sx7-nec-superux$UNAME_RELEASE
+	;;
     SX-8:SUPER-UX:*:*)
-	echo sx8-nec-superux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sx8-nec-superux$UNAME_RELEASE
+	;;
     SX-8R:SUPER-UX:*:*)
-	echo sx8r-nec-superux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sx8r-nec-superux$UNAME_RELEASE
+	;;
     SX-ACE:SUPER-UX:*:*)
-	echo sxace-nec-superux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=sxace-nec-superux$UNAME_RELEASE
+	;;
     Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody"$UNAME_RELEASE"
-	exit ;;
+	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
+	;;
     *:Rhapsody:*:*)
-	echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
+	;;
+    arm64:Darwin:*:*)
+	GUESS=aarch64-apple-darwin$UNAME_RELEASE
+	;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p`
 	case $UNAME_PROCESSOR in
@@ -1346,7 +1434,7 @@
 	else
 	    set_cc_for_build
 	fi
-	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+	if test "$CC_FOR_BUILD" != no_compiler_found; then
 	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
 		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		   grep IS_64BIT_ARCH >/dev/null
@@ -1367,109 +1455,119 @@
 	    # uname -m returns i386 or x86_64
 	    UNAME_PROCESSOR=$UNAME_MACHINE
 	fi
-	echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
+	;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
 	if test "$UNAME_PROCESSOR" = x86; then
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
-	echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
+	;;
     *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit ;;
+	GUESS=i386-pc-qnx
+	;;
     NEO-*:NONSTOP_KERNEL:*:*)
-	echo neo-tandem-nsk"$UNAME_RELEASE"
-	exit ;;
+	GUESS=neo-tandem-nsk$UNAME_RELEASE
+	;;
     NSE-*:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk"$UNAME_RELEASE"
-	exit ;;
+	GUESS=nse-tandem-nsk$UNAME_RELEASE
+	;;
     NSR-*:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk"$UNAME_RELEASE"
-	exit ;;
+	GUESS=nsr-tandem-nsk$UNAME_RELEASE
+	;;
     NSV-*:NONSTOP_KERNEL:*:*)
-	echo nsv-tandem-nsk"$UNAME_RELEASE"
-	exit ;;
+	GUESS=nsv-tandem-nsk$UNAME_RELEASE
+	;;
     NSX-*:NONSTOP_KERNEL:*:*)
-	echo nsx-tandem-nsk"$UNAME_RELEASE"
-	exit ;;
+	GUESS=nsx-tandem-nsk$UNAME_RELEASE
+	;;
     *:NonStop-UX:*:*)
-	echo mips-compaq-nonstopux
-	exit ;;
+	GUESS=mips-compaq-nonstopux
+	;;
     BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit ;;
+	GUESS=bs2000-siemens-sysv
+	;;
     DS/*:UNIX_System_V:*:*)
-	echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
+	;;
     *:Plan9:*:*)
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
 	# operating systems.
-	# shellcheck disable=SC2154
-	if test "$cputype" = 386; then
+	if test "${cputype-}" = 386; then
 	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
+	elif test "x${cputype-}" != x; then
+	    UNAME_MACHINE=$cputype
 	fi
-	echo "$UNAME_MACHINE"-unknown-plan9
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-plan9
+	;;
     *:TOPS-10:*:*)
-	echo pdp10-unknown-tops10
-	exit ;;
+	GUESS=pdp10-unknown-tops10
+	;;
     *:TENEX:*:*)
-	echo pdp10-unknown-tenex
-	exit ;;
+	GUESS=pdp10-unknown-tenex
+	;;
     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-	echo pdp10-dec-tops20
-	exit ;;
+	GUESS=pdp10-dec-tops20
+	;;
     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-	echo pdp10-xkl-tops20
-	exit ;;
+	GUESS=pdp10-xkl-tops20
+	;;
     *:TOPS-20:*:*)
-	echo pdp10-unknown-tops20
-	exit ;;
+	GUESS=pdp10-unknown-tops20
+	;;
     *:ITS:*:*)
-	echo pdp10-unknown-its
-	exit ;;
+	GUESS=pdp10-unknown-its
+	;;
     SEI:*:*:SEIUX)
-	echo mips-sei-seiux"$UNAME_RELEASE"
-	exit ;;
+	GUESS=mips-sei-seiux$UNAME_RELEASE
+	;;
     *:DragonFly:*:*)
-	echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
-	exit ;;
+	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
+	;;
     *:*VMS:*:*)
 	UNAME_MACHINE=`(uname -p) 2>/dev/null`
-	case "$UNAME_MACHINE" in
-	    A*) echo alpha-dec-vms ; exit ;;
-	    I*) echo ia64-dec-vms ; exit ;;
-	    V*) echo vax-dec-vms ; exit ;;
+	case $UNAME_MACHINE in
+	    A*) GUESS=alpha-dec-vms ;;
+	    I*) GUESS=ia64-dec-vms ;;
+	    V*) GUESS=vax-dec-vms ;;
 	esac ;;
     *:XENIX:*:SysV)
-	echo i386-pc-xenix
-	exit ;;
+	GUESS=i386-pc-xenix
+	;;
     i*86:skyos:*:*)
-	echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
-	exit ;;
+	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
+	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
+	;;
     i*86:rdos:*:*)
-	echo "$UNAME_MACHINE"-pc-rdos
-	exit ;;
-    i*86:AROS:*:*)
-	echo "$UNAME_MACHINE"-pc-aros
-	exit ;;
+	GUESS=$UNAME_MACHINE-pc-rdos
+	;;
+    i*86:Fiwix:*:*)
+	GUESS=$UNAME_MACHINE-pc-fiwix
+	;;
+    *:AROS:*:*)
+	GUESS=$UNAME_MACHINE-unknown-aros
+	;;
     x86_64:VMkernel:*:*)
-	echo "$UNAME_MACHINE"-unknown-esx
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-esx
+	;;
     amd64:Isilon\ OneFS:*:*)
-	echo x86_64-unknown-onefs
-	exit ;;
+	GUESS=x86_64-unknown-onefs
+	;;
     *:Unleashed:*:*)
-	echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE"
-	exit ;;
+	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
+	;;
 esac
 
+# Do we have a guess based on uname results?
+if test "x$GUESS" != x; then
+    echo "$GUESS"
+    exit
+fi
+
 # No uname command or uname output not recognized.
 set_cc_for_build
 cat > "$dummy.c" <<EOF
@@ -1601,7 +1699,7 @@
 }
 EOF
 
-$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
 	{ echo "$SYSTEM_NAME"; exit; }
 
 # Apollos put the system type in the environment.
@@ -1609,7 +1707,7 @@
 
 echo "$0: unable to guess system type" >&2
 
-case "$UNAME_MACHINE:$UNAME_SYSTEM" in
+case $UNAME_MACHINE:$UNAME_SYSTEM in
     mips:Linux | mips64:Linux)
 	# If we got here on MIPS GNU/Linux, output extra information.
 	cat >&2 <<EOF
@@ -1626,9 +1724,17 @@
 operating system you are using. If your script is old, overwrite *all*
 copies of config.guess and config.sub with the latest versions from:
 
-  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
 and
-  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+EOF
+
+our_year=`echo $timestamp | sed 's,-.*,,'`
+thisyear=`date +%Y`
+# shellcheck disable=SC2003
+script_age=`expr "$thisyear" - "$our_year"`
+if test "$script_age" -lt 3 ; then
+   cat >&2 <<EOF
 
 If $0 has already been updated, send the following data and any
 information you think might be pertinent to config-patches@gnu.org to
@@ -1656,6 +1762,7 @@
 UNAME_SYSTEM  = "$UNAME_SYSTEM"
 UNAME_VERSION = "$UNAME_VERSION"
 EOF
+fi
 
 exit 1
 
diff --git a/config/config.sub b/config/config.sub
index f02d43a..de4259e 100755
--- a/config/config.sub
+++ b/config/config.sub
@@ -1,12 +1,14 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2020 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
-timestamp='2020-01-01'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2023-01-21'
 
 # This file 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 3 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -33,7 +35,7 @@
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -50,6 +52,13 @@
 #	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
 # It is wrong to echo any other type of specification.
 
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX.  However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
@@ -67,7 +76,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2020 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -112,9 +121,11 @@
 
 # Split fields of configuration type
 # shellcheck disable=SC2162
+saved_IFS=$IFS
 IFS="-" read field1 field2 field3 field4 <<EOF
 $1
 EOF
+IFS=$saved_IFS
 
 # Separate into logical components for further validation
 case $1 in
@@ -124,28 +135,27 @@
 		;;
 	*-*-*-*)
 		basic_machine=$field1-$field2
-		os=$field3-$field4
+		basic_os=$field3-$field4
 		;;
 	*-*-*)
 		# Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
 		# parts
 		maybe_os=$field2-$field3
 		case $maybe_os in
-			nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
-			| linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
+			nto-qnx* | linux-* | uclinux-uclibc* \
 			| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
 			| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
-			| storm-chaos* | os2-emx* | rtmk-nova*)
+			| storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
 				basic_machine=$field1
-				os=$maybe_os
+				basic_os=$maybe_os
 				;;
 			android-linux)
 				basic_machine=$field1-unknown
-				os=linux-android
+				basic_os=linux-android
 				;;
 			*)
 				basic_machine=$field1-$field2
-				os=$field3
+				basic_os=$field3
 				;;
 		esac
 		;;
@@ -154,7 +164,7 @@
 		case $field1-$field2 in
 			decstation-3100)
 				basic_machine=mips-dec
-				os=
+				basic_os=
 				;;
 			*-*)
 				# Second component is usually, but not always the OS
@@ -162,7 +172,11 @@
 					# Prevent following clause from handling this valid os
 					sun*os*)
 						basic_machine=$field1
-						os=$field2
+						basic_os=$field2
+						;;
+					zephyr*)
+						basic_machine=$field1-unknown
+						basic_os=$field2
 						;;
 					# Manufacturers
 					dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
@@ -175,11 +189,11 @@
 					| microblaze* | sim | cisco \
 					| oki | wec | wrs | winbond)
 						basic_machine=$field1-$field2
-						os=
+						basic_os=
 						;;
 					*)
 						basic_machine=$field1
-						os=$field2
+						basic_os=$field2
 						;;
 				esac
 			;;
@@ -191,447 +205,451 @@
 		case $field1 in
 			386bsd)
 				basic_machine=i386-pc
-				os=bsd
+				basic_os=bsd
 				;;
 			a29khif)
 				basic_machine=a29k-amd
-				os=udi
+				basic_os=udi
 				;;
 			adobe68k)
 				basic_machine=m68010-adobe
-				os=scout
+				basic_os=scout
 				;;
 			alliant)
 				basic_machine=fx80-alliant
-				os=
+				basic_os=
 				;;
 			altos | altos3068)
 				basic_machine=m68k-altos
-				os=
+				basic_os=
 				;;
 			am29k)
 				basic_machine=a29k-none
-				os=bsd
+				basic_os=bsd
 				;;
 			amdahl)
 				basic_machine=580-amdahl
-				os=sysv
+				basic_os=sysv
 				;;
 			amiga)
 				basic_machine=m68k-unknown
-				os=
+				basic_os=
 				;;
 			amigaos | amigados)
 				basic_machine=m68k-unknown
-				os=amigaos
+				basic_os=amigaos
 				;;
 			amigaunix | amix)
 				basic_machine=m68k-unknown
-				os=sysv4
+				basic_os=sysv4
 				;;
 			apollo68)
 				basic_machine=m68k-apollo
-				os=sysv
+				basic_os=sysv
 				;;
 			apollo68bsd)
 				basic_machine=m68k-apollo
-				os=bsd
+				basic_os=bsd
 				;;
 			aros)
 				basic_machine=i386-pc
-				os=aros
+				basic_os=aros
 				;;
 			aux)
 				basic_machine=m68k-apple
-				os=aux
+				basic_os=aux
 				;;
 			balance)
 				basic_machine=ns32k-sequent
-				os=dynix
+				basic_os=dynix
 				;;
 			blackfin)
 				basic_machine=bfin-unknown
-				os=linux
+				basic_os=linux
 				;;
 			cegcc)
 				basic_machine=arm-unknown
-				os=cegcc
+				basic_os=cegcc
 				;;
 			convex-c1)
 				basic_machine=c1-convex
-				os=bsd
+				basic_os=bsd
 				;;
 			convex-c2)
 				basic_machine=c2-convex
-				os=bsd
+				basic_os=bsd
 				;;
 			convex-c32)
 				basic_machine=c32-convex
-				os=bsd
+				basic_os=bsd
 				;;
 			convex-c34)
 				basic_machine=c34-convex
-				os=bsd
+				basic_os=bsd
 				;;
 			convex-c38)
 				basic_machine=c38-convex
-				os=bsd
+				basic_os=bsd
 				;;
 			cray)
 				basic_machine=j90-cray
-				os=unicos
+				basic_os=unicos
 				;;
 			crds | unos)
 				basic_machine=m68k-crds
-				os=
+				basic_os=
 				;;
 			da30)
 				basic_machine=m68k-da30
-				os=
+				basic_os=
 				;;
 			decstation | pmax | pmin | dec3100 | decstatn)
 				basic_machine=mips-dec
-				os=
+				basic_os=
 				;;
 			delta88)
 				basic_machine=m88k-motorola
-				os=sysv3
+				basic_os=sysv3
 				;;
 			dicos)
 				basic_machine=i686-pc
-				os=dicos
+				basic_os=dicos
 				;;
 			djgpp)
 				basic_machine=i586-pc
-				os=msdosdjgpp
+				basic_os=msdosdjgpp
 				;;
 			ebmon29k)
 				basic_machine=a29k-amd
-				os=ebmon
+				basic_os=ebmon
 				;;
 			es1800 | OSE68k | ose68k | ose | OSE)
 				basic_machine=m68k-ericsson
-				os=ose
+				basic_os=ose
 				;;
 			gmicro)
 				basic_machine=tron-gmicro
-				os=sysv
+				basic_os=sysv
 				;;
 			go32)
 				basic_machine=i386-pc
-				os=go32
+				basic_os=go32
 				;;
 			h8300hms)
 				basic_machine=h8300-hitachi
-				os=hms
+				basic_os=hms
 				;;
 			h8300xray)
 				basic_machine=h8300-hitachi
-				os=xray
+				basic_os=xray
 				;;
 			h8500hms)
 				basic_machine=h8500-hitachi
-				os=hms
+				basic_os=hms
 				;;
 			harris)
 				basic_machine=m88k-harris
-				os=sysv3
+				basic_os=sysv3
 				;;
 			hp300 | hp300hpux)
 				basic_machine=m68k-hp
-				os=hpux
+				basic_os=hpux
 				;;
 			hp300bsd)
 				basic_machine=m68k-hp
-				os=bsd
+				basic_os=bsd
 				;;
 			hppaosf)
 				basic_machine=hppa1.1-hp
-				os=osf
+				basic_os=osf
 				;;
 			hppro)
 				basic_machine=hppa1.1-hp
-				os=proelf
+				basic_os=proelf
 				;;
 			i386mach)
 				basic_machine=i386-mach
-				os=mach
+				basic_os=mach
 				;;
 			isi68 | isi)
 				basic_machine=m68k-isi
-				os=sysv
+				basic_os=sysv
 				;;
 			m68knommu)
 				basic_machine=m68k-unknown
-				os=linux
+				basic_os=linux
 				;;
 			magnum | m3230)
 				basic_machine=mips-mips
-				os=sysv
+				basic_os=sysv
 				;;
 			merlin)
 				basic_machine=ns32k-utek
-				os=sysv
+				basic_os=sysv
 				;;
 			mingw64)
 				basic_machine=x86_64-pc
-				os=mingw64
+				basic_os=mingw64
 				;;
 			mingw32)
 				basic_machine=i686-pc
-				os=mingw32
+				basic_os=mingw32
 				;;
 			mingw32ce)
 				basic_machine=arm-unknown
-				os=mingw32ce
+				basic_os=mingw32ce
 				;;
 			monitor)
 				basic_machine=m68k-rom68k
-				os=coff
+				basic_os=coff
 				;;
 			morphos)
 				basic_machine=powerpc-unknown
-				os=morphos
+				basic_os=morphos
 				;;
 			moxiebox)
 				basic_machine=moxie-unknown
-				os=moxiebox
+				basic_os=moxiebox
 				;;
 			msdos)
 				basic_machine=i386-pc
-				os=msdos
+				basic_os=msdos
 				;;
 			msys)
 				basic_machine=i686-pc
-				os=msys
+				basic_os=msys
 				;;
 			mvs)
 				basic_machine=i370-ibm
-				os=mvs
+				basic_os=mvs
 				;;
 			nacl)
 				basic_machine=le32-unknown
-				os=nacl
+				basic_os=nacl
 				;;
 			ncr3000)
 				basic_machine=i486-ncr
-				os=sysv4
+				basic_os=sysv4
 				;;
 			netbsd386)
 				basic_machine=i386-pc
-				os=netbsd
+				basic_os=netbsd
 				;;
 			netwinder)
 				basic_machine=armv4l-rebel
-				os=linux
+				basic_os=linux
 				;;
 			news | news700 | news800 | news900)
 				basic_machine=m68k-sony
-				os=newsos
+				basic_os=newsos
 				;;
 			news1000)
 				basic_machine=m68030-sony
-				os=newsos
+				basic_os=newsos
 				;;
 			necv70)
 				basic_machine=v70-nec
-				os=sysv
+				basic_os=sysv
 				;;
 			nh3000)
 				basic_machine=m68k-harris
-				os=cxux
+				basic_os=cxux
 				;;
 			nh[45]000)
 				basic_machine=m88k-harris
-				os=cxux
+				basic_os=cxux
 				;;
 			nindy960)
 				basic_machine=i960-intel
-				os=nindy
+				basic_os=nindy
 				;;
 			mon960)
 				basic_machine=i960-intel
-				os=mon960
+				basic_os=mon960
 				;;
 			nonstopux)
 				basic_machine=mips-compaq
-				os=nonstopux
+				basic_os=nonstopux
 				;;
 			os400)
 				basic_machine=powerpc-ibm
-				os=os400
+				basic_os=os400
 				;;
 			OSE68000 | ose68000)
 				basic_machine=m68000-ericsson
-				os=ose
+				basic_os=ose
 				;;
 			os68k)
 				basic_machine=m68k-none
-				os=os68k
+				basic_os=os68k
 				;;
 			paragon)
 				basic_machine=i860-intel
-				os=osf
+				basic_os=osf
 				;;
 			parisc)
 				basic_machine=hppa-unknown
-				os=linux
+				basic_os=linux
+				;;
+			psp)
+				basic_machine=mipsallegrexel-sony
+				basic_os=psp
 				;;
 			pw32)
 				basic_machine=i586-unknown
-				os=pw32
+				basic_os=pw32
 				;;
 			rdos | rdos64)
 				basic_machine=x86_64-pc
-				os=rdos
+				basic_os=rdos
 				;;
 			rdos32)
 				basic_machine=i386-pc
-				os=rdos
+				basic_os=rdos
 				;;
 			rom68k)
 				basic_machine=m68k-rom68k
-				os=coff
+				basic_os=coff
 				;;
 			sa29200)
 				basic_machine=a29k-amd
-				os=udi
+				basic_os=udi
 				;;
 			sei)
 				basic_machine=mips-sei
-				os=seiux
+				basic_os=seiux
 				;;
 			sequent)
 				basic_machine=i386-sequent
-				os=
+				basic_os=
 				;;
 			sps7)
 				basic_machine=m68k-bull
-				os=sysv2
+				basic_os=sysv2
 				;;
 			st2000)
 				basic_machine=m68k-tandem
-				os=
+				basic_os=
 				;;
 			stratus)
 				basic_machine=i860-stratus
-				os=sysv4
+				basic_os=sysv4
 				;;
 			sun2)
 				basic_machine=m68000-sun
-				os=
+				basic_os=
 				;;
 			sun2os3)
 				basic_machine=m68000-sun
-				os=sunos3
+				basic_os=sunos3
 				;;
 			sun2os4)
 				basic_machine=m68000-sun
-				os=sunos4
+				basic_os=sunos4
 				;;
 			sun3)
 				basic_machine=m68k-sun
-				os=
+				basic_os=
 				;;
 			sun3os3)
 				basic_machine=m68k-sun
-				os=sunos3
+				basic_os=sunos3
 				;;
 			sun3os4)
 				basic_machine=m68k-sun
-				os=sunos4
+				basic_os=sunos4
 				;;
 			sun4)
 				basic_machine=sparc-sun
-				os=
+				basic_os=
 				;;
 			sun4os3)
 				basic_machine=sparc-sun
-				os=sunos3
+				basic_os=sunos3
 				;;
 			sun4os4)
 				basic_machine=sparc-sun
-				os=sunos4
+				basic_os=sunos4
 				;;
 			sun4sol2)
 				basic_machine=sparc-sun
-				os=solaris2
+				basic_os=solaris2
 				;;
 			sun386 | sun386i | roadrunner)
 				basic_machine=i386-sun
-				os=
+				basic_os=
 				;;
 			sv1)
 				basic_machine=sv1-cray
-				os=unicos
+				basic_os=unicos
 				;;
 			symmetry)
 				basic_machine=i386-sequent
-				os=dynix
+				basic_os=dynix
 				;;
 			t3e)
 				basic_machine=alphaev5-cray
-				os=unicos
+				basic_os=unicos
 				;;
 			t90)
 				basic_machine=t90-cray
-				os=unicos
+				basic_os=unicos
 				;;
 			toad1)
 				basic_machine=pdp10-xkl
-				os=tops20
+				basic_os=tops20
 				;;
 			tpf)
 				basic_machine=s390x-ibm
-				os=tpf
+				basic_os=tpf
 				;;
 			udi29k)
 				basic_machine=a29k-amd
-				os=udi
+				basic_os=udi
 				;;
 			ultra3)
 				basic_machine=a29k-nyu
-				os=sym1
+				basic_os=sym1
 				;;
 			v810 | necv810)
 				basic_machine=v810-nec
-				os=none
+				basic_os=none
 				;;
 			vaxv)
 				basic_machine=vax-dec
-				os=sysv
+				basic_os=sysv
 				;;
 			vms)
 				basic_machine=vax-dec
-				os=vms
+				basic_os=vms
 				;;
 			vsta)
 				basic_machine=i386-pc
-				os=vsta
+				basic_os=vsta
 				;;
 			vxworks960)
 				basic_machine=i960-wrs
-				os=vxworks
+				basic_os=vxworks
 				;;
 			vxworks68)
 				basic_machine=m68k-wrs
-				os=vxworks
+				basic_os=vxworks
 				;;
 			vxworks29k)
 				basic_machine=a29k-wrs
-				os=vxworks
+				basic_os=vxworks
 				;;
 			xbox)
 				basic_machine=i686-pc
-				os=mingw32
+				basic_os=mingw32
 				;;
 			ymp)
 				basic_machine=ymp-cray
-				os=unicos
+				basic_os=unicos
 				;;
 			*)
 				basic_machine=$1
-				os=
+				basic_os=
 				;;
 		esac
 		;;
@@ -683,17 +701,17 @@
 	bluegene*)
 		cpu=powerpc
 		vendor=ibm
-		os=cnk
+		basic_os=cnk
 		;;
 	decsystem10* | dec10*)
 		cpu=pdp10
 		vendor=dec
-		os=tops10
+		basic_os=tops10
 		;;
 	decsystem20* | dec20*)
 		cpu=pdp10
 		vendor=dec
-		os=tops20
+		basic_os=tops20
 		;;
 	delta | 3300 | motorola-3300 | motorola-delta \
 	      | 3300-motorola | delta-motorola)
@@ -703,7 +721,7 @@
 	dpx2*)
 		cpu=m68k
 		vendor=bull
-		os=sysv3
+		basic_os=sysv3
 		;;
 	encore | umax | mmax)
 		cpu=ns32k
@@ -712,7 +730,7 @@
 	elxsi)
 		cpu=elxsi
 		vendor=elxsi
-		os=${os:-bsd}
+		basic_os=${basic_os:-bsd}
 		;;
 	fx2800)
 		cpu=i860
@@ -725,7 +743,7 @@
 	h3050r* | hiux*)
 		cpu=hppa1.1
 		vendor=hitachi
-		os=hiuxwe2
+		basic_os=hiuxwe2
 		;;
 	hp3k9[0-9][0-9] | hp9[0-9][0-9])
 		cpu=hppa1.0
@@ -768,36 +786,36 @@
 	i*86v32)
 		cpu=`echo "$1" | sed -e 's/86.*/86/'`
 		vendor=pc
-		os=sysv32
+		basic_os=sysv32
 		;;
 	i*86v4*)
 		cpu=`echo "$1" | sed -e 's/86.*/86/'`
 		vendor=pc
-		os=sysv4
+		basic_os=sysv4
 		;;
 	i*86v)
 		cpu=`echo "$1" | sed -e 's/86.*/86/'`
 		vendor=pc
-		os=sysv
+		basic_os=sysv
 		;;
 	i*86sol2)
 		cpu=`echo "$1" | sed -e 's/86.*/86/'`
 		vendor=pc
-		os=solaris2
+		basic_os=solaris2
 		;;
 	j90 | j90-cray)
 		cpu=j90
 		vendor=cray
-		os=${os:-unicos}
+		basic_os=${basic_os:-unicos}
 		;;
 	iris | iris4d)
 		cpu=mips
 		vendor=sgi
-		case $os in
+		case $basic_os in
 		    irix*)
 			;;
 		    *)
-			os=irix4
+			basic_os=irix4
 			;;
 		esac
 		;;
@@ -808,26 +826,26 @@
 	*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
 		cpu=m68k
 		vendor=atari
-		os=mint
+		basic_os=mint
 		;;
 	news-3600 | risc-news)
 		cpu=mips
 		vendor=sony
-		os=newsos
+		basic_os=newsos
 		;;
 	next | m*-next)
 		cpu=m68k
 		vendor=next
-		case $os in
+		case $basic_os in
 		    openstep*)
 		        ;;
 		    nextstep*)
 			;;
 		    ns2*)
-		      os=nextstep2
+		      basic_os=nextstep2
 			;;
 		    *)
-		      os=nextstep3
+		      basic_os=nextstep3
 			;;
 		esac
 		;;
@@ -838,12 +856,12 @@
 	op50n-* | op60c-*)
 		cpu=hppa1.1
 		vendor=oki
-		os=proelf
+		basic_os=proelf
 		;;
 	pa-hitachi)
 		cpu=hppa1.1
 		vendor=hitachi
-		os=hiuxwe2
+		basic_os=hiuxwe2
 		;;
 	pbd)
 		cpu=sparc
@@ -880,12 +898,12 @@
 	sde)
 		cpu=mipsisa32
 		vendor=sde
-		os=${os:-elf}
+		basic_os=${basic_os:-elf}
 		;;
 	simso-wrs)
 		cpu=sparclite
 		vendor=wrs
-		os=vxworks
+		basic_os=vxworks
 		;;
 	tower | tower-32)
 		cpu=m68k
@@ -902,7 +920,7 @@
 	w89k-*)
 		cpu=hppa1.1
 		vendor=winbond
-		os=proelf
+		basic_os=proelf
 		;;
 	none)
 		cpu=none
@@ -919,9 +937,11 @@
 
 	*-*)
 		# shellcheck disable=SC2162
+		saved_IFS=$IFS
 		IFS="-" read cpu vendor <<EOF
 $basic_machine
 EOF
+		IFS=$saved_IFS
 		;;
 	# We use `pc' rather than `unknown'
 	# because (1) that's what they normally are, and
@@ -955,11 +975,11 @@
 	# some cases the only manufacturer, in others, it is the most popular.
 	craynv-unknown)
 		vendor=cray
-		os=${os:-unicosmp}
+		basic_os=${basic_os:-unicosmp}
 		;;
 	c90-unknown | c90-cray)
 		vendor=cray
-		os=${os:-unicos}
+		basic_os=${Basic_os:-unicos}
 		;;
 	fx80-unknown)
 		vendor=alliant
@@ -1000,10 +1020,15 @@
 		;;
 
 	# Here we normalize CPU types with a missing or matching vendor
+	armh-unknown | armh-alt)
+		cpu=armv7l
+		vendor=alt
+		basic_os=${basic_os:-linux-gnueabihf}
+		;;
 	dpx20-unknown | dpx20-bull)
 		cpu=rs6000
 		vendor=bull
-		os=${os:-bosx}
+		basic_os=${basic_os:-bosx}
 		;;
 
 	# Here we normalize CPU types irrespective of the vendor
@@ -1012,7 +1037,7 @@
 		;;
 	blackfin-*)
 		cpu=bfin
-		os=linux
+		basic_os=linux
 		;;
 	c54x-*)
 		cpu=tic54x
@@ -1025,7 +1050,7 @@
 		;;
 	e500v[12]-*)
 		cpu=powerpc
-		os=$os"spe"
+		basic_os=${basic_os}"spe"
 		;;
 	mips3*-*)
 		cpu=mips64
@@ -1035,7 +1060,7 @@
 		;;
 	m68knommu-*)
 		cpu=m68k
-		os=linux
+		basic_os=linux
 		;;
 	m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
 		cpu=s12z
@@ -1045,12 +1070,12 @@
 		;;
 	parisc-*)
 		cpu=hppa
-		os=linux
+		basic_os=linux
 		;;
 	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
 		cpu=i586
 		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+	pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
 		cpu=i686
 		;;
 	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
@@ -1101,11 +1126,14 @@
 	xscale-* | xscalee[bl]-*)
 		cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
 		;;
+	arm64-* | aarch64le-*)
+		cpu=aarch64
+		;;
 
 	# Recognize the canonical CPU Types that limit and/or modify the
 	# company names they are paired with.
 	cr16-*)
-		os=${os:-elf}
+		basic_os=${basic_os:-elf}
 		;;
 	crisv32-* | etraxfs*-*)
 		cpu=crisv32
@@ -1116,7 +1144,7 @@
 		vendor=axis
 		;;
 	crx-*)
-		os=${os:-elf}
+		basic_os=${basic_os:-elf}
 		;;
 	neo-tandem)
 		cpu=neo
@@ -1138,16 +1166,12 @@
 		cpu=nsx
 		vendor=tandem
 		;;
-	s390-*)
-		cpu=s390
-		vendor=ibm
-		;;
-	s390x-*)
-		cpu=s390x
-		vendor=ibm
+	mipsallegrexel-sony)
+		cpu=mipsallegrexel
+		vendor=sony
 		;;
 	tile*-*)
-		os=${os:-linux-gnu}
+		basic_os=${basic_os:-linux-gnu}
 		;;
 
 	*)
@@ -1163,8 +1187,8 @@
 			| alphapca5[67] | alpha64pca5[67] \
 			| am33_2.0 \
 			| amdgcn \
-			| arc | arceb \
-			| arm  | arm[lb]e | arme[lb] | armv* \
+			| arc | arceb | arc32 | arc64 \
+			| arm | arm[lb]e | arme[lb] | armv* \
 			| avr | avr32 \
 			| asmjs \
 			| ba \
@@ -1183,6 +1207,7 @@
 			| k1om \
 			| le32 | le64 \
 			| lm32 \
+			| loongarch32 | loongarch64 \
 			| m32c | m32r | m32rle \
 			| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
 			| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
@@ -1201,9 +1226,13 @@
 			| mips64vr5900 | mips64vr5900el \
 			| mipsisa32 | mipsisa32el \
 			| mipsisa32r2 | mipsisa32r2el \
+			| mipsisa32r3 | mipsisa32r3el \
+			| mipsisa32r5 | mipsisa32r5el \
 			| mipsisa32r6 | mipsisa32r6el \
 			| mipsisa64 | mipsisa64el \
 			| mipsisa64r2 | mipsisa64r2el \
+			| mipsisa64r3 | mipsisa64r3el \
+			| mipsisa64r5 | mipsisa64r5el \
 			| mipsisa64r6 | mipsisa64r6el \
 			| mipsisa64sb1 | mipsisa64sb1el \
 			| mipsisa64sr71k | mipsisa64sr71kel \
@@ -1227,8 +1256,9 @@
 			| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
 			| pru \
 			| pyramid \
-			| riscv | riscv32 | riscv64 \
+			| riscv | riscv32 | riscv32be | riscv64 | riscv64be \
 			| rl78 | romp | rs6000 | rx \
+			| s390 | s390x \
 			| score \
 			| sh | shl \
 			| sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
@@ -1238,6 +1268,7 @@
 			| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
 			| spu \
 			| tahoe \
+			| thumbv7* \
 			| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
 			| tron \
 			| ubicom32 \
@@ -1275,8 +1306,53 @@
 
 # Decode manufacturer-specific aliases for certain operating systems.
 
-if [ x$os != x ]
+if test x$basic_os != x
 then
+
+# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
+# set os.
+case $basic_os in
+	gnu/linux*)
+		kernel=linux
+		os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
+		;;
+	os2-emx)
+		kernel=os2
+		os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
+		;;
+	nto-qnx*)
+		kernel=nto
+		os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
+		;;
+	*-*)
+		# shellcheck disable=SC2162
+		saved_IFS=$IFS
+		IFS="-" read kernel os <<EOF
+$basic_os
+EOF
+		IFS=$saved_IFS
+		;;
+	# Default OS when just kernel was specified
+	nto*)
+		kernel=nto
+		os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
+		;;
+	linux*)
+		kernel=linux
+		os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
+		;;
+	managarm*)
+		kernel=managarm
+		os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
+		;;
+	*)
+		kernel=
+		os=$basic_os
+		;;
+esac
+
+# Now, normalize the OS (knowing we just have one component, it's not a kernel,
+# etc.)
 case $os in
 	# First match some system type aliases that might get confused
 	# with valid system types.
@@ -1288,7 +1364,7 @@
 		os=cnk
 		;;
 	solaris1 | solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
 		;;
 	solaris)
 		os=solaris2
@@ -1296,9 +1372,6 @@
 	unixware*)
 		os=sysv4.2uw
 		;;
-	gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
 	# es1800 is here to avoid being matched by es* (a different OS)
 	es1800*)
 		os=ose
@@ -1320,12 +1393,9 @@
 		os=sco3.2v4
 		;;
 	sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
 		;;
-	sco3.2v[4-9]* | sco5v6*)
-		# Don't forget version if it is 3.2v4 or newer.
-		;;
-	scout)
+	sco*v* | scout)
 		# Don't match below
 		;;
 	sco*)
@@ -1334,78 +1404,25 @@
 	psos*)
 		os=psos
 		;;
-	# Now accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST end in a * to match a version number.
-	# sysv* is not here because it comes later, after sysvr4.
-	gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
-	     | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
-	     | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
-	     | sym* | kopensolaris* | plan9* \
-	     | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
-	     | aos* | aros* | cloudabi* | sortix* | twizzler* \
-	     | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
-	     | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
-	     | knetbsd* | mirbsd* | netbsd* \
-	     | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
-	     | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
-	     | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
-	     | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
-	     | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
-	     | chorusrdb* | cegcc* | glidix* \
-	     | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
-	     | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
-	     | linux-newlib* | linux-musl* | linux-uclibc* \
-	     | uxpv* | beos* | mpeix* | udk* | moxiebox* \
-	     | interix* | uwin* | mks* | rhapsody* | darwin* \
-	     | openstep* | oskit* | conix* | pw32* | nonstopux* \
-	     | storm-chaos* | tops10* | tenex* | tops20* | its* \
-	     | os2* | vos* | palmos* | uclinux* | nucleus* \
-	     | morphos* | superux* | rtmk* | windiss* \
-	     | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
-	     | skyos* | haiku* | rdos* | toppers* | drops* | es* \
-	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
-	     | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
-	     | nsk* | powerunix)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
 	qnx*)
-		case $cpu in
-		    x86 | i*86)
-			;;
-		    *)
-			os=nto-$os
-			;;
-		esac
+		os=qnx
 		;;
 	hiux*)
 		os=hiuxwe2
 		;;
-	nto-qnx*)
-		;;
-	nto*)
-		os=`echo $os | sed -e 's|nto|nto-qnx|'`
-		;;
-	sim | xray | os68k* | v88r* \
-	    | windows* | osx | abug | netware* | os9* \
-	    | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
-		;;
-	linux-dietlibc)
-		os=linux-dietlibc
-		;;
-	linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
 	lynx*178)
 		os=lynxos178
 		;;
 	lynx*5)
 		os=lynxos5
 		;;
+	lynxos*)
+		# don't get caught up in next wildcard
+		;;
 	lynx*)
 		os=lynxos
 		;;
-	mac*)
+	mac[0-9]*)
 		os=`echo "$os" | sed -e 's|mac|macos|'`
 		;;
 	opened*)
@@ -1452,7 +1469,7 @@
 		;;
 	# Preserve the version number of sinix5.
 	sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
+		os=`echo "$os" | sed -e 's|sinix|sysv|'`
 		;;
 	sinix*)
 		os=sysv4
@@ -1475,18 +1492,12 @@
 	sysvr4)
 		os=sysv4
 		;;
-	# This must come after sysvr4.
-	sysv*)
-		;;
 	ose*)
 		os=ose
 		;;
 	*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
 		os=mint
 		;;
-	zvmoe)
-		os=zvmoe
-		;;
 	dicos*)
 		os=dicos
 		;;
@@ -1503,19 +1514,11 @@
 			;;
 		esac
 		;;
-	nacl*)
-		;;
-	ios)
-		;;
-	none)
-		;;
-	*-eabi)
-		;;
 	*)
-		echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
-		exit 1
+		# No normalization, but not necessarily accepted, that comes below.
 		;;
 esac
+
 else
 
 # Here we handle the default operating systems that come with various machines.
@@ -1528,6 +1531,7 @@
 # will signal an error saying that MANUFACTURER isn't an operating
 # system, and we'll never get to this point.
 
+kernel=
 case $cpu-$vendor in
 	score-*)
 		os=elf
@@ -1539,7 +1543,8 @@
 		os=riscix1.2
 		;;
 	arm*-rebel)
-		os=linux
+		kernel=linux
+		os=gnu
 		;;
 	arm*-semi)
 		os=aout
@@ -1705,84 +1710,193 @@
 		os=none
 		;;
 esac
+
 fi
 
+# Now, validate our (potentially fixed-up) OS.
+case $os in
+	# Sometimes we do "kernel-libc", so those need to count as OSes.
+	musl* | newlib* | relibc* | uclibc*)
+		;;
+	# Likewise for "kernel-abi"
+	eabi* | gnueabi*)
+		;;
+	# VxWorks passes extra cpu info in the 4th filed.
+	simlinux | simwindows | spe)
+		;;
+	# Now accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST end in a * to match a version number.
+	gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+	     | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
+	     | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+	     | sym* |  plan9* | psp* | sim* | xray* | os68k* | v88r* \
+	     | hiux* | abug | nacl* | netware* | windows* \
+	     | os9* | macos* | osx* | ios* \
+	     | mpw* | magic* | mmixware* | mon960* | lnews* \
+	     | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+	     | aos* | aros* | cloudabi* | sortix* | twizzler* \
+	     | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+	     | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
+	     | mirbsd* | netbsd* | dicos* | openedition* | ose* \
+	     | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
+	     | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
+	     | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
+	     | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+	     | udi* | lites* | ieee* | go32* | aux* | hcos* \
+	     | chorusrdb* | cegcc* | glidix* | serenity* \
+	     | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+	     | midipix* | mingw32* | mingw64* | mint* \
+	     | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+	     | interix* | uwin* | mks* | rhapsody* | darwin* \
+	     | openstep* | oskit* | conix* | pw32* | nonstopux* \
+	     | storm-chaos* | tops10* | tenex* | tops20* | its* \
+	     | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
+	     | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
+	     | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+	     | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+	     | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+	     | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
+	     | fiwix* | mlibc* )
+		;;
+	# This one is extra strict with allowed versions
+	sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		;;
+	none)
+		;;
+	kernel* )
+		# Restricted further below
+		;;
+	*)
+		echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# As a final step for OS-related things, validate the OS-kernel combination
+# (given a valid OS), if there is a kernel.
+case $kernel-$os in
+	linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
+		   | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* )
+		;;
+	uclinux-uclibc* )
+		;;
+	managarm-mlibc* | managarm-kernel* )
+		;;
+	-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
+		# These are just libc implementations, not actual OSes, and thus
+		# require a kernel.
+		echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
+		exit 1
+		;;
+	-kernel* )
+		echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2
+		exit 1
+		;;
+	*-kernel* )
+		echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2
+		exit 1
+		;;
+	kfreebsd*-gnu* | kopensolaris*-gnu*)
+		;;
+	vxworks-simlinux | vxworks-simwindows | vxworks-spe)
+		;;
+	nto-qnx*)
+		;;
+	os2-emx)
+		;;
+	*-eabi* | *-gnueabi*)
+		;;
+	-*)
+		# Blank kernel with real OS is always fine.
+		;;
+	*-*)
+		echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
+		exit 1
+		;;
+esac
+
 # Here we handle the case where we know the os, and the CPU type, but not the
 # manufacturer.  We pick the logical manufacturer.
 case $vendor in
 	unknown)
-		case $os in
-			riscix*)
+		case $cpu-$os in
+			*-riscix*)
 				vendor=acorn
 				;;
-			sunos*)
+			*-sunos*)
 				vendor=sun
 				;;
-			cnk*|-aix*)
+			*-cnk* | *-aix*)
 				vendor=ibm
 				;;
-			beos*)
+			*-beos*)
 				vendor=be
 				;;
-			hpux*)
+			*-hpux*)
 				vendor=hp
 				;;
-			mpeix*)
+			*-mpeix*)
 				vendor=hp
 				;;
-			hiux*)
+			*-hiux*)
 				vendor=hitachi
 				;;
-			unos*)
+			*-unos*)
 				vendor=crds
 				;;
-			dgux*)
+			*-dgux*)
 				vendor=dg
 				;;
-			luna*)
+			*-luna*)
 				vendor=omron
 				;;
-			genix*)
+			*-genix*)
 				vendor=ns
 				;;
-			clix*)
+			*-clix*)
 				vendor=intergraph
 				;;
-			mvs* | opened*)
+			*-mvs* | *-opened*)
 				vendor=ibm
 				;;
-			os400*)
+			*-os400*)
 				vendor=ibm
 				;;
-			ptx*)
+			s390-* | s390x-*)
+				vendor=ibm
+				;;
+			*-ptx*)
 				vendor=sequent
 				;;
-			tpf*)
+			*-tpf*)
 				vendor=ibm
 				;;
-			vxsim* | vxworks* | windiss*)
+			*-vxsim* | *-vxworks* | *-windiss*)
 				vendor=wrs
 				;;
-			aux*)
+			*-aux*)
 				vendor=apple
 				;;
-			hms*)
+			*-hms*)
 				vendor=hitachi
 				;;
-			mpw* | macos*)
+			*-mpw* | *-macos*)
 				vendor=apple
 				;;
-			*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+			*-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
 				vendor=atari
 				;;
-			vos*)
+			*-vos*)
 				vendor=stratus
 				;;
 		esac
 		;;
 esac
 
-echo "$cpu-$vendor-$os"
+echo "$cpu-$vendor-${kernel:+$kernel-}$os"
 exit
 
 # Local variables:
diff --git a/config/install-sh b/config/install-sh
index 89fc9b0..ec298b5 100755
--- a/config/install-sh
+++ b/config/install-sh
@@ -1,238 +1,541 @@
-#! /bin/sh
-#
+#!/bin/sh
 # install - install a program, script, or datafile
-# This comes from X11R5.
+
+scriptversion=2020-11-14.01; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
 # from scratch.
-#
 
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-tranformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd="$cpprog"
-	    shift
-	    continue;;
-
-	-d) dir_arg=true
-	    shift
-	    continue;;
-
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-s) stripcmd="$stripprog"
-	    shift
-	    continue;;
-
-	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-	    shift
-	    continue;;
-
-	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-	    shift
-	    continue;;
-
-	*)  if [ x"$src" = x ]
-	    then
-		src=$1
-	    else
-		# this colon is to work around a 386BSD /bin/sh bug
-		:
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-	echo "install:	no input file specified"
-	exit 1
-else
-	true
-fi
-
-if [ x"$dir_arg" != x ]; then
-	dst=$src
-	src=""
-	
-	if [ -d $dst ]; then
-		instcmd=:
-	else
-		instcmd=mkdir
-	fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-	if [ -f $src -o -d $src ]
-	then
-		true
-	else
-		echo "install:  $src does not exist"
-		exit 1
-	fi
-	
-	if [ x"$dst" = x ]
-	then
-		echo "install:	no destination specified"
-		exit 1
-	else
-		true
-	fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-	if [ -d $dst ]
-	then
-		dst="$dst"/`basename $src`
-	else
-		true
-	fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='	
+tab='	'
+nl='
 '
-IFS="${IFS-${defaultIFS}}"
+IFS=" $tab$nl"
 
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
+# Set DOITPROG to "echo" to test this script.
 
-pathcomp=''
+doit=${DOITPROG-}
+doit_exec=${doit:-exec}
 
-while [ $# -ne 0 ] ; do
-	pathcomp="${pathcomp}${1}"
-	shift
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
 
-	if [ ! -d "${pathcomp}" ] ;
-        then
-		$mkdirprog "${pathcomp}"
-	else
-		true
-	fi
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
 
-	pathcomp="${pathcomp}/"
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+# Create dirs (including intermediate dirs) using mode 755.
+# This is like GNU 'install' as of coreutils 8.32 (2020).
+mkdir_umask=22
+
+backupsuffix=
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+is_target_a_directory=possibly
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -p            pass -p to $cpprog.
+  -s            $stripprog installed files.
+  -S SUFFIX     attempt to back up existing files, with suffix SUFFIX.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+
+By default, rm is invoked with -f; when overridden with RMPROG,
+it's up to you to specify -f if you want it.
+
+If -S is not specified, no backups are attempted.
+
+Email bug reports to bug-automake@gnu.org.
+Automake home page: https://www.gnu.org/software/automake/
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
+
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
+
+    -o) chowncmd="$chownprog $2"
+        shift;;
+
+    -p) cpprog="$cpprog -p";;
+
+    -s) stripcmd=$stripprog;;
+
+    -S) backupsuffix="$2"
+        shift;;
+
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
+
+    -T) is_target_a_directory=never;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --) shift
+        break;;
+
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
+
+    *)  break;;
+  esac
+  shift
 done
+
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
 fi
 
-if [ x"$dir_arg" != x ]
-then
-	$doit $instcmd $dst &&
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+    # Protect names problematic for 'test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
+  done
+fi
 
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call 'install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
 
-# If we're going to rename the final executable, determine the name now.
+if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
 
-	if [ x"$transformarg" = x ] 
+if test -z "$dir_arg"; then
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+        u_plus_rw=
+      else
+        u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+        u_plus_rw=
+      else
+        u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names problematic for 'test' and other utilities.
+  case $src in
+    -* | [=\(\)!]) src=./$src;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+    # Don't chown directories that already exist.
+    if test $dstdir_status = 0; then
+      chowncmd=""
+    fi
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+    dst=$dst_arg
+
+    # If destination is a directory, append the input filename.
+    if test -d "$dst"; then
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
+      fi
+      dstdir=$dst
+      dstbase=`basename "$src"`
+      case $dst in
+	*/) dst=$dst$dstbase;;
+	*)  dst=$dst/$dstbase;;
+      esac
+      dstdir_status=0
+    else
+      dstdir=`dirname "$dst"`
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  case $dstdir in
+    */) dstdirslash=$dstdir;;
+    *)  dstdirslash=$dstdir/;;
+  esac
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
+
+        posix_mkdir=false
+	# The $RANDOM variable is not portable (e.g., dash).  Use it
+	# here however when possible just to lower collision chance.
+	tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+
+	trap '
+	  ret=$?
+	  rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
+	  exit $ret
+	' 0
+
+	# Because "mkdir -p" follows existing symlinks and we likely work
+	# directly in world-writeable /tmp, make sure that the '$tmpdir'
+	# directory is successfully created first before we actually test
+	# 'mkdir -p'.
+	if (umask $mkdir_umask &&
+	    $mkdirprog $mkdir_mode "$tmpdir" &&
+	    exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
 	then
-		dstfile=`basename $dst`
+	  if test -z "$dir_arg" || {
+	       # Check for POSIX incompatibilities with -m.
+	       # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+	       # other-writable bit of parent directory when it shouldn't.
+	       # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+	       test_tmpdir="$tmpdir/a"
+	       ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+	       case $ls_ld_tmpdir in
+		 d????-?r-*) different_mode=700;;
+		 d????-?--*) different_mode=755;;
+		 *) false;;
+	       esac &&
+	       $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+		 ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+		 test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+	       }
+	     }
+	  then posix_mkdir=:
+	  fi
+	  rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
 	else
-		dstfile=`basename $dst $transformbasename | 
-			sed $transformarg`$transformbasename
+	  # Remove any dirs left behind by ancient mkdir implementations.
+	  rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
 	fi
+	trap '' 0;;
+    esac
 
-# don't allow the sed command to completely eliminate the filename
+    if
+      $posix_mkdir && (
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
 
-	if [ x"$dstfile" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		true
-	fi
+      # mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
 
-# Make a temp file name in the proper directory.
+      case $dstdir in
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
+      esac
 
-	dsttmp=$dstdir/#inst.$$#
+      oIFS=$IFS
+      IFS=/
+      set -f
+      set fnord $dstdir
+      shift
+      set +f
+      IFS=$oIFS
 
-# Move or copy the file name to the temp name
+      prefixes=
 
-	$doit $instcmd $src $dsttmp &&
+      for d
+      do
+        test X"$d" = X && continue
 
-	trap "rm -f ${dsttmp}" 0 &&
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask $mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
+      done
 
-# and set any options; do chmod last to preserve setuid bits
+      if test -n "$prefixes"; then
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
+      fi
+    fi
+  fi
 
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
 
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=${dstdirslash}_inst.$$_
+    rmtmp=${dstdirslash}_rm.$$_
 
-# Now rename the file to the real destination.
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
 
-	$doit $rmcmd -f $dstdir/$dstfile &&
-	$doit $mvcmd $dsttmp $dstdir/$dstfile 
+    # Copy the file name to the temp name.
+    (umask $cp_umask &&
+     { test -z "$stripcmd" || {
+	 # Create $dsttmp read-write so that cp doesn't create it read-only,
+	 # which would cause strip to fail.
+	 if test -z "$doit"; then
+	   : >"$dsttmp" # No need to fork-exec 'touch'.
+	 else
+	   $doit touch "$dsttmp"
+	 fi
+       }
+     } &&
+     $doit_exec $cpprog "$src" "$dsttmp") &&
 
-fi &&
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
 
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       set +f &&
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # If $backupsuffix is set, and the file being installed
+      # already exists, attempt a backup.  Don't worry if it fails,
+      # e.g., if mv doesn't support -f.
+      if test -n "$backupsuffix" && test -f "$dst"; then
+        $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
+      fi
 
-exit 0
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
+
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/configure b/configure
index 2b37962..b0e8d1b 100755
--- a/configure
+++ b/configure
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69.
+# Generated by GNU Autoconf 2.71.
 #
 #
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+# Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -14,14 +15,16 @@
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
-else
+else $as_nop
   case `(set -o) 2>/dev/null` in #(
   *posix*) :
     set -o posix ;; #(
@@ -31,46 +34,46 @@
 fi
 
 
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
 as_nl='
 '
 export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" ""	$as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
 
 # The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -79,13 +82,6 @@
 fi
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
 # Find who we are.  Look in the path if we contain no directory separator.
 as_myself=
 case $0 in #((
@@ -94,8 +90,12 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -107,30 +107,10 @@
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 # Use a proper internal environment variable to ensure we don't fall
   # into an infinite loop, continuously re-executing ourselves.
@@ -152,20 +132,22 @@
 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
 # Admittedly, this is quite paranoid, since all the known shells bail
 # out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
   fi
   # We don't want this to propagate to other subprocesses.
           { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  as_bourne_compatible="as_nop=:
+if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '\${1+\"\$@\"}'='\"\$@\"'
   setopt NO_GLOB_SUBST
-else
+else \$as_nop
   case \`(set -o) 2>/dev/null\` in #(
   *posix*) :
     set -o posix ;; #(
@@ -185,42 +167,53 @@
 as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
 as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
 as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+if ( set x; as_fn_ret_success y && test x = \"\$1\" )
+then :
 
-else
+else \$as_nop
   exitcode=1; echo positional parameters were not saved.
 fi
 test x\$exitcode = x0 || exit 1
+blah=\$(echo \$(echo blah))
+test x\"\$blah\" = xblah || exit 1
 test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
   test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
 test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
+  if (eval "$as_required") 2>/dev/null
+then :
   as_have_required=yes
-else
+else $as_nop
   as_have_required=no
 fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
+then :
 
-else
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 as_found=false
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
   as_found=:
   case $as_dir in #(
 	 /*)
 	   for as_base in sh bash ksh sh5; do
 	     # Try only shells that exist, to save several forks.
-	     as_shell=$as_dir/$as_base
+	     as_shell=$as_dir$as_base
 	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+		    as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
   CONFIG_SHELL=$as_shell as_have_required=yes
-		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+		   if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
+then :
   break 2
 fi
 fi
@@ -228,14 +221,21 @@
        esac
   as_found=false
 done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
 IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+  if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi
+fi
 
 
-      if test "x$CONFIG_SHELL" != x; then :
+      if test "x$CONFIG_SHELL" != x
+then :
   export CONFIG_SHELL
              # We cannot yet assume a decent shell, so we have to provide a
 # neutralization value for shells without unset; and this also
@@ -253,18 +253,19 @@
 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
 # Admittedly, this is quite paranoid, since all the known shells bail
 # out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
 exit 255
 fi
 
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+    if test x$as_have_required = xno
+then :
+  printf "%s\n" "$0: This script requires a shell more modern than all"
+  printf "%s\n" "$0: the shells that I found on your system."
+  if test ${ZSH_VERSION+y} ; then
+    printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
   else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+    printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system,
 $0: including any error possibly output before this
 $0: message. Then install a modern shell, or manually run
 $0: the script under such a shell if you do have one."
@@ -291,6 +292,7 @@
 }
 as_unset=as_fn_unset
 
+
 # as_fn_set_status STATUS
 # -----------------------
 # Set $? to STATUS, without forking.
@@ -308,6 +310,14 @@
   as_fn_set_status $1
   exit $1
 } # as_fn_exit
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+  return $?
+}
+as_nop=as_fn_nop
 
 # as_fn_mkdir_p
 # -------------
@@ -322,7 +332,7 @@
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -331,7 +341,7 @@
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
 	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -370,12 +380,13 @@
 # advantage of any shell optimizations that allow amortized linear growth over
 # repeated appends, instead of the typical quadratic growth present in naive
 # implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
   eval 'as_fn_append ()
   {
     eval $1+=\$2
   }'
-else
+else $as_nop
   as_fn_append ()
   {
     eval $1=\$$1\$2
@@ -387,18 +398,27 @@
 # Perform arithmetic evaluation on the ARGs, and store the result in the
 # global $as_val. Take advantage of shells that can avoid forks. The arguments
 # must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
   eval 'as_fn_arith ()
   {
     as_val=$(( $* ))
   }'
-else
+else $as_nop
   as_fn_arith ()
   {
     as_val=`expr "$@" || test $? -eq 1`
   }
 fi # as_fn_arith
 
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+  return $?
+}
+as_nop=as_fn_nop
 
 # as_fn_error STATUS ERROR [LINENO LOG_FD]
 # ----------------------------------------
@@ -410,9 +430,9 @@
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -439,7 +459,7 @@
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
 	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
 	    s//\1/
 	    q
@@ -483,7 +503,7 @@
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+    { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
   # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
   # already done that, so ensure we don't try to do so again and fall
@@ -497,6 +517,10 @@
   exit
 }
 
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
 ECHO_C= ECHO_N= ECHO_T=
 case `echo -n x` in #(((((
 -n*)
@@ -510,6 +534,13 @@
   ECHO_N='-n';;
 esac
 
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n.  New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
+
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
@@ -575,53 +606,51 @@
 MAKEFLAGS=
 
 # Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-PACKAGE_URL=
+PACKAGE_NAME=''
+PACKAGE_TARNAME=''
+PACKAGE_VERSION=''
+PACKAGE_STRING=''
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
 
 ac_unique_file="version.h"
 # Factoring default headers for most tests.
 ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
+#include <stddef.h>
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
 #endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
+#ifdef HAVE_STDLIB_H
 # include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
 #endif
 #ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
 # include <string.h>
 #endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
 #ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
 #ifdef HAVE_STDINT_H
 # include <stdint.h>
 #endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
+ac_header_c_list=
 gt_needs=
+ac_func_c_list=
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
+OS_IO_FILE
 systemd_system_unit_dir
 have_systemd
 systemd_LIBS
@@ -649,6 +678,13 @@
 UNIX_CMT
 CYGWIN_CMT
 LINUX_CMT
+FUZZING_CMT
+fuzzer_ldflags
+fuzzer_cflags
+have_fuzzer
+ac_ct_CXX
+CXXFLAGS
+CXX
 threadsan_ldflags
 threadsan_cflags
 have_threadsan
@@ -725,8 +761,11 @@
 UUIDD_CMT
 PTHREAD_CFLAGS
 PTHREAD_LIBS
+PTHREAD_CXX
 PTHREAD_CC
 ax_pthread_config
+EGREP
+GREP
 SED
 E2INITRD_MAN
 E2INITRD_PROG
@@ -772,18 +811,9 @@
 SYMLINK_RELATIVE
 LINK_INSTALL_FLAGS
 MAINTAINER_CMT
-EGREP
-GREP
 CPP
 RDYNAMIC
 DLOPEN_LIB
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
 host_os
 host_vendor
 host_cpu
@@ -798,6 +828,13 @@
 E2FSPROGS_DAY
 E2FSPROGS_MONTH
 E2FSPROGS_YEAR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
 target_alias
 host_alias
 build_alias
@@ -893,10 +930,12 @@
 enable_ubsan
 enable_addrsan
 enable_threadsan
+enable_fuzzing
 with_multiarch
 with_udev_rules_dir
 with_crond_dir
 with_systemd_unit_dir
+enable_largefile
 '
       ac_precious_vars='build_alias
 host_alias
@@ -910,6 +949,9 @@
 PKG_CONFIG
 PKG_CONFIG_PATH
 PKG_CONFIG_LIBDIR
+CXX
+CXXFLAGS
+CCC
 udev_CFLAGS
 udev_LIBS
 systemd_CFLAGS
@@ -982,8 +1024,6 @@
   *)    ac_optarg=yes ;;
   esac
 
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
   case $ac_dashdash$ac_option in
   --)
     ac_dashdash=yes ;;
@@ -1024,9 +1064,9 @@
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1050,9 +1090,9 @@
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1263,9 +1303,9 @@
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1279,9 +1319,9 @@
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1325,9 +1365,9 @@
 
   *)
     # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+      printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
     : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
@@ -1343,7 +1383,7 @@
   case $enable_option_checking in
     no) ;;
     fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+    *)     printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
 
@@ -1407,7 +1447,7 @@
 	 X"$as_myself" : 'X\(//\)[^/]' \| \
 	 X"$as_myself" : 'X\(//\)$' \| \
 	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
+printf "%s\n" X"$as_myself" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -1581,6 +1621,8 @@
   --enable-ubsan          enable undefined behavior sanitizer
   --enable-addrsan        enable address sanitizer
   --enable-threadsan      enable thread sanitizer
+  --enable-fuzzing        enable fuzzing sanitizer
+  --disable-largefile     omit support for large files
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1619,6 +1661,8 @@
               directories to add to pkg-config's search path
   PKG_CONFIG_LIBDIR
               path overriding pkg-config's built-in search path
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
   udev_CFLAGS C compiler flags for udev, overriding pkg-config
   udev_LIBS   linker flags for udev, overriding pkg-config
   systemd_CFLAGS
@@ -1645,9 +1689,9 @@
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1675,7 +1719,8 @@
 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
     cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
+    # Check for configure.gnu first; this name is used for a wrapper for
+    # Metaconfig's "Configure" on case-insensitive file systems.
     if test -f "$ac_srcdir/configure.gnu"; then
       echo &&
       $SHELL "$ac_srcdir/configure.gnu" --help=recursive
@@ -1683,7 +1728,7 @@
       echo &&
       $SHELL "$ac_srcdir/configure" --help=recursive
     else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+      printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi || ac_status=$?
     cd "$ac_pwd" || { ac_status=$?; break; }
   done
@@ -1693,9 +1738,9 @@
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.69
+generated by GNU Autoconf 2.71
 
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1712,14 +1757,14 @@
 ac_fn_c_try_compile ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
+  rm -f conftest.$ac_objext conftest.beam
   if { { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -1727,14 +1772,15 @@
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
+       } && test -s conftest.$ac_objext
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
@@ -1744,20 +1790,53 @@
 
 } # ac_fn_c_try_compile
 
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  eval "$3=yes"
+else $as_nop
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
 # ac_fn_c_try_link LINENO
 # -----------------------
 # Try to link conftest.$ac_ext, and return whether this succeeded.
 ac_fn_c_try_link ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
+  rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
   if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -1765,17 +1844,18 @@
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
 	 test -x conftest$ac_exeext
-       }; then :
+       }
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
@@ -1802,7 +1882,7 @@
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -1810,14 +1890,15 @@
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       }; then :
+       }
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
@@ -1827,97 +1908,10 @@
 
 } # ac_fn_c_try_cpp
 
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
 # ac_fn_c_try_run LINENO
 # ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
+# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
+# executables *can* be run.
 ac_fn_c_try_run ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -1927,25 +1921,26 @@
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
   { { case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: program exited with status $ac_status" >&5
+       printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_retval=$ac_status
@@ -1956,48 +1951,18 @@
 
 } # ac_fn_c_try_run
 
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
 # ac_fn_c_check_func LINENO FUNC VAR
 # ----------------------------------
 # Tests whether FUNC exists, setting the cache variable VAR accordingly
 ac_fn_c_check_func ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
@@ -2005,16 +1970,9 @@
 #define $2 innocuous_$2
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
+   which can conflict with char $2 (); below.  */
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
+#include <limits.h>
 #undef $2
 
 /* Override any GCC internal prototype to avoid an error.
@@ -2032,24 +1990,25 @@
 #endif
 
 int
-main ()
+main (void)
 {
 return $2 ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
@@ -2061,16 +2020,17 @@
 ac_fn_c_check_member ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+printf %s "checking for $2.$3... " >&6; }
+if eval test \${$4+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $5
 int
-main ()
+main (void)
 {
 static $2 ac_aggr;
 if (ac_aggr.$3)
@@ -2079,14 +2039,15 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   eval "$4=yes"
-else
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $5
 int
-main ()
+main (void)
 {
 static $2 ac_aggr;
 if (sizeof ac_aggr.$3)
@@ -2095,18 +2056,19 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   eval "$4=yes"
-else
+else $as_nop
   eval "$4=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 eval ac_res=\$$4
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
@@ -2118,17 +2080,18 @@
 ac_fn_c_check_type ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   eval "$3=no"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 if (sizeof ($2))
 	 return 0;
@@ -2136,12 +2099,13 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 if (sizeof (($2)))
 	    return 0;
@@ -2149,41 +2113,45 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   eval "$3=yes"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
-# ---------------------------------------------
+# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR
+# ------------------------------------------------------------------
 # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly.
-ac_fn_c_check_decl ()
+# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
+ac_fn_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   as_decl_name=`echo $2|sed 's/ *(.*//'`
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+printf %s "checking whether $as_decl_name is declared... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  eval ac_save_FLAGS=\$$6
+  as_fn_append $6 " $5"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 #ifndef $as_decl_name
 #ifdef __cplusplus
@@ -2197,19 +2165,22 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+  eval $6=\$ac_save_FLAGS
+
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
-} # ac_fn_c_check_decl
+} # ac_fn_check_decl
 
 # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
 # --------------------------------------------
@@ -2225,7 +2196,7 @@
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
 test_array [0] = 0;
@@ -2235,14 +2206,15 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_lo=0 ac_mid=0
   while :; do
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
 test_array [0] = 0;
@@ -2252,9 +2224,10 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_hi=$ac_mid; break
-else
+else $as_nop
   as_fn_arith $ac_mid + 1 && ac_lo=$as_val
 			if test $ac_lo -le $ac_mid; then
 			  ac_lo= ac_hi=
@@ -2262,14 +2235,14 @@
 			fi
 			as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   done
-else
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) < 0)];
 test_array [0] = 0;
@@ -2279,14 +2252,15 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_hi=-1 ac_mid=-1
   while :; do
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
 test_array [0] = 0;
@@ -2296,9 +2270,10 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_lo=$ac_mid; break
-else
+else $as_nop
   as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
 			if test $ac_mid -le $ac_hi; then
 			  ac_lo= ac_hi=
@@ -2306,14 +2281,14 @@
 			fi
 			as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   done
-else
+else $as_nop
   ac_lo= ac_hi=
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
@@ -2321,7 +2296,7 @@
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
 test_array [0] = 0;
@@ -2331,12 +2306,13 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_hi=$ac_mid
-else
+else $as_nop
   as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 done
 case $ac_lo in #((
 ?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
@@ -2346,12 +2322,12 @@
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
+static long int longval (void) { return $2; }
+static unsigned long int ulongval (void) { return $2; }
 #include <stdio.h>
 #include <stdlib.h>
 int
-main ()
+main (void)
 {
 
   FILE *f = fopen ("conftest.val", "w");
@@ -2379,9 +2355,10 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
   echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
+else $as_nop
   ac_retval=1
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -2393,14 +2370,73 @@
   as_fn_set_status $ac_retval
 
 } # ac_fn_c_compute_int
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest.beam
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext
+then :
+  ac_retval=0
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+ac_configure_args_raw=
+for ac_arg
+do
+  case $ac_arg in
+  *\'*)
+    ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+  esac
+  as_fn_append ac_configure_args_raw " '$ac_arg'"
+done
+
+case $ac_configure_args_raw in
+  *$as_nl*)
+    ac_safe_unquote= ;;
+  *)
+    ac_unsafe_z='|&;<>()$`\\"*?[ ''	' # This string ends in space, tab.
+    ac_unsafe_a="$ac_unsafe_z#~"
+    ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
+    ac_configure_args_raw=`      printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
+esac
+
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
+generated by GNU Autoconf 2.71.  Invocation command line was
 
-  $ $0 $@
+  $ $0$ac_configure_args_raw
 
 _ACEOF
 exec 5>>config.log
@@ -2433,8 +2469,12 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    printf "%s\n" "PATH: $as_dir"
   done
 IFS=$as_save_IFS
 
@@ -2469,7 +2509,7 @@
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
     *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
     1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
@@ -2504,11 +2544,13 @@
 # WARNING: Use '\'' to represent an apostrophe within the trap.
 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
+  # Sanitize IFS.
+  IFS=" ""	$as_nl"
   # Save into config.log some information that might help in debugging.
   {
     echo
 
-    $as_echo "## ---------------- ##
+    printf "%s\n" "## ---------------- ##
 ## Cache variables. ##
 ## ---------------- ##"
     echo
@@ -2519,8 +2561,8 @@
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -2544,7 +2586,7 @@
 )
     echo
 
-    $as_echo "## ----------------- ##
+    printf "%s\n" "## ----------------- ##
 ## Output variables. ##
 ## ----------------- ##"
     echo
@@ -2552,14 +2594,14 @@
     do
       eval ac_val=\$$ac_var
       case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
       esac
-      $as_echo "$ac_var='\''$ac_val'\''"
+      printf "%s\n" "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
+      printf "%s\n" "## ------------------- ##
 ## File substitutions. ##
 ## ------------------- ##"
       echo
@@ -2567,15 +2609,15 @@
       do
 	eval ac_val=\$$ac_var
 	case $ac_val in
-	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
 	esac
-	$as_echo "$ac_var='\''$ac_val'\''"
+	printf "%s\n" "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
 
     if test -s confdefs.h; then
-      $as_echo "## ----------- ##
+      printf "%s\n" "## ----------- ##
 ## confdefs.h. ##
 ## ----------- ##"
       echo
@@ -2583,8 +2625,8 @@
       echo
     fi
     test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
+      printf "%s\n" "$as_me: caught signal $ac_signal"
+    printf "%s\n" "$as_me: exit $exit_status"
   } >&5
   rm -f core *.core core.conftest.* &&
     rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -2598,63 +2640,48 @@
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -f -r conftest* confdefs.h
 
-$as_echo "/* confdefs.h */" > confdefs.h
+printf "%s\n" "/* confdefs.h */" > confdefs.h
 
 # Predefined preprocessor variables.
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
+printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
+printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
+printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
+printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
 
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
+  ac_site_files="$CONFIG_SITE"
 elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
+  ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
 else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
+  ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+
+for ac_site_file in $ac_site_files
 do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+  case $ac_site_file in #(
+  */*) :
+     ;; #(
+  *) :
+    ac_site_file=./$ac_site_file ;;
+esac
+  if test -f "$ac_site_file" && test -r "$ac_site_file"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
     . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+      || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "failed to load site script $ac_site_file
 See \`config.log' for more details" "$LINENO" 5; }
   fi
@@ -2664,20 +2691,654 @@
   # Some versions of bash will fail to source /dev/null (special files
   # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
   if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
       *)                      . "./$cache_file";;
     esac
   fi
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
+as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
+# Test code for whether the C compiler supports C89 (global declarations)
+ac_c_conftest_c89_globals='
+/* Does the compiler advertise C89 conformance?
+   Do not test the value of __STDC__, because some compilers set it to 0
+   while being otherwise adequately conformant. */
+#if !defined __STDC__
+# error "Compiler does not advertise C89 conformance"
+#endif
+
+#include <stddef.h>
+#include <stdarg.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
+struct buf { int x; };
+struct buf * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not \xHH hex character constants.
+   These do not provoke an error unfortunately, instead are silently treated
+   as an "x".  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously \x00 != x always comes out true, for an
+   array size at least.  It is necessary to write \x00 == 0 to get something
+   that is true only with -std.  */
+int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) '\''x'\''
+int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
+               int, int);'
+
+# Test code for whether the C compiler supports C89 (body of main).
+ac_c_conftest_c89_main='
+ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
+'
+
+# Test code for whether the C compiler supports C99 (global declarations)
+ac_c_conftest_c99_globals='
+// Does the compiler advertise C99 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
+# error "Compiler does not advertise C99 conformance"
+#endif
+
+#include <stdbool.h>
+extern int puts (const char *);
+extern int printf (const char *, ...);
+extern int dprintf (int, const char *, ...);
+extern void *malloc (size_t);
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+// dprintf is used instead of fprintf to avoid needing to declare
+// FILE and stderr.
+#define debug(...) dprintf (2, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  #error "your preprocessor is broken"
+#endif
+#if BIG_OK
+#else
+  #error "your preprocessor is broken"
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
+
+  while (*format)
+    {
+      switch (*format++)
+	{
+	case '\''s'\'': // string
+	  str = va_arg (args_copy, const char *);
+	  break;
+	case '\''d'\'': // int
+	  number = va_arg (args_copy, int);
+	  break;
+	case '\''f'\'': // float
+	  fnumber = va_arg (args_copy, double);
+	  break;
+	default:
+	  break;
+	}
+    }
+  va_end (args_copy);
+  va_end (args);
+
+  return *str && number && fnumber;
+}
+'
+
+# Test code for whether the C compiler supports C99 (body of main).
+ac_c_conftest_c99_main='
+  // Check bool.
+  _Bool success = false;
+  success |= (argc != 0);
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[0] = argv[0][0];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
+	 || dynamic_array[ni.number - 1] != 543);
+'
+
+# Test code for whether the C compiler supports C11 (global declarations)
+ac_c_conftest_c11_globals='
+// Does the compiler advertise C11 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
+# error "Compiler does not advertise C11 conformance"
+#endif
+
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+  int_alignment = _Alignof (int),
+  int_array_alignment = _Alignof (int[100]),
+  char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+  int x;
+  _Static_assert (sizeof (int) <= sizeof (long int),
+                  "_Static_assert does not work in struct");
+  long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+  union {
+    struct { int i; int j; };
+    struct { int k; long int l; } w;
+  };
+  int m;
+} v1;
+'
+
+# Test code for whether the C compiler supports C11 (body of main).
+ac_c_conftest_c11_main='
+  _Static_assert ((offsetof (struct anonymous, i)
+		   == offsetof (struct anonymous, w.k)),
+		  "Anonymous union alignment botch");
+  v1.i = 2;
+  v1.w.k = 5;
+  ok |= v1.i != 5;
+'
+
+# Test code for whether the C compiler supports C11 (complete).
+ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+${ac_c_conftest_c11_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  ${ac_c_conftest_c99_main}
+  ${ac_c_conftest_c11_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C99 (complete).
+ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  ${ac_c_conftest_c99_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C89 (complete).
+ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  return ok;
+}
+"
+
+as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
+as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
+as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
+as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
+as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
+as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
+as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
+as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
+as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H"
+as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H"
 gt_needs="$gt_needs "
+as_fn_append ac_func_c_list " vprintf HAVE_VPRINTF"
+# Test code for whether the C++ compiler supports C++98 (global declarations)
+ac_cxx_conftest_cxx98_globals='
+// Does the compiler advertise C++98 conformance?
+#if !defined __cplusplus || __cplusplus < 199711L
+# error "Compiler does not advertise C++98 conformance"
+#endif
+
+// These inclusions are to reject old compilers that
+// lack the unsuffixed header files.
+#include <cstdlib>
+#include <exception>
+
+// <cassert> and <cstring> are *not* freestanding headers in C++98.
+extern void assert (int);
+namespace std {
+  extern int strcmp (const char *, const char *);
+}
+
+// Namespaces, exceptions, and templates were all added after "C++ 2.0".
+using std::exception;
+using std::strcmp;
+
+namespace {
+
+void test_exception_syntax()
+{
+  try {
+    throw "test";
+  } catch (const char *s) {
+    // Extra parentheses suppress a warning when building autoconf itself,
+    // due to lint rules shared with more typical C programs.
+    assert (!(strcmp) (s, "test"));
+  }
+}
+
+template <typename T> struct test_template
+{
+  T const val;
+  explicit test_template(T t) : val(t) {}
+  template <typename U> T add(U u) { return static_cast<T>(u) + val; }
+};
+
+} // anonymous namespace
+'
+
+# Test code for whether the C++ compiler supports C++98 (body of main)
+ac_cxx_conftest_cxx98_main='
+  assert (argc);
+  assert (! argv[0]);
+{
+  test_exception_syntax ();
+  test_template<double> tt (2.0);
+  assert (tt.add (4) == 6.0);
+  assert (true && !false);
+}
+'
+
+# Test code for whether the C++ compiler supports C++11 (global declarations)
+ac_cxx_conftest_cxx11_globals='
+// Does the compiler advertise C++ 2011 conformance?
+#if !defined __cplusplus || __cplusplus < 201103L
+# error "Compiler does not advertise C++11 conformance"
+#endif
+
+namespace cxx11test
+{
+  constexpr int get_val() { return 20; }
+
+  struct testinit
+  {
+    int i;
+    double d;
+  };
+
+  class delegate
+  {
+  public:
+    delegate(int n) : n(n) {}
+    delegate(): delegate(2354) {}
+
+    virtual int getval() { return this->n; };
+  protected:
+    int n;
+  };
+
+  class overridden : public delegate
+  {
+  public:
+    overridden(int n): delegate(n) {}
+    virtual int getval() override final { return this->n * 2; }
+  };
+
+  class nocopy
+  {
+  public:
+    nocopy(int i): i(i) {}
+    nocopy() = default;
+    nocopy(const nocopy&) = delete;
+    nocopy & operator=(const nocopy&) = delete;
+  private:
+    int i;
+  };
+
+  // for testing lambda expressions
+  template <typename Ret, typename Fn> Ret eval(Fn f, Ret v)
+  {
+    return f(v);
+  }
+
+  // for testing variadic templates and trailing return types
+  template <typename V> auto sum(V first) -> V
+  {
+    return first;
+  }
+  template <typename V, typename... Args> auto sum(V first, Args... rest) -> V
+  {
+    return first + sum(rest...);
+  }
+}
+'
+
+# Test code for whether the C++ compiler supports C++11 (body of main)
+ac_cxx_conftest_cxx11_main='
+{
+  // Test auto and decltype
+  auto a1 = 6538;
+  auto a2 = 48573953.4;
+  auto a3 = "String literal";
+
+  int total = 0;
+  for (auto i = a3; *i; ++i) { total += *i; }
+
+  decltype(a2) a4 = 34895.034;
+}
+{
+  // Test constexpr
+  short sa[cxx11test::get_val()] = { 0 };
+}
+{
+  // Test initializer lists
+  cxx11test::testinit il = { 4323, 435234.23544 };
+}
+{
+  // Test range-based for
+  int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3,
+                 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
+  for (auto &x : array) { x += 23; }
+}
+{
+  // Test lambda expressions
+  using cxx11test::eval;
+  assert (eval ([](int x) { return x*2; }, 21) == 42);
+  double d = 2.0;
+  assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0);
+  assert (d == 5.0);
+  assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0);
+  assert (d == 5.0);
+}
+{
+  // Test use of variadic templates
+  using cxx11test::sum;
+  auto a = sum(1);
+  auto b = sum(1, 2);
+  auto c = sum(1.0, 2.0, 3.0);
+}
+{
+  // Test constructor delegation
+  cxx11test::delegate d1;
+  cxx11test::delegate d2();
+  cxx11test::delegate d3(45);
+}
+{
+  // Test override and final
+  cxx11test::overridden o1(55464);
+}
+{
+  // Test nullptr
+  char *c = nullptr;
+}
+{
+  // Test template brackets
+  test_template<::test_template<int>> v(test_template<int>(12));
+}
+{
+  // Unicode literals
+  char const *utf8 = u8"UTF-8 string \u2500";
+  char16_t const *utf16 = u"UTF-8 string \u2500";
+  char32_t const *utf32 = U"UTF-32 string \u2500";
+}
+'
+
+# Test code for whether the C compiler supports C++11 (complete).
+ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals}
+${ac_cxx_conftest_cxx11_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_cxx_conftest_cxx98_main}
+  ${ac_cxx_conftest_cxx11_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C++98 (complete).
+ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals}
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_cxx_conftest_cxx98_main}
+  return ok;
+}
+"
+
+
+# Auxiliary files required by this configure script.
+ac_aux_files="config.rpath install-sh config.guess config.sub"
+
+# Locations in which to look for auxiliary files.
+ac_aux_dir_candidates="${srcdir}/config"
+
+# Search for a directory containing all of the required auxiliary files,
+# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
+# If we don't find one directory that contains all the files we need,
+# we report the set of missing files from the *first* directory in
+# $ac_aux_dir_candidates and give up.
+ac_missing_aux_files=""
+ac_first_candidate=:
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in $ac_aux_dir_candidates
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+  as_found=:
+
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}:  trying $as_dir" >&5
+  ac_aux_dir_found=yes
+  ac_install_sh=
+  for ac_aux in $ac_aux_files
+  do
+    # As a special case, if "install-sh" is required, that requirement
+    # can be satisfied by any of "install-sh", "install.sh", or "shtool",
+    # and $ac_install_sh is set appropriately for whichever one is found.
+    if test x"$ac_aux" = x"install-sh"
+    then
+      if test -f "${as_dir}install-sh"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install-sh found" >&5
+        ac_install_sh="${as_dir}install-sh -c"
+      elif test -f "${as_dir}install.sh"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install.sh found" >&5
+        ac_install_sh="${as_dir}install.sh -c"
+      elif test -f "${as_dir}shtool"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}shtool found" >&5
+        ac_install_sh="${as_dir}shtool install -c"
+      else
+        ac_aux_dir_found=no
+        if $ac_first_candidate; then
+          ac_missing_aux_files="${ac_missing_aux_files} install-sh"
+        else
+          break
+        fi
+      fi
+    else
+      if test -f "${as_dir}${ac_aux}"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}${ac_aux} found" >&5
+      else
+        ac_aux_dir_found=no
+        if $ac_first_candidate; then
+          ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
+        else
+          break
+        fi
+      fi
+    fi
+  done
+  if test "$ac_aux_dir_found" = yes; then
+    ac_aux_dir="$as_dir"
+    break
+  fi
+  ac_first_candidate=false
+
+  as_found=false
+done
+IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+  as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
+fi
+
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+if test -f "${ac_aux_dir}config.guess"; then
+  ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
+fi
+if test -f "${ac_aux_dir}config.sub"; then
+  ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
+fi
+if test -f "$ac_aux_dir/configure"; then
+  ac_configure="$SHELL ${ac_aux_dir}configure"
+fi
+
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
@@ -2688,12 +3349,12 @@
   eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
     *)
@@ -2702,24 +3363,24 @@
 	ac_old_val_w=`echo x $ac_old_val`
 	ac_new_val_w=`echo x $ac_new_val`
 	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
 	  ac_cache_corrupted=:
 	else
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
 	  eval $ac_var=\$ac_old_val
 	fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+printf "%s\n" "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+printf "%s\n" "$as_me:   current value: \`$ac_new_val'" >&2;}
       fi;;
   esac
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -2729,11 +3390,12 @@
   fi
 done
 if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
+	    and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2747,38 +3409,1177 @@
 
 
 
-ac_aux_dir=
-for ac_dir in config "$srcdir"/config; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
 ac_config_headers="$ac_config_headers lib/config.h"
 
 
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+
+
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion -version; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+printf %s "checking whether the C compiler works... " >&6; }
+ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else $as_nop
+  ac_file=''
+fi
+if test -z "$ac_file"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+printf %s "checking for C compiler default output file name... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+printf "%s\n" "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+printf %s "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+printf "%s\n" "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main (void)
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+printf %s "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+printf "%s\n" "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+printf %s "checking for suffix of object files... " >&6; }
+if test ${ac_cv_objext+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+printf "%s\n" "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_compiler_gnu=yes
+else $as_nop
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+y}
+ac_save_CFLAGS=$CFLAGS
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_g=yes
+else $as_nop
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c11=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c11_program
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c11" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+     CC="$CC $ac_cv_prog_cc_c11"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+  ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c99_program
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c99" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+     CC="$CC $ac_cv_prog_cc_c99"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+  ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c89_program
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c89" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+     CC="$CC $ac_cv_prog_cc_c89"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+  ac_prog_cc_stdc=c89
+fi
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_header= ac_cache=
+for ac_item in $ac_header_c_list
+do
+  if test $ac_cache; then
+    ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
+    if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
+      printf "%s\n" "#define $ac_item 1" >> confdefs.h
+    fi
+    ac_header= ac_cache=
+  elif test $ac_header; then
+    ac_cache=$ac_item
+  else
+    ac_header=$ac_item
+  fi
+done
+
+
+
+
+
+
+
+
+if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
+then :
+
+printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test ${ac_cv_safe_to_define___extensions__+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_safe_to_define___extensions__=yes
+else $as_nop
+  ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
+printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }
+if test ${ac_cv_should_define__xopen_source+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_should_define__xopen_source=no
+    if test $ac_cv_header_wchar_h = yes
+then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+          #include <wchar.h>
+          mbstate_t x;
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+            #define _XOPEN_SOURCE 500
+            #include <wchar.h>
+            mbstate_t x;
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_should_define__xopen_source=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
+printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
+
+  printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
+
+  printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
+
+  printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
+
+  printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+  if test $ac_cv_header_minix_config_h = yes
+then :
+  MINIX=yes
+    printf "%s\n" "#define _MINIX 1" >>confdefs.h
+
+    printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h
+
+    printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+else $as_nop
+  MINIX=
+fi
+  if test $ac_cv_safe_to_define___extensions__ = yes
+then :
+  printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h
+
+fi
+  if test $ac_cv_should_define__xopen_source = yes
+then :
+  printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h
+
+fi
+
 MCONFIG=./MCONFIG
 
 BINARY_TYPE=bin
@@ -2811,8 +4612,8 @@
 Oct)	MONTH_NUM=10; E2FSPROGS_MONTH="October" ;;
 Nov)	MONTH_NUM=11; E2FSPROGS_MONTH="November" ;;
 Dec)	MONTH_NUM=12; E2FSPROGS_MONTH="December" ;;
-*)	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unknown month $MONTH??" >&5
-$as_echo "$as_me: WARNING: Unknown month $MONTH??" >&2;} ;;
+*)	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unknown month $MONTH??" >&5
+printf "%s\n" "$as_me: WARNING: Unknown month $MONTH??" >&2;} ;;
 esac
 
 base_ver=`echo $E2FSPROGS_VERSION | \
@@ -2830,10 +4631,10 @@
 esac
 
 unset DATE MONTH YEAR base_ver pre_vers date_spec
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION" >&5
-$as_echo "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}" >&5
-$as_echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION" >&5
+printf "%s\n" "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}" >&5
+printf "%s\n" "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}" >&6; }
 
 
 
@@ -2843,7 +4644,8 @@
 WITH_DIET_LIBC=
 
 # Check whether --with-diet-libc was given.
-if test "${with_diet_libc+set}" = set; then :
+if test ${with_diet_libc+y}
+then :
   withval=$with_diet_libc; CC="diet cc -nostdinc"
 WITH_DIET_LIBC=yes
 if test -z "$LIBS"
@@ -2852,29 +4654,33 @@
 else
 	LIBS="$LIBS -lcompat"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: CC=$CC" >&5
-$as_echo "CC=$CC" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: CC=$CC" >&5
+printf "%s\n" "CC=$CC" >&6; }
 fi
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+
+  # Make sure we can run config.sub.
+$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+printf %s "checking build system type... " >&6; }
+if test ${ac_cv_build+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+  ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
 test "x$ac_build_alias" = x &&
   as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+printf "%s\n" "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
@@ -2893,21 +4699,22 @@
 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+printf %s "checking host system type... " >&6; }
+if test ${ac_cv_host+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+  ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+printf "%s\n" "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
@@ -2927,801 +4734,12 @@
 
 
 DLOPEN_LIB=''
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-	then :; else
-	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	fi
-	# We set ac_cv_exeext here because the later test for it is not
-	# safe: cross compilers may not add the suffix if given an `-o'
-	# argument, so we may need to know it at that point already.
-	# Even if this section looks crufty: it has the advantage of
-	# actually working.
-	break;;
-    * )
-	break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+printf %s "checking for dlopen in -ldl... " >&6; }
+if test ${ac_cv_lib_dl_dlopen+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldl  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3730,49 +4748,51 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char dlopen ();
 int
-main ()
+main (void)
 {
 return dlopen ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_dl_dlopen=yes
-else
+else $as_nop
   ac_cv_lib_dl_dlopen=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes
+then :
   DLOPEN_LIB=-ldl
 fi
 
 
 
 # Check whether --with-cc was given.
-if test "${with_cc+set}" = set; then :
+if test ${with_cc+y}
+then :
   withval=$with_cc; as_fn_error $? "--with-cc no longer supported; use CC= instead" "$LINENO" 5
 fi
 
 
 # Check whether --with-ccopts was given.
-if test "${with_ccopts+set}" = set; then :
+if test ${with_ccopts+y}
+then :
   withval=$with_ccopts; as_fn_error $? "--with-ccopts no longer supported; use CFLAGS= instead" "$LINENO" 5
 fi
 
 
 # Check whether --with-ldopts was given.
-if test "${with_ldopts+set}" = set; then :
+if test ${with_ldopts+y}
+then :
   withval=$with_ldopts; as_fn_error $? "--with-ldopts no longer supported; use LDFLAGS= instead" "$LINENO" 5
 fi
 
@@ -3784,11 +4804,12 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3796,11 +4817,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3811,11 +4836,11 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3824,11 +4849,12 @@
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -3836,11 +4862,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3851,11 +4881,11 @@
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_CC" = x; then
@@ -3863,8 +4893,8 @@
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -3877,11 +4907,12 @@
           if test -n "$ac_tool_prefix"; then
     # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3889,11 +4920,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3904,11 +4939,11 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3917,11 +4952,12 @@
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3930,15 +4966,19 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3954,18 +4994,18 @@
     # However, it has the same basename, so the bogon will be chosen
     # first if we set CC to just the basename; use the full file name.
     shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
   fi
 fi
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3976,11 +5016,12 @@
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3988,11 +5029,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4003,11 +5048,11 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4020,11 +5065,12 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -4032,11 +5078,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4047,11 +5097,11 @@
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4063,8 +5113,8 @@
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -4072,25 +5122,129 @@
 fi
 
 fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+
+
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "no acceptable C compiler found in \$PATH
 See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
+for ac_option in --version -v -V -qversion -version; do
   { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -4100,20 +5254,21 @@
     cat conftest.er1 >&5
   fi
   rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 #ifndef __GNUC__
        choke me
@@ -4123,29 +5278,33 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_compiler_gnu=yes
-else
+else $as_nop
   ac_compiler_gnu=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 if test $ac_compiler_gnu = yes; then
   GCC=yes
 else
   GCC=
 fi
-ac_test_CFLAGS=${CFLAGS+set}
+ac_test_CFLAGS=${CFLAGS+y}
 ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
    ac_cv_prog_cc_g=no
@@ -4154,57 +5313,60 @@
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
-else
+else $as_nop
   CFLAGS=""
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   ac_c_werror_flag=$ac_save_c_werror_flag
 	 CFLAGS="-g"
 	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
   if test "$GCC" = yes; then
@@ -4219,94 +5381,144 @@
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c11=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c11_program
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c11" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+     CC="$CC $ac_cv_prog_cc_c11"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+  ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c99_program
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c99" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+     CC="$CC $ac_cv_prog_cc_c99"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+  ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
+$ac_c_conftest_c89_program
 _ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
+  if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_c89=$ac_arg
 fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
   test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
 rm -f conftest.$ac_ext
 CC=$ac_save_CC
-
 fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
 
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c89" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+     CC="$CC $ac_cv_prog_cc_c89"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+  ac_prog_cc_stdc=c89
+fi
 fi
 
 ac_ext=c
@@ -4324,40 +5536,36 @@
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+printf %s "checking how to run the C preprocessor... " >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 fi
 if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+  if test ${ac_cv_prog_CPP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+      # Double quotes because $CC needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp
     do
       ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
   # Use a header file that comes with gcc, so configuring glibc
   # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+#include <limits.h>
 		     Syntax error
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+if ac_fn_c_try_cpp "$LINENO"
+then :
 
-else
+else $as_nop
   # Broken: fails on valid input.
 continue
 fi
@@ -4369,10 +5577,11 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+if ac_fn_c_try_cpp "$LINENO"
+then :
   # Broken: success on invalid input.
 continue
-else
+else $as_nop
   # Passes both tests.
 ac_preproc_ok=:
 break
@@ -4382,7 +5591,8 @@
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
 rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
+if $ac_preproc_ok
+then :
   break
 fi
 
@@ -4394,29 +5604,24 @@
 else
   ac_cv_prog_CPP=$CPP
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+printf "%s\n" "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
   # Use a header file that comes with gcc, so configuring glibc
   # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+#include <limits.h>
 		     Syntax error
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+if ac_fn_c_try_cpp "$LINENO"
+then :
 
-else
+else $as_nop
   # Broken: fails on valid input.
 continue
 fi
@@ -4428,10 +5633,11 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+if ac_fn_c_try_cpp "$LINENO"
+then :
   # Broken: success on invalid input.
 continue
-else
+else $as_nop
   # Passes both tests.
 ac_preproc_ok=:
 break
@@ -4441,11 +5647,12 @@
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
 rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
+if $ac_preproc_ok
+then :
 
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details" "$LINENO" 5; }
 fi
@@ -4456,8 +5663,8 @@
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional special compiler flags" >&5
-$as_echo_n "checking for additional special compiler flags... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for additional special compiler flags" >&5
+printf %s "checking for additional special compiler flags... " >&6; }
 if test "$GCC" = yes
 then
     case "$host_cpu" in
@@ -4466,19 +5673,1327 @@
 fi
 if test "x$addcflags" != x
 then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $addcflags" >&5
-$as_echo "$addcflags" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $addcflags" >&5
+printf "%s\n" "$addcflags" >&6; }
     CFLAGS="$addcflags $CFLAGS"
 else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: (none)" >&5
-$as_echo "(none)" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: (none)" >&5
+printf "%s\n" "(none)" >&6; }
+fi
+LIB_EXT=.a
+STATIC_LIB_EXT=.a
+PROFILED_LIB_EXT=.a
+
+# Check whether --with-root-prefix was given.
+if test ${with_root_prefix+y}
+then :
+  withval=$with_root_prefix; root_prefix=$withval
+else $as_nop
+  root_prefix=NONE
+fi
+# Check whether --enable-maintainer-mode was given.
+if test ${enable_maintainer_mode+y}
+then :
+  enableval=$enable_maintainer_mode; if test "$enableval" = "no"
+then
+	MAINTAINER_CMT=#
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling maintainer mode" >&5
+printf "%s\n" "Disabling maintainer mode" >&6; }
+else
+	MAINTAINER_CMT=
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling maintainer mode" >&5
+printf "%s\n" "Enabling maintainer mode" >&6; }
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
+else $as_nop
+  MAINTAINER_CMT=#
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling maintainer mode by default" >&5
+printf "%s\n" "Disabling maintainer mode by default" >&6; }
+
+fi
+
+
+# Check whether --enable-symlink-install was given.
+if test ${enable_symlink_install+y}
+then :
+  enableval=$enable_symlink_install; if test "$enableval" = "no"
+then
+	LINK_INSTALL_FLAGS=-f
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for install" >&5
+printf "%s\n" "Disabling symlinks for install" >&6; }
 else
+	LINK_INSTALL_FLAGS=-sf
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling symlinks for install" >&5
+printf "%s\n" "Enabling symlinks for install" >&6; }
+fi
+
+else $as_nop
+  LINK_INSTALL_FLAGS=-f
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for install by default" >&5
+printf "%s\n" "Disabling symlinks for install by default" >&6; }
+
+fi
+
+
+relative_symlink_defined=
+# Check whether --enable-relative-symlinks was given.
+if test ${enable_relative_symlinks+y}
+then :
+  enableval=$enable_relative_symlinks; if test "$enableval" = "no"
+then
+	SYMLINK_RELATIVE=
+	relative_symlink_defined=yes
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install" >&5
+printf "%s\n" "Disabling relative symlinks for install" >&6; }
+else
+	SYMLINK_RELATIVE=--relative
+	relative_symlink_defined=yes
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling relative symlinks for install" >&5
+printf "%s\n" "Enabling relative symlinks for install" >&6; }
+fi
+fi
+
+# Check whether --enable-symlink-relative-symlinks was given.
+if test ${enable_symlink_relative_symlinks+y}
+then :
+  enableval=$enable_symlink_relative_symlinks; if test "$enableval" = "no"
+then
+	SYMLINK_RELATIVE=yes
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install" >&5
+printf "%s\n" "Disabling relative symlinks for install" >&6; }
+else
+	SYMLINK_RELATIVE=--relative
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling relative symlinks for install" >&5
+printf "%s\n" "Enabling relative symlinks for install" >&6; }
+fi
+
+else $as_nop
+  if test -z "$relative_symlink_defined"
+then
+	SYMLINK_RELATIVE=
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install by default" >&5
+printf "%s\n" "Disabling relative symlinks for install by default" >&6; }
+fi
+
+fi
+
+
+# Check whether --enable-symlink-build was given.
+if test ${enable_symlink_build+y}
+then :
+  enableval=$enable_symlink_build; if test "$enableval" = "no"
+then
+	LINK_BUILD_FLAGS=
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for build" >&5
+printf "%s\n" "Disabling symlinks for build" >&6; }
+else
+	LINK_BUILD_FLAGS=-s
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling symlinks for build" >&5
+printf "%s\n" "Enabling symlinks for build" >&6; }
+fi
+
+else $as_nop
+  LINK_BUILD_FLAGS=
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for build by default" >&5
+printf "%s\n" "Disabling symlinks for build by default" >&6; }
+
+fi
+
+
+# Check whether --enable-verbose-makecmds was given.
+if test ${enable_verbose_makecmds+y}
+then :
+  enableval=$enable_verbose_makecmds; if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling verbose make commands" >&5
+printf "%s\n" "Disabling verbose make commands" >&6; }
+	E=@echo
+	ES=echo
+	Q=@
+else
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling verbose make commands" >&5
+printf "%s\n" "Enabling verbose make commands" >&6; }
+	E=@\\#
+	ES=\\#
+	Q=
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling verbose make commands" >&5
+printf "%s\n" "Disabling verbose make commands" >&6; }
+E=@echo
+ES=echo
+Q=@
+
+fi
+
+
+
+
+E2_PKG_CONFIG_STATIC=--static
+LDFLAG_DYNAMIC=
+PRIVATE_LIBS_CMT=
+# Check whether --enable-elf-shlibs was given.
+if test ${enable_elf_shlibs+y}
+then :
+  enableval=$enable_elf_shlibs; if test "$enableval" = "no"
+then
+	ELF_CMT=#
+	MAKEFILE_ELF=/dev/null
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling ELF shared libraries" >&5
+printf "%s\n" "Disabling ELF shared libraries" >&6; }
+else
+	E2_PKG_CONFIG_STATIC=
+	ELF_CMT=
+	MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
+	case "$host_os" in
+	solaris2.*)
+		MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib
+	;;
+	esac
+	BINARY_TYPE=elfbin
+	LIB_EXT=.so
+	PRIVATE_LIBS_CMT=#
+	LDFLAG_DYNAMIC='-Wl,-rpath-link,$(top_builddir)/lib'
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling ELF shared libraries" >&5
+printf "%s\n" "Enabling ELF shared libraries" >&6; }
+fi
+
+else $as_nop
+  MAKEFILE_ELF=/dev/null
+ELF_CMT=#
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling ELF shared libraries by default" >&5
+printf "%s\n" "Disabling ELF shared libraries by default" >&6; }
+
+fi
+
+
+
+# Check whether --enable-bsd-shlibs was given.
+if test ${enable_bsd_shlibs+y}
+then :
+  enableval=$enable_bsd_shlibs; if test "$enableval" = "no"
+then
+	BSDLIB_CMT=#
+	MAKEFILE_BSDLIB=/dev/null
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling BSD shared libraries" >&5
+printf "%s\n" "Disabling BSD shared libraries" >&6; }
+else
+	E2_PKG_CONFIG_STATIC=
+	BSDLIB_CMT=
+	MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
+	LIB_EXT=.so
+	case "$host_os" in
+	darwin*)
+		MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
+		LIB_EXT=.dylib
+	;;
+	esac
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling BSD shared libraries" >&5
+printf "%s\n" "Enabling BSD shared libraries" >&6; }
+fi
+
+else $as_nop
+  MAKEFILE_BSDLIB=/dev/null
+BSDLIB_CMT=#
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling BSD shared libraries by default" >&5
+printf "%s\n" "Disabling BSD shared libraries by default" >&6; }
+
+fi
+
+
+
+# Check whether --enable-profile was given.
+if test ${enable_profile+y}
+then :
+  enableval=$enable_profile; if test "$enableval" = "no"
+then
+	PROFILE_CMT=#
+	MAKEFILE_PROFILE=/dev/null
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling profiling libraries" >&5
+printf "%s\n" "Disabling profiling libraries" >&6; }
+else
+	PROFILE_CMT=
+	MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
+	PROFILED_LIB_EXT=_p.a
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Building profiling libraries" >&5
+printf "%s\n" "Building profiling libraries" >&6; }
+fi
+
+else $as_nop
+  PROFILE_CMT=#
+MAKEFILE_PROFILE=/dev/null
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling profiling libraries by default" >&5
+printf "%s\n" "Disabling profiling libraries by default" >&6; }
+
+fi
+
+
+
+# Check whether --enable-gcov was given.
+if test ${enable_gcov+y}
+then :
+  enableval=$enable_gcov; if test "$enableval" = "yes"
+then
+	CFLAGS="-g -fprofile-arcs -ftest-coverage"
+	LDFLAGS="-fprofile-arcs -ftest-coverage"
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling gcov support" >&5
+printf "%s\n" "Enabling gcov support" >&6; }
+fi
+
+fi
+
+CFLAGS_SHLIB="${CFLAGS_SHLIB:-$CFLAGS}"
+CFLAGS_STLIB="${CFLAGS_STLIB:-$CFLAGS}"
+LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS}
+LDFLAGS_STATIC=${LDFLAGS_STATIC:-$LDFLAGS}
+# Check whether --enable-hardening was given.
+if test ${enable_hardening+y}
+then :
+  enableval=$enable_hardening; if test "$enableval" = "yes"
+then
+	HARDEN_CFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
+	HARDEN_LDFLAGS="-Wl,-z,relro -Wl,-z,now"
+	CFLAGS="$CFLAGS $HARDEN_CFLAGS -fPIE"
+	CFLAGS_SHLIB="$CFLAGS_SHLIB $HARDEN_CFLAGS"
+	CFLAGS_STLIB="$CFLAGS_STLIB $HARDEN_CFLAGS -fPIE"
+	LDFLAGS="$LDFLAGS $HARDEN_LDFLAGS -fPIE -pie"
+	LDFLAGS_STATIC="$LDFLAGS_STATIC $HARDEN_LDFLAGS"
+	LDFLAGS_SHLIB="$LDFLAGS_SHLIB $HARDEN_LDFLAGS"
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling hardening support" >&5
+printf "%s\n" "Enabling hardening support" >&6; }
+fi
+
+fi
+
+
+
+
+
+
+# Check whether --enable-jbd-debug was given.
+if test ${enable_jbd_debug+y}
+then :
+  enableval=$enable_jbd_debug; if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling journal debugging" >&5
+printf "%s\n" "Disabling journal debugging" >&6; }
+else
+
+printf "%s\n" "#define CONFIG_JBD_DEBUG 1" >>confdefs.h
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling journal debugging" >&5
+printf "%s\n" "Enabling journal debugging" >&6; }
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling journal debugging by default" >&5
+printf "%s\n" "Disabling journal debugging by default" >&6; }
+
+fi
+
+# Check whether --enable-blkid-debug was given.
+if test ${enable_blkid_debug+y}
+then :
+  enableval=$enable_blkid_debug; if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling blkid debugging" >&5
+printf "%s\n" "Disabling blkid debugging" >&6; }
+else
+
+printf "%s\n" "#define CONFIG_BLKID_DEBUG 1" >>confdefs.h
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling blkid debugging" >&5
+printf "%s\n" "Enabling blkid debugging" >&6; }
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling blkid debugging by default" >&5
+printf "%s\n" "Disabling blkid debugging by default" >&6; }
+
+fi
+
+# Check whether --enable-testio-debug was given.
+if test ${enable_testio_debug+y}
+then :
+  enableval=$enable_testio_debug;
+if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling testio debugging" >&5
+printf "%s\n" "Disabling testio debugging" >&6; }
+	TEST_IO_CMT="#"
+else
+	TEST_IO_CMT=
+	printf "%s\n" "#define CONFIG_TESTIO_DEBUG 1" >>confdefs.h
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling testio debugging" >&5
+printf "%s\n" "Enabling testio debugging" >&6; }
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling testio debugging by default" >&5
+printf "%s\n" "Enabling testio debugging by default" >&6; }
+printf "%s\n" "#define CONFIG_TESTIO_DEBUG 1" >>confdefs.h
+
+TEST_IO_CMT=
+
+fi
+
+
+# Check whether --enable-developer-features was given.
+if test ${enable_developer_features+y}
+then :
+  enableval=$enable_developer_features;
+if test "$enableval" = "yes"
+then
+	DEV_FEATURES_CMT=
+	printf "%s\n" "#define CONFIG_DEVELOPER_FEATURES 1" >>confdefs.h
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling ext4 developer features" >&5
+printf "%s\n" "Enabling ext4 developer features" >&6; }
+else
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling ext4 developer features" >&5
+printf "%s\n" "Disabling ext4 developer features" >&6; }
+	DEV_FEATURES_CMT="#"
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling ext4 developer features by default" >&5
+printf "%s\n" "Disabling ext4 developer features by default" >&6; }
+DEV_FEATURES_CMT=
+
+fi
+
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PKG_CONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+printf "%s\n" "$PKG_CONFIG" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_ac_pt_PKG_CONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+	else
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+		PKG_CONFIG=""
+	fi
+fi
+LIBUUID=
+DEPLIBUUID=
+STATIC_LIBUUID=
+DEPSTATIC_LIBUUID=
+PROFILED_LIBUUID=
+DEPPROFILED_LIBUUID=
+UUID_CMT=
+# Check whether --enable-libuuid was given.
+if test ${enable_libuuid+y}
+then :
+  enableval=$enable_libuuid; if test "$enableval" = "no"
+then
+	if test -z "$PKG_CONFIG"; then
+		as_fn_error $? "pkg-config not installed; please install it." "$LINENO" 5
+	fi
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5
+printf %s "checking for uuid_generate in -luuid... " >&6; }
+if test ${ac_cv_lib_uuid_uuid_generate+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-luuid  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+char uuid_generate ();
+int
+main (void)
+{
+return uuid_generate ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_cv_lib_uuid_uuid_generate=yes
+else $as_nop
+  ac_cv_lib_uuid_uuid_generate=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5
+printf "%s\n" "$ac_cv_lib_uuid_uuid_generate" >&6; }
+if test "x$ac_cv_lib_uuid_uuid_generate" = xyes
+then :
+  LIBUUID=`$PKG_CONFIG --libs uuid`;
+		 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`
+else $as_nop
+  as_fn_error $? "external uuid library not found" "$LINENO" 5
+fi
+
+	PROFILED_LIBUUID=$LIBUUID
+	UUID_CMT=#
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling private uuid library" >&5
+printf "%s\n" "Disabling private uuid library" >&6; }
+else
+	LIBUUID='$(LIB)/libuuid'$LIB_EXT
+	DEPLIBUUID=$LIBUUID
+	STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
+	DEPSTATIC_LIBUUID=$STATIC_LIBUUID
+	PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
+	DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling private uuid library" >&5
+printf "%s\n" "Enabling private uuid library" >&6; }
+fi
+
+else $as_nop
+  if test -n "$PKG_CONFIG"; then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5
+printf %s "checking for uuid_generate in -luuid... " >&6; }
+if test ${ac_cv_lib_uuid_uuid_generate+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-luuid  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+char uuid_generate ();
+int
+main (void)
+{
+return uuid_generate ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_cv_lib_uuid_uuid_generate=yes
+else $as_nop
+  ac_cv_lib_uuid_uuid_generate=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5
+printf "%s\n" "$ac_cv_lib_uuid_uuid_generate" >&6; }
+if test "x$ac_cv_lib_uuid_uuid_generate" = xyes
+then :
+  LIBUUID=`$PKG_CONFIG --libs uuid`;
+		 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`
+fi
+
+fi
+if test -n "$LIBUUID"; then
+	PROFILED_LIBUUID=$LIBUUID
+	UUID_CMT=#
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using system uuid by default" >&5
+printf "%s\n" "Using system uuid by default" >&6; }
+else
+	LIBUUID='$(LIB)/libuuid'$LIB_EXT
+	DEPLIBUUID=$LIBUUID
+	STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
+	DEPSTATIC_LIBUUID=$STATIC_LIBUUID
+	PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
+	DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling private uuid library by default" >&5
+printf "%s\n" "Enabling private uuid library by default" >&6; }
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PKG_CONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+printf "%s\n" "$PKG_CONFIG" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_ac_pt_PKG_CONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+	else
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+		PKG_CONFIG=""
+	fi
+fi
+LIBBLKID=
+DEPLIBBLKID=
+STATIC_LIBBLKID=
+DEPSTATIC_LIBBLKID=
+PROFILED_LIBBLKID=
+DEPPROFILED_LIBBLKID=
+BLKID_CMT=
+
+# Check whether --enable-libblkid was given.
+if test ${enable_libblkid+y}
+then :
+  enableval=$enable_libblkid; if test "$enableval" = "no"
+then
+	if test -z "$PKG_CONFIG"; then
+		as_fn_error $? "pkg-config not installed; please install it." "$LINENO" 5
+	fi
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for blkid_get_cache in -lblkid" >&5
+printf %s "checking for blkid_get_cache in -lblkid... " >&6; }
+if test ${ac_cv_lib_blkid_blkid_get_cache+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lblkid -luuid $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+char blkid_get_cache ();
+int
+main (void)
+{
+return blkid_get_cache ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_cv_lib_blkid_blkid_get_cache=yes
+else $as_nop
+  ac_cv_lib_blkid_blkid_get_cache=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_get_cache" >&5
+printf "%s\n" "$ac_cv_lib_blkid_blkid_get_cache" >&6; }
+if test "x$ac_cv_lib_blkid_blkid_get_cache" = xyes
+then :
+  LIBBLKID=`$PKG_CONFIG --libs blkid`;
+		 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`
+else $as_nop
+  as_fn_error $? "external blkid library not found" "$LINENO" 5
+fi
+
+	BLKID_CMT=#
+	PROFILED_LIBBLKID=$LIBBLKID
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling private blkid library" >&5
+printf "%s\n" "Disabling private blkid library" >&6; }
+else
+	LIBBLKID='$(LIB)/libblkid'$LIB_EXT
+	DEPLIBBLKID=$LIBBLKID
+	STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
+	DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
+	PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
+	DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
+	printf "%s\n" "#define CONFIG_BUILD_FINDFS 1" >>confdefs.h
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling private blkid library" >&5
+printf "%s\n" "Enabling private blkid library" >&6; }
+fi
+
+else $as_nop
+  if test -n "$PKG_CONFIG"; then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for blkid_get_cache in -lblkid" >&5
+printf %s "checking for blkid_get_cache in -lblkid... " >&6; }
+if test ${ac_cv_lib_blkid_blkid_get_cache+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lblkid  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+char blkid_get_cache ();
+int
+main (void)
+{
+return blkid_get_cache ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_cv_lib_blkid_blkid_get_cache=yes
+else $as_nop
+  ac_cv_lib_blkid_blkid_get_cache=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_get_cache" >&5
+printf "%s\n" "$ac_cv_lib_blkid_blkid_get_cache" >&6; }
+if test "x$ac_cv_lib_blkid_blkid_get_cache" = xyes
+then :
+  LIBBLKID=`$PKG_CONFIG --libs blkid`;
+		 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`
+fi
+
+fi
+if test -n "$LIBBLKID"; then
+	BLKID_CMT=#
+	PROFILED_LIBBLKID=$LIBBLKID
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using system blkid library by default" >&5
+printf "%s\n" "Using system blkid library by default" >&6; }
+else
+	LIBBLKID='$(LIB)/libblkid'$LIB_EXT
+	DEPLIBBLKID=$LIBBLKID
+	STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
+	DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
+	PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
+	DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
+	printf "%s\n" "#define CONFIG_BUILD_FINDFS 1" >>confdefs.h
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling private blkid library by default" >&5
+printf "%s\n" "Enabling private blkid library by default" >&6; }
+fi
+
+fi
+
+
+
+
+
+
+
+
+ALL_CMT=
+SUBSET_CMT=
+# Check whether --enable-subset was given.
+if test ${enable_subset+y}
+then :
+  enableval=$enable_subset; if test "$enableval" = "no"
+then
+	SUBSET_CMT=#
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling subset-only build" >&5
+printf "%s\n" "Disabling subset-only build" >&6; }
+else
+	ALL_CMT=#
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling subset-only-build" >&5
+printf "%s\n" "Enabling subset-only-build" >&6; }
+fi
+
+fi
+
+
+
+
+# Check whether --enable-backtrace was given.
+if test ${enable_backtrace+y}
+then :
+  enableval=$enable_backtrace; if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling use of backtrace" >&5
+printf "%s\n" "Disabling use of backtrace" >&6; }
+	printf "%s\n" "#define DISABLE_BACKTRACE 1" >>confdefs.h
+
+else
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling use of backtrace" >&5
+printf "%s\n" "Enabling use of backtrace" >&6; }
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling use of backtrace by default" >&5
+printf "%s\n" "Enabling use of backtrace by default" >&6; }
+
+fi
+
+# Check whether --enable-debugfs was given.
+if test ${enable_debugfs+y}
+then :
+  enableval=$enable_debugfs; if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling debugfs support" >&5
+printf "%s\n" "Disabling debugfs support" >&6; }
+	DEBUGFS_CMT="#"
+else
+	DEBUGFS_CMT=
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling debugfs support" >&5
+printf "%s\n" "Enabling debugfs support" >&6; }
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling debugfs support by default" >&5
+printf "%s\n" "Enabling debugfs support by default" >&6; }
+DEBUGFS_CMT=
+
+fi
+
+
+# Check whether --enable-imager was given.
+if test ${enable_imager+y}
+then :
+  enableval=$enable_imager; if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling e2image support" >&5
+printf "%s\n" "Disabling e2image support" >&6; }
+	IMAGER_CMT="#"
+else
+	IMAGER_CMT=
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling e2image support" >&5
+printf "%s\n" "Enabling e2image support" >&6; }
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling e2image support by default" >&5
+printf "%s\n" "Enabling e2image support by default" >&6; }
+IMAGER_CMT=
+
+fi
+
+
+# Check whether --enable-resizer was given.
+if test ${enable_resizer+y}
+then :
+  enableval=$enable_resizer; if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling e2resize support" >&5
+printf "%s\n" "Disabling e2resize support" >&6; }
+	RESIZER_CMT="#"
+else
+	RESIZER_CMT=
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling e2resize support" >&5
+printf "%s\n" "Enabling e2resize support" >&6; }
+fi
+
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling e2resize support by default" >&5
+printf "%s\n" "Enabling e2resize support by default" >&6; }
+RESIZER_CMT=
+
+fi
+
+
+# Check whether --enable-defrag was given.
+if test ${enable_defrag+y}
+then :
+  enableval=$enable_defrag; if test "$enableval" = "no"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling e4defrag support" >&5
+printf "%s\n" "Disabling e4defrag support" >&6; }
+	DEFRAG_CMT="#"
+else
+	DEFRAG_CMT=
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling e4defrag support" >&5
+printf "%s\n" "Enabling e4defrag support" >&6; }
+fi
+
+else $as_nop
+  if test -z "$WITH_DIET_LIBC"
+then
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling e4defrag support by default" >&5
+printf "%s\n" "Enabling e4defrag support by default" >&6; }
+	DEFRAG_CMT=
+else
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling e4defrag support by default" >&5
+printf "%s\n" "Disabling e4defrag support by default" >&6; }
+	DEFRAG_CMT="#"
+fi
+
+fi
+
+
+# Check whether --enable-fsck was given.
+if test ${enable_fsck+y}
+then :
+  enableval=$enable_fsck; if test "$enableval" = "no"
+then
+	FSCK_PROG='' FSCK_MAN=''
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Not building fsck wrapper" >&5
+printf "%s\n" "Not building fsck wrapper" >&6; }
+else
+	FSCK_PROG=fsck FSCK_MAN=fsck.8
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Building fsck wrapper" >&5
+printf "%s\n" "Building fsck wrapper" >&6; }
+fi
+
+else $as_nop
+  case "$host_os" in
+  gnu*)
+    FSCK_PROG='' FSCK_MAN=''
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Not building fsck wrapper by default" >&5
+printf "%s\n" "Not building fsck wrapper by default" >&6; }
+    ;;
+  *)
+    FSCK_PROG=fsck FSCK_MAN=fsck.8
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Building fsck wrapper by default" >&5
+printf "%s\n" "Building fsck wrapper by default" >&6; }
+esac
+
+fi
+
+
+
+# Check whether --enable-e2initrd-helper was given.
+if test ${enable_e2initrd_helper+y}
+then :
+  enableval=$enable_e2initrd_helper; if test "$enableval" = "no"
+then
+	E2INITRD_PROG='' E2INITRD_MAN=''
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Not building e2initrd helper" >&5
+printf "%s\n" "Not building e2initrd helper" >&6; }
+else
+	E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Building e2initrd helper" >&5
+printf "%s\n" "Building e2initrd helper" >&6; }
+fi
+
+else $as_nop
+  E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Building e2initrd helper by default" >&5
+printf "%s\n" "Building e2initrd helper by default" >&6; }
+
+fi
+
+
+
+# Check whether --enable-tls was given.
+if test ${enable_tls+y}
+then :
+  enableval=$enable_tls; if test "$enableval" = "no"
+then
+	try_tls=""
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling thread local support" >&5
+printf "%s\n" "Disabling thread local support" >&6; }
+else
+	try_tls="yes"
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling thread local support" >&5
+printf "%s\n" "Enabling thread local support" >&6; }
+fi
+
+else $as_nop
+  if test -n "$WITH_DIET_LIBC"
+then
+	try_tls=""
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Diet libc does not support thread local support" >&5
+printf "%s\n" "Diet libc does not support thread local support" >&6; }
+else
+	try_tls="yes"
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Try using thread local support by default" >&5
+printf "%s\n" "Try using thread local support by default" >&6; }
+fi
+
+fi
+
+if test "$try_tls" = "yes"
+then
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thread local storage (TLS) class" >&5
+printf %s "checking for thread local storage (TLS) class... " >&6; }
+  if test ${ac_cv_tls+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+
+    ax_tls_keywords="__thread __declspec(thread) none"
+    for ax_tls_keyword in $ax_tls_keywords; do
+       case $ax_tls_keyword in
+          none) ac_cv_tls=none ; break ;;
+          *)
+             cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+                 static void
+                 foo(void) {
+                 static  $ax_tls_keyword  int bar;
+                 exit(1);
+                 }
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_tls=$ax_tls_keyword ; break
+else $as_nop
+  ac_cv_tls=none
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+          esac
+    done
+
+fi
+
+
+  if test "$ac_cv_tls" != "none"; then
+
+printf "%s\n" "#define TLS $ac_cv_tls" >>confdefs.h
+
+  fi
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
+printf "%s\n" "$ac_cv_tls" >&6; }
+
+fi
+
+# Check whether --with-pthread was given.
+if test ${with_pthread+y}
+then :
+  withval=$with_pthread; if test "$withval" = "no"
+then
+	try_pthread=""
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling pthread support" >&5
+printf "%s\n" "Disabling pthread support" >&6; }
+else
+	try_pthread="yes"
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Testing for pthread support" >&5
+printf "%s\n" "Testing for pthread support" >&6; }
+fi
+
+else $as_nop
+  try_pthread="yes"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Try testing for pthread support by default" >&5
+printf "%s\n" "Try testing for pthread support by default" >&6; }
+
+fi
+
+if test "$try_pthread" = "yes"
+then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+printf %s "checking for a sed that does not truncate output... " >&6; }
+if test ${ac_cv_path_SED+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in sed gsed
+   do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  printf %s 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    printf "%s\n" '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+printf "%s\n" "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+printf %s "checking for grep that handles long lines and -e... " >&6; }
+if test ${ac_cv_path_GREP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -z "$GREP"; then
   ac_path_GREP_found=false
   # Loop through the user's path and test for each of PROGNAME-LIST
@@ -4486,10 +7001,15 @@
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in grep ggrep
+   do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
       as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
@@ -4498,13 +7018,13 @@
   ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
 *)
   ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
+  printf %s 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
+    printf "%s\n" 'GREP' >> "conftest.nl"
     "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     as_fn_arith $ac_count + 1 && ac_count=$as_val
@@ -4532,16 +7052,17 @@
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+printf "%s\n" "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+printf %s "checking for egrep... " >&6; }
+if test ${ac_cv_path_EGREP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
    then ac_cv_path_EGREP="$GREP -E"
    else
@@ -4552,10 +7073,15 @@
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in egrep
+   do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
       as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
@@ -4564,13 +7090,13 @@
   ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
 *)
   ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
+  printf %s 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
+    printf "%s\n" 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     as_fn_arith $ac_count + 1 && ac_count=$as_val
@@ -4599,1454 +7125,11 @@
 
    fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+printf "%s\n" "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = xyes; then :
-  MINIX=yes
-else
-  MINIX=
-fi
-
-
-  if test "$MINIX" = yes; then
-
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "#define _MINIX 1" >>confdefs.h
-
-  fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if ${ac_cv_safe_to_define___extensions__+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#         define __EXTENSIONS__ 1
-          $ac_includes_default
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_safe_to_define___extensions__=yes
-else
-  ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-  test $ac_cv_safe_to_define___extensions__ = yes &&
-    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
-
-  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
-  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
-
-
-LIB_EXT=.a
-STATIC_LIB_EXT=.a
-PROFILED_LIB_EXT=.a
-
-# Check whether --with-root-prefix was given.
-if test "${with_root_prefix+set}" = set; then :
-  withval=$with_root_prefix; root_prefix=$withval
-else
-  root_prefix=NONE
-fi
-# Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; if test "$enableval" = "no"
-then
-	MAINTAINER_CMT=#
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling maintainer mode" >&5
-$as_echo "Disabling maintainer mode" >&6; }
-else
-	MAINTAINER_CMT=
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling maintainer mode" >&5
-$as_echo "Enabling maintainer mode" >&6; }
-fi
-
-else
-  MAINTAINER_CMT=#
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling maintainer mode by default" >&5
-$as_echo "Disabling maintainer mode by default" >&6; }
-
-fi
-
-
-# Check whether --enable-symlink-install was given.
-if test "${enable_symlink_install+set}" = set; then :
-  enableval=$enable_symlink_install; if test "$enableval" = "no"
-then
-	LINK_INSTALL_FLAGS=-f
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for install" >&5
-$as_echo "Disabling symlinks for install" >&6; }
-else
-	LINK_INSTALL_FLAGS=-sf
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling symlinks for install" >&5
-$as_echo "Enabling symlinks for install" >&6; }
-fi
-
-else
-  LINK_INSTALL_FLAGS=-f
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for install by default" >&5
-$as_echo "Disabling symlinks for install by default" >&6; }
-
-fi
-
-
-relative_symlink_defined=
-# Check whether --enable-relative-symlinks was given.
-if test "${enable_relative_symlinks+set}" = set; then :
-  enableval=$enable_relative_symlinks; if test "$enableval" = "no"
-then
-	SYMLINK_RELATIVE=
-	relative_symlink_defined=yes
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install" >&5
-$as_echo "Disabling relative symlinks for install" >&6; }
-else
-	SYMLINK_RELATIVE=--relative
-	relative_symlink_defined=yes
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling relative symlinks for install" >&5
-$as_echo "Enabling relative symlinks for install" >&6; }
-fi
-fi
-
-# Check whether --enable-symlink-relative-symlinks was given.
-if test "${enable_symlink_relative_symlinks+set}" = set; then :
-  enableval=$enable_symlink_relative_symlinks; if test "$enableval" = "no"
-then
-	SYMLINK_RELATIVE=yes
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install" >&5
-$as_echo "Disabling relative symlinks for install" >&6; }
-else
-	SYMLINK_RELATIVE=--relative
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling relative symlinks for install" >&5
-$as_echo "Enabling relative symlinks for install" >&6; }
-fi
-
-else
-  if test -z "$relative_symlink_defined"
-then
-	SYMLINK_RELATIVE=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install by default" >&5
-$as_echo "Disabling relative symlinks for install by default" >&6; }
-fi
-
-fi
-
-
-# Check whether --enable-symlink-build was given.
-if test "${enable_symlink_build+set}" = set; then :
-  enableval=$enable_symlink_build; if test "$enableval" = "no"
-then
-	LINK_BUILD_FLAGS=
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for build" >&5
-$as_echo "Disabling symlinks for build" >&6; }
-else
-	LINK_BUILD_FLAGS=-s
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling symlinks for build" >&5
-$as_echo "Enabling symlinks for build" >&6; }
-fi
-
-else
-  LINK_BUILD_FLAGS=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for build by default" >&5
-$as_echo "Disabling symlinks for build by default" >&6; }
-
-fi
-
-
-# Check whether --enable-verbose-makecmds was given.
-if test "${enable_verbose_makecmds+set}" = set; then :
-  enableval=$enable_verbose_makecmds; if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling verbose make commands" >&5
-$as_echo "Disabling verbose make commands" >&6; }
-	E=@echo
-	ES=echo
-	Q=@
-else
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling verbose make commands" >&5
-$as_echo "Enabling verbose make commands" >&6; }
-	E=@\\#
-	ES=\\#
-	Q=
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling verbose make commands" >&5
-$as_echo "Disabling verbose make commands" >&6; }
-E=@echo
-ES=echo
-Q=@
-
-fi
-
-
-
-
-E2_PKG_CONFIG_STATIC=--static
-LDFLAG_DYNAMIC=
-PRIVATE_LIBS_CMT=
-# Check whether --enable-elf-shlibs was given.
-if test "${enable_elf_shlibs+set}" = set; then :
-  enableval=$enable_elf_shlibs; if test "$enableval" = "no"
-then
-	ELF_CMT=#
-	MAKEFILE_ELF=/dev/null
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling ELF shared libraries" >&5
-$as_echo "Disabling ELF shared libraries" >&6; }
-else
-	E2_PKG_CONFIG_STATIC=
-	ELF_CMT=
-	MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
-	case "$host_os" in
-	solaris2.*)
-		MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib
-	;;
-	esac
-	BINARY_TYPE=elfbin
-	LIB_EXT=.so
-	PRIVATE_LIBS_CMT=#
-	LDFLAG_DYNAMIC='-Wl,-rpath-link,$(top_builddir)/lib'
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling ELF shared libraries" >&5
-$as_echo "Enabling ELF shared libraries" >&6; }
-fi
-
-else
-  MAKEFILE_ELF=/dev/null
-ELF_CMT=#
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling ELF shared libraries by default" >&5
-$as_echo "Disabling ELF shared libraries by default" >&6; }
-
-fi
-
-
-
-# Check whether --enable-bsd-shlibs was given.
-if test "${enable_bsd_shlibs+set}" = set; then :
-  enableval=$enable_bsd_shlibs; if test "$enableval" = "no"
-then
-	BSDLIB_CMT=#
-	MAKEFILE_BSDLIB=/dev/null
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling BSD shared libraries" >&5
-$as_echo "Disabling BSD shared libraries" >&6; }
-else
-	E2_PKG_CONFIG_STATIC=
-	BSDLIB_CMT=
-	MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
-	LIB_EXT=.so
-	case "$host_os" in
-	darwin*)
-		MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
-		LIB_EXT=.dylib
-	;;
-	esac
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling BSD shared libraries" >&5
-$as_echo "Enabling BSD shared libraries" >&6; }
-fi
-
-else
-  MAKEFILE_BSDLIB=/dev/null
-BSDLIB_CMT=#
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling BSD shared libraries by default" >&5
-$as_echo "Disabling BSD shared libraries by default" >&6; }
-
-fi
-
-
-
-# Check whether --enable-profile was given.
-if test "${enable_profile+set}" = set; then :
-  enableval=$enable_profile; if test "$enableval" = "no"
-then
-	PROFILE_CMT=#
-	MAKEFILE_PROFILE=/dev/null
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling profiling libraries" >&5
-$as_echo "Disabling profiling libraries" >&6; }
-else
-	PROFILE_CMT=
-	MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
-	PROFILED_LIB_EXT=_p.a
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Building profiling libraries" >&5
-$as_echo "Building profiling libraries" >&6; }
-fi
-
-else
-  PROFILE_CMT=#
-MAKEFILE_PROFILE=/dev/null
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling profiling libraries by default" >&5
-$as_echo "Disabling profiling libraries by default" >&6; }
-
-fi
-
-
-
-# Check whether --enable-gcov was given.
-if test "${enable_gcov+set}" = set; then :
-  enableval=$enable_gcov; if test "$enableval" = "yes"
-then
-	CFLAGS="-g -fprofile-arcs -ftest-coverage"
-	LDFLAGS="-fprofile-arcs -ftest-coverage"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling gcov support" >&5
-$as_echo "Enabling gcov support" >&6; }
-fi
-
-fi
-
-CFLAGS_SHLIB="${CFLAGS_SHLIB:-$CFLAGS}"
-CFLAGS_STLIB="${CFLAGS_STLIB:-$CFLAGS}"
-LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS}
-LDFLAGS_STATIC=${LDFLAGS_STATIC:-$LDFLAGS}
-# Check whether --enable-hardening was given.
-if test "${enable_hardening+set}" = set; then :
-  enableval=$enable_hardening; if test "$enableval" = "yes"
-then
-	HARDEN_CFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-strong"
-	HARDEN_LDFLAGS="-Wl,-z,relro -Wl,-z,now"
-	CFLAGS="$CFLAGS $HARDEN_CFLAGS -fPIE"
-	CFLAGS_SHLIB="$CFLAGS_SHLIB $HARDEN_CFLAGS"
-	CFLAGS_STLIB="$CFLAGS_STLIB $HARDEN_CFLAGS -fPIE"
-	LDFLAGS="$LDFLAGS $HARDEN_LDFLAGS -fPIE -pie"
-	LDFLAGS_STATIC="$LDFLAGS_STATIC $HARDEN_LDFLAGS"
-	LDFLAGS_SHLIB="$LDFLAGS_SHLIB $HARDEN_LDFLAGS"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling hardening support" >&5
-$as_echo "Enabling hardening support" >&6; }
-fi
-
-fi
-
-
-
-
-
-
-# Check whether --enable-jbd-debug was given.
-if test "${enable_jbd_debug+set}" = set; then :
-  enableval=$enable_jbd_debug; if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling journal debugging" >&5
-$as_echo "Disabling journal debugging" >&6; }
-else
-
-$as_echo "#define CONFIG_JBD_DEBUG 1" >>confdefs.h
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling journal debugging" >&5
-$as_echo "Enabling journal debugging" >&6; }
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling journal debugging by default" >&5
-$as_echo "Disabling journal debugging by default" >&6; }
-
-fi
-
-# Check whether --enable-blkid-debug was given.
-if test "${enable_blkid_debug+set}" = set; then :
-  enableval=$enable_blkid_debug; if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling blkid debugging" >&5
-$as_echo "Disabling blkid debugging" >&6; }
-else
-
-$as_echo "#define CONFIG_BLKID_DEBUG 1" >>confdefs.h
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling blkid debugging" >&5
-$as_echo "Enabling blkid debugging" >&6; }
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling blkid debugging by default" >&5
-$as_echo "Disabling blkid debugging by default" >&6; }
-
-fi
-
-# Check whether --enable-testio-debug was given.
-if test "${enable_testio_debug+set}" = set; then :
-  enableval=$enable_testio_debug;
-if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling testio debugging" >&5
-$as_echo "Disabling testio debugging" >&6; }
-	TEST_IO_CMT="#"
-else
-	TEST_IO_CMT=
-	$as_echo "#define CONFIG_TESTIO_DEBUG 1" >>confdefs.h
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling testio debugging" >&5
-$as_echo "Enabling testio debugging" >&6; }
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling testio debugging by default" >&5
-$as_echo "Enabling testio debugging by default" >&6; }
-$as_echo "#define CONFIG_TESTIO_DEBUG 1" >>confdefs.h
-
-TEST_IO_CMT=
-
-fi
-
-
-# Check whether --enable-developer-features was given.
-if test "${enable_developer_features+set}" = set; then :
-  enableval=$enable_developer_features;
-if test "$enableval" = "yes"
-then
-	DEV_FEATURES_CMT=
-	$as_echo "#define CONFIG_DEVELOPER_FEATURES 1" >>confdefs.h
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling ext4 developer features" >&5
-$as_echo "Enabling ext4 developer features" >&6; }
-else
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling ext4 developer features" >&5
-$as_echo "Disabling ext4 developer features" >&6; }
-	DEV_FEATURES_CMT="#"
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling ext4 developer features by default" >&5
-$as_echo "Disabling ext4 developer features by default" >&6; }
-DEV_FEATURES_CMT=
-
-fi
-
-
-
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=0.9.0
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	else
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-		PKG_CONFIG=""
-	fi
-fi
-LIBUUID=
-DEPLIBUUID=
-STATIC_LIBUUID=
-DEPSTATIC_LIBUUID=
-PROFILED_LIBUUID=
-DEPPROFILED_LIBUUID=
-UUID_CMT=
-# Check whether --enable-libuuid was given.
-if test "${enable_libuuid+set}" = set; then :
-  enableval=$enable_libuuid; if test "$enableval" = "no"
-then
-	if test -z "$PKG_CONFIG"; then
-		as_fn_error $? "pkg-config not installed; please install it." "$LINENO" 5
-	fi
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5
-$as_echo_n "checking for uuid_generate in -luuid... " >&6; }
-if ${ac_cv_lib_uuid_uuid_generate+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-luuid  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char uuid_generate ();
-int
-main ()
-{
-return uuid_generate ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_uuid_uuid_generate=yes
-else
-  ac_cv_lib_uuid_uuid_generate=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5
-$as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; }
-if test "x$ac_cv_lib_uuid_uuid_generate" = xyes; then :
-  LIBUUID=`$PKG_CONFIG --libs uuid`;
-		 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`
-else
-  as_fn_error $? "external uuid library not found" "$LINENO" 5
-fi
-
-	PROFILED_LIBUUID=$LIBUUID
-	UUID_CMT=#
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling private uuid library" >&5
-$as_echo "Disabling private uuid library" >&6; }
-else
-	LIBUUID='$(LIB)/libuuid'$LIB_EXT
-	DEPLIBUUID=$LIBUUID
-	STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
-	DEPSTATIC_LIBUUID=$STATIC_LIBUUID
-	PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
-	DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling private uuid library" >&5
-$as_echo "Enabling private uuid library" >&6; }
-fi
-
-else
-  if test -n "$PKG_CONFIG"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5
-$as_echo_n "checking for uuid_generate in -luuid... " >&6; }
-if ${ac_cv_lib_uuid_uuid_generate+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-luuid  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char uuid_generate ();
-int
-main ()
-{
-return uuid_generate ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_uuid_uuid_generate=yes
-else
-  ac_cv_lib_uuid_uuid_generate=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5
-$as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; }
-if test "x$ac_cv_lib_uuid_uuid_generate" = xyes; then :
-  LIBUUID=`$PKG_CONFIG --libs uuid`;
-		 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`
-fi
-
-fi
-if test -n "$LIBUUID"; then
-	PROFILED_LIBUUID=$LIBUUID
-	UUID_CMT=#
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Using system uuid by default" >&5
-$as_echo "Using system uuid by default" >&6; }
-else
-	LIBUUID='$(LIB)/libuuid'$LIB_EXT
-	DEPLIBUUID=$LIBUUID
-	STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
-	DEPSTATIC_LIBUUID=$STATIC_LIBUUID
-	PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
-	DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling private uuid library by default" >&5
-$as_echo "Enabling private uuid library by default" >&6; }
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=0.9.0
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	else
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-		PKG_CONFIG=""
-	fi
-fi
-LIBBLKID=
-DEPLIBBLKID=
-STATIC_LIBBLKID=
-DEPSTATIC_LIBBLKID=
-PROFILED_LIBBLKID=
-DEPPROFILED_LIBBLKID=
-BLKID_CMT=
-
-# Check whether --enable-libblkid was given.
-if test "${enable_libblkid+set}" = set; then :
-  enableval=$enable_libblkid; if test "$enableval" = "no"
-then
-	if test -z "$PKG_CONFIG"; then
-		as_fn_error $? "pkg-config not installed; please install it." "$LINENO" 5
-	fi
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid_get_cache in -lblkid" >&5
-$as_echo_n "checking for blkid_get_cache in -lblkid... " >&6; }
-if ${ac_cv_lib_blkid_blkid_get_cache+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lblkid -luuid $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char blkid_get_cache ();
-int
-main ()
-{
-return blkid_get_cache ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_blkid_blkid_get_cache=yes
-else
-  ac_cv_lib_blkid_blkid_get_cache=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_get_cache" >&5
-$as_echo "$ac_cv_lib_blkid_blkid_get_cache" >&6; }
-if test "x$ac_cv_lib_blkid_blkid_get_cache" = xyes; then :
-  LIBBLKID=`$PKG_CONFIG --libs blkid`;
-		 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`
-else
-  as_fn_error $? "external blkid library not found" "$LINENO" 5
-fi
-
-	BLKID_CMT=#
-	PROFILED_LIBBLKID=$LIBBLKID
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling private blkid library" >&5
-$as_echo "Disabling private blkid library" >&6; }
-else
-	LIBBLKID='$(LIB)/libblkid'$LIB_EXT
-	DEPLIBBLKID=$LIBBLKID
-	STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
-	DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
-	PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
-	DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
-	$as_echo "#define CONFIG_BUILD_FINDFS 1" >>confdefs.h
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling private blkid library" >&5
-$as_echo "Enabling private blkid library" >&6; }
-fi
-
-else
-  if test -n "$PKG_CONFIG"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid_get_cache in -lblkid" >&5
-$as_echo_n "checking for blkid_get_cache in -lblkid... " >&6; }
-if ${ac_cv_lib_blkid_blkid_get_cache+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lblkid  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char blkid_get_cache ();
-int
-main ()
-{
-return blkid_get_cache ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_blkid_blkid_get_cache=yes
-else
-  ac_cv_lib_blkid_blkid_get_cache=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_get_cache" >&5
-$as_echo "$ac_cv_lib_blkid_blkid_get_cache" >&6; }
-if test "x$ac_cv_lib_blkid_blkid_get_cache" = xyes; then :
-  LIBBLKID=`$PKG_CONFIG --libs blkid`;
-		 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`
-fi
-
-fi
-if test -n "$LIBBLKID"; then
-	BLKID_CMT=#
-	PROFILED_LIBBLKID=$LIBBLKID
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Using system blkid library by default" >&5
-$as_echo "Using system blkid library by default" >&6; }
-else
-	LIBBLKID='$(LIB)/libblkid'$LIB_EXT
-	DEPLIBBLKID=$LIBBLKID
-	STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
-	DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
-	PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
-	DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
-	$as_echo "#define CONFIG_BUILD_FINDFS 1" >>confdefs.h
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling private blkid library by default" >&5
-$as_echo "Enabling private blkid library by default" >&6; }
-fi
-
-fi
-
-
-
-
-
-
-
-
-ALL_CMT=
-SUBSET_CMT=
-# Check whether --enable-subset was given.
-if test "${enable_subset+set}" = set; then :
-  enableval=$enable_subset; if test "$enableval" = "no"
-then
-	SUBSET_CMT=#
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling subset-only build" >&5
-$as_echo "Disabling subset-only build" >&6; }
-else
-	ALL_CMT=#
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling subset-only-build" >&5
-$as_echo "Enabling subset-only-build" >&6; }
-fi
-
-fi
-
-
-
-
-# Check whether --enable-backtrace was given.
-if test "${enable_backtrace+set}" = set; then :
-  enableval=$enable_backtrace; if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling use of backtrace" >&5
-$as_echo "Disabling use of backtrace" >&6; }
-	$as_echo "#define DISABLE_BACKTRACE 1" >>confdefs.h
-
-else
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling use of backtrace" >&5
-$as_echo "Enabling use of backtrace" >&6; }
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling use of backtrace by default" >&5
-$as_echo "Enabling use of backtrace by default" >&6; }
-
-fi
-
-# Check whether --enable-debugfs was given.
-if test "${enable_debugfs+set}" = set; then :
-  enableval=$enable_debugfs; if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling debugfs support" >&5
-$as_echo "Disabling debugfs support" >&6; }
-	DEBUGFS_CMT="#"
-else
-	DEBUGFS_CMT=
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling debugfs support" >&5
-$as_echo "Enabling debugfs support" >&6; }
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling debugfs support by default" >&5
-$as_echo "Enabling debugfs support by default" >&6; }
-DEBUGFS_CMT=
-
-fi
-
-
-# Check whether --enable-imager was given.
-if test "${enable_imager+set}" = set; then :
-  enableval=$enable_imager; if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling e2image support" >&5
-$as_echo "Disabling e2image support" >&6; }
-	IMAGER_CMT="#"
-else
-	IMAGER_CMT=
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e2image support" >&5
-$as_echo "Enabling e2image support" >&6; }
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e2image support by default" >&5
-$as_echo "Enabling e2image support by default" >&6; }
-IMAGER_CMT=
-
-fi
-
-
-# Check whether --enable-resizer was given.
-if test "${enable_resizer+set}" = set; then :
-  enableval=$enable_resizer; if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling e2resize support" >&5
-$as_echo "Disabling e2resize support" >&6; }
-	RESIZER_CMT="#"
-else
-	RESIZER_CMT=
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e2resize support" >&5
-$as_echo "Enabling e2resize support" >&6; }
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e2resize support by default" >&5
-$as_echo "Enabling e2resize support by default" >&6; }
-RESIZER_CMT=
-
-fi
-
-
-# Check whether --enable-defrag was given.
-if test "${enable_defrag+set}" = set; then :
-  enableval=$enable_defrag; if test "$enableval" = "no"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling e4defrag support" >&5
-$as_echo "Disabling e4defrag support" >&6; }
-	DEFRAG_CMT="#"
-else
-	DEFRAG_CMT=
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e4defrag support" >&5
-$as_echo "Enabling e4defrag support" >&6; }
-fi
-
-else
-  if test -z "$WITH_DIET_LIBC"
-then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e4defrag support by default" >&5
-$as_echo "Enabling e4defrag support by default" >&6; }
-	DEFRAG_CMT=
-else
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling e4defrag support by default" >&5
-$as_echo "Disabling e4defrag support by default" >&6; }
-	DEFRAG_CMT="#"
-fi
-
-fi
-
-
-# Check whether --enable-fsck was given.
-if test "${enable_fsck+set}" = set; then :
-  enableval=$enable_fsck; if test "$enableval" = "no"
-then
-	FSCK_PROG='' FSCK_MAN=''
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Not building fsck wrapper" >&5
-$as_echo "Not building fsck wrapper" >&6; }
-else
-	FSCK_PROG=fsck FSCK_MAN=fsck.8
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Building fsck wrapper" >&5
-$as_echo "Building fsck wrapper" >&6; }
-fi
-
-else
-  case "$host_os" in
-  gnu*)
-    FSCK_PROG='' FSCK_MAN=''
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: Not building fsck wrapper by default" >&5
-$as_echo "Not building fsck wrapper by default" >&6; }
-    ;;
-  *)
-    FSCK_PROG=fsck FSCK_MAN=fsck.8
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: Building fsck wrapper by default" >&5
-$as_echo "Building fsck wrapper by default" >&6; }
-esac
-
-fi
-
-
-
-# Check whether --enable-e2initrd-helper was given.
-if test "${enable_e2initrd_helper+set}" = set; then :
-  enableval=$enable_e2initrd_helper; if test "$enableval" = "no"
-then
-	E2INITRD_PROG='' E2INITRD_MAN=''
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Not building e2initrd helper" >&5
-$as_echo "Not building e2initrd helper" >&6; }
-else
-	E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Building e2initrd helper" >&5
-$as_echo "Building e2initrd helper" >&6; }
-fi
-
-else
-  E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Building e2initrd helper by default" >&5
-$as_echo "Building e2initrd helper by default" >&6; }
-
-fi
-
-
-
-# Check whether --enable-tls was given.
-if test "${enable_tls+set}" = set; then :
-  enableval=$enable_tls; if test "$enableval" = "no"
-then
-	try_tls=""
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling thread local support" >&5
-$as_echo "Disabling thread local support" >&6; }
-else
-	try_tls="yes"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling thread local support" >&5
-$as_echo "Enabling thread local support" >&6; }
-fi
-
-else
-  if test -n "$WITH_DIET_LIBC"
-then
-	try_tls=""
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Diet libc does not support thread local support" >&5
-$as_echo "Diet libc does not support thread local support" >&6; }
-else
-	try_tls="yes"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Try using thread local support by default" >&5
-$as_echo "Try using thread local support by default" >&6; }
-fi
-
-fi
-
-if test "$try_tls" = "yes"
-then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread local storage (TLS) class" >&5
-$as_echo_n "checking for thread local storage (TLS) class... " >&6; }
-  if ${ac_cv_tls+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    ax_tls_keywords="__thread __declspec(thread) none"
-    for ax_tls_keyword in $ax_tls_keywords; do
-       case $ax_tls_keyword in
-          none) ac_cv_tls=none ; break ;;
-          *)
-             cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-                 static void
-                 foo(void) {
-                 static  $ax_tls_keyword  int bar;
-                 exit(1);
-                 }
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_tls=$ax_tls_keyword ; break
-else
-  ac_cv_tls=none
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-          esac
-    done
-
-fi
-
-
-  if test "$ac_cv_tls" != "none"; then
-
-cat >>confdefs.h <<_ACEOF
-#define TLS $ac_cv_tls
-_ACEOF
-
-  fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
-$as_echo "$ac_cv_tls" >&6; }
-
-fi
-
-# Check whether --with-pthread was given.
-if test "${with_pthread+set}" = set; then :
-  withval=$with_pthread; if test "$withval" = "no"
-then
-	try_pthread=""
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling pthread support" >&5
-$as_echo "Disabling pthread support" >&6; }
-else
-	try_pthread="yes"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Testing for pthread support" >&5
-$as_echo "Testing for pthread support" >&6; }
-fi
-
-else
-  try_pthread="yes"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Try testing for pthread support by default" >&5
-$as_echo "Try testing for pthread support by default" >&6; }
-
-fi
-
-if test "$try_pthread" = "yes"
-then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
 
 
 
@@ -6070,38 +7153,41 @@
         ax_pthread_save_CC="$CC"
         ax_pthread_save_CFLAGS="$CFLAGS"
         ax_pthread_save_LIBS="$LIBS"
-        if test "x$PTHREAD_CC" != "x"; then :
+        if test "x$PTHREAD_CC" != "x"
+then :
   CC="$PTHREAD_CC"
 fi
+        if test "x$PTHREAD_CXX" != "x"
+then :
+  CXX="$PTHREAD_CXX"
+fi
         CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
         LIBS="$PTHREAD_LIBS $LIBS"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5
-$as_echo_n "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5
+printf %s "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; }
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char pthread_join ();
 int
-main ()
+main (void)
 {
 return pthread_join ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ax_pthread_ok=yes
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
-$as_echo "$ax_pthread_ok" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
+printf "%s\n" "$ax_pthread_ok" >&6; }
         if test "x$ax_pthread_ok" = "xno"; then
                 PTHREAD_LIBS=""
                 PTHREAD_CFLAGS=""
@@ -6116,10 +7202,12 @@
 # (e.g. DEC) have both -lpthread and -lpthreads, where one of the
 # libraries is broken (non-POSIX).
 
-# Create a list of thread flags to try.  Items starting with a "-" are
-# C compiler flags, and other items are library names, except for "none"
-# which indicates that we try without any flags at all, and "pthread-config"
-# which is a program returning the flags for the Pth emulation library.
+# Create a list of thread flags to try. Items with a "," contain both
+# C compiler flags (before ",") and linker flags (after ","). Other items
+# starting with a "-" are C compiler flags, and remaining items are
+# library names, except for "none" which indicates that we try without
+# any flags at all, and "pthread-config" which is a program returning
+# the flags for the Pth emulation library.
 
 ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
@@ -6177,11 +7265,12 @@
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5
-$as_echo "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;}
+  $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5
+printf "%s\n" "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;}
 fi
-rm -f conftest*
+rm -rf conftest*
 
         ;;
 
@@ -6195,16 +7284,67 @@
         # that too in a future libc.)  So we'll check first for the
         # standard Solaris way of linking pthreads (-mt -lpthread).
 
-        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
+        ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags"
         ;;
 esac
 
+# Are we compiling with Clang?
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5
+printf %s "checking whether $CC is Clang... " >&6; }
+if test ${ax_cv_PTHREAD_CLANG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1
+then :
+  ax_cv_PTHREAD_CLANG=yes
+fi
+rm -rf conftest*
+
+     fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5
+printf "%s\n" "$ax_cv_PTHREAD_CLANG" >&6; }
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+
 # GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
 
-if test "x$GCC" = "xyes"; then :
-  ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"
+# Note that for GCC and Clang -pthread generally implies -lpthread,
+# except when -nostdlib is passed.
+# This is problematic using libtool to build C++ shared libraries with pthread:
+# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460
+# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333
+# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555
+# To solve this, first try -pthread together with -lpthread for GCC
+
+if test "x$GCC" = "xyes"
+then :
+  ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"
 fi
 
+# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first
+
+if test "x$ax_pthread_clang" = "xyes"
+then :
+  ax_pthread_flags="-pthread,-lpthread -pthread"
+fi
+
+
 # The presence of a feature test macro requesting re-entrant function
 # definitions is, on some systems, a strong hint that pthreads support is
 # correctly enabled
@@ -6222,175 +7362,45 @@
         ax_pthread_check_macro="--"
         ;;
 esac
-if test "x$ax_pthread_check_macro" = "x--"; then :
+if test "x$ax_pthread_check_macro" = "x--"
+then :
   ax_pthread_check_cond=0
-else
+else $as_nop
   ax_pthread_check_cond="!defined($ax_pthread_check_macro)"
 fi
 
-# Are we compiling with Clang?
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5
-$as_echo_n "checking whether $CC is Clang... " >&6; }
-if ${ax_cv_PTHREAD_CLANG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ax_cv_PTHREAD_CLANG=no
-     # Note that Autoconf sets GCC=yes for Clang as well as GCC
-     if test "x$GCC" = "xyes"; then
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
-#            if defined(__clang__) && defined(__llvm__)
-             AX_PTHREAD_CC_IS_CLANG
-#            endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1; then :
-  ax_cv_PTHREAD_CLANG=yes
-fi
-rm -f conftest*
-
-     fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5
-$as_echo "$ax_cv_PTHREAD_CLANG" >&6; }
-ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
-
-ax_pthread_clang_warning=no
-
-# Clang needs special handling, because older versions handle the -pthread
-# option in a rather... idiosyncratic way
-
-if test "x$ax_pthread_clang" = "xyes"; then
-
-        # Clang takes -pthread; it has never supported any other flag
-
-        # (Note 1: This will need to be revisited if a system that Clang
-        # supports has POSIX threads in a separate library.  This tends not
-        # to be the way of modern systems, but it's conceivable.)
-
-        # (Note 2: On some systems, notably Darwin, -pthread is not needed
-        # to get POSIX threads support; the API is always present and
-        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
-        # -pthread does define _REENTRANT, and while the Darwin headers
-        # ignore this macro, third-party headers might not.)
-
-        PTHREAD_CFLAGS="-pthread"
-        PTHREAD_LIBS=
-
-        ax_pthread_ok=yes
-
-        # However, older versions of Clang make a point of warning the user
-        # that, in an invocation where only linking and no compilation is
-        # taking place, the -pthread option has no effect ("argument unused
-        # during compilation").  They expect -pthread to be passed in only
-        # when source code is being compiled.
-        #
-        # Problem is, this is at odds with the way Automake and most other
-        # C build frameworks function, which is that the same flags used in
-        # compilation (CFLAGS) are also used in linking.  Many systems
-        # supported by AX_PTHREAD require exactly this for POSIX threads
-        # support, and in fact it is often not straightforward to specify a
-        # flag that is used only in the compilation phase and not in
-        # linking.  Such a scenario is extremely rare in practice.
-        #
-        # Even though use of the -pthread flag in linking would only print
-        # a warning, this can be a nuisance for well-run software projects
-        # that build with -Werror.  So if the active version of Clang has
-        # this misfeature, we search for an option to squash it.
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5
-$as_echo_n "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; }
-if ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
-             # Create an alternate version of $ac_link that compiles and
-             # links in two steps (.c -> .o, .o -> exe) instead of one
-             # (.c -> exe), because the warning occurs only in the second
-             # step
-             ax_pthread_save_ac_link="$ac_link"
-             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
-             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
-             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
-             ax_pthread_save_CFLAGS="$CFLAGS"
-             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
-                if test "x$ax_pthread_try" = "xunknown"; then :
-  break
-fi
-                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
-                ac_link="$ax_pthread_save_ac_link"
-                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int main(void){return 0;}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_link="$ax_pthread_2step_ac_link"
-                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int main(void){return 0;}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-             done
-             ac_link="$ax_pthread_save_ac_link"
-             CFLAGS="$ax_pthread_save_CFLAGS"
-             if test "x$ax_pthread_try" = "x"; then :
-  ax_pthread_try=no
-fi
-             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5
-$as_echo "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; }
-
-        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
-                no | unknown) ;;
-                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
-        esac
-
-fi # $ax_pthread_clang = yes
 
 if test "x$ax_pthread_ok" = "xno"; then
 for ax_pthread_try_flag in $ax_pthread_flags; do
 
         case $ax_pthread_try_flag in
                 none)
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5
-$as_echo_n "checking whether pthreads work without any flags... " >&6; }
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5
+printf %s "checking whether pthreads work without any flags... " >&6; }
                 ;;
 
-                -mt,pthread)
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with -mt -lpthread" >&5
-$as_echo_n "checking whether pthreads work with -mt -lpthread... " >&6; }
-                PTHREAD_CFLAGS="-mt"
-                PTHREAD_LIBS="-lpthread"
+                *,*)
+                PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"`
+                PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"`
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with \"$PTHREAD_CFLAGS\" and \"$PTHREAD_LIBS\"" >&5
+printf %s "checking whether pthreads work with \"$PTHREAD_CFLAGS\" and \"$PTHREAD_LIBS\"... " >&6; }
                 ;;
 
                 -*)
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5
-$as_echo_n "checking whether pthreads work with $ax_pthread_try_flag... " >&6; }
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5
+printf %s "checking whether pthreads work with $ax_pthread_try_flag... " >&6; }
                 PTHREAD_CFLAGS="$ax_pthread_try_flag"
                 ;;
 
                 pthread-config)
                 # Extract the first word of "pthread-config", so it can be a program name with args.
 set dummy pthread-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ax_pthread_config+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ax_pthread_config+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ax_pthread_config"; then
   ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test.
 else
@@ -6398,11 +7408,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ax_pthread_config="yes"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6414,15 +7428,16 @@
 fi
 ax_pthread_config=$ac_cv_prog_ax_pthread_config
 if test -n "$ax_pthread_config"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5
-$as_echo "$ax_pthread_config" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5
+printf "%s\n" "$ax_pthread_config" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
-                if test "x$ax_pthread_config" = "xno"; then :
+                if test "x$ax_pthread_config" = "xno"
+then :
   continue
 fi
                 PTHREAD_CFLAGS="`pthread-config --cflags`"
@@ -6430,8 +7445,8 @@
                 ;;
 
                 *)
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5
-$as_echo_n "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; }
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5
+printf %s "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; }
                 PTHREAD_LIBS="-l$ax_pthread_try_flag"
                 ;;
         esac
@@ -6457,10 +7472,16 @@
 #                       if $ax_pthread_check_cond
 #                        error "$ax_pthread_check_macro must be defined"
 #                       endif
-                        static void routine(void *a) { a = 0; }
+                        static void *some_global = NULL;
+                        static void routine(void *a)
+                          {
+                             /* To avoid any unused-parameter or
+                                unused-but-set-parameter warning.  */
+                             some_global = a;
+                          }
                         static void *start_routine(void *a) { return a; }
 int
-main ()
+main (void)
 {
 pthread_t th; pthread_attr_t attr;
                         pthread_create(&th, 0, start_routine, 0);
@@ -6472,18 +7493,20 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ax_pthread_ok=yes
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 
         CFLAGS="$ax_pthread_save_CFLAGS"
         LIBS="$ax_pthread_save_LIBS"
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
-$as_echo "$ax_pthread_ok" >&6; }
-        if test "x$ax_pthread_ok" = "xyes"; then :
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
+printf "%s\n" "$ax_pthread_ok" >&6; }
+        if test "x$ax_pthread_ok" = "xyes"
+then :
   break
 fi
 
@@ -6492,6 +7515,109 @@
 done
 fi
 
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5
+printf %s "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; }
+if test ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`printf "%s\n" "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                if test "x$ax_pthread_try" = "xunknown"
+then :
+  break
+fi
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int main(void){return 0;}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  ac_link="$ax_pthread_2step_ac_link"
+                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int main(void){return 0;}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             if test "x$ax_pthread_try" = "x"
+then :
+  ax_pthread_try=no
+fi
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5
+printf "%s\n" "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; }
+
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
+
+fi # $ax_pthread_clang = yes
+
+
+
 # Various other checks:
 if test "x$ax_pthread_ok" = "xyes"; then
         ax_pthread_save_CFLAGS="$CFLAGS"
@@ -6500,51 +7626,53 @@
         LIBS="$PTHREAD_LIBS $LIBS"
 
         # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5
-$as_echo_n "checking for joinable pthread attribute... " >&6; }
-if ${ax_cv_PTHREAD_JOINABLE_ATTR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5
+printf %s "checking for joinable pthread attribute... " >&6; }
+if test ${ax_cv_PTHREAD_JOINABLE_ATTR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ax_cv_PTHREAD_JOINABLE_ATTR=unknown
              for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
                  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <pthread.h>
 int
-main ()
+main (void)
 {
 int attr = $ax_pthread_attr; return attr /* ; */
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
              done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5
-$as_echo "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5
+printf "%s\n" "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; }
         if test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
                test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
-               test "x$ax_pthread_joinable_attr_defined" != "xyes"; then :
+               test "x$ax_pthread_joinable_attr_defined" != "xyes"
+then :
 
-cat >>confdefs.h <<_ACEOF
-#define PTHREAD_CREATE_JOINABLE $ax_cv_PTHREAD_JOINABLE_ATTR
-_ACEOF
+printf "%s\n" "#define PTHREAD_CREATE_JOINABLE $ax_cv_PTHREAD_JOINABLE_ATTR" >>confdefs.h
 
                ax_pthread_joinable_attr_defined=yes
 
 fi
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether more special flags are required for pthreads" >&5
-$as_echo_n "checking whether more special flags are required for pthreads... " >&6; }
-if ${ax_cv_PTHREAD_SPECIAL_FLAGS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether more special flags are required for pthreads" >&5
+printf %s "checking whether more special flags are required for pthreads... " >&6; }
+if test ${ax_cv_PTHREAD_SPECIAL_FLAGS+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ax_cv_PTHREAD_SPECIAL_FLAGS=no
              case $host_os in
              solaris*)
@@ -6553,45 +7681,50 @@
              esac
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5
-$as_echo "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5
+printf "%s\n" "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; }
         if test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
-               test "x$ax_pthread_special_flags_added" != "xyes"; then :
+               test "x$ax_pthread_special_flags_added" != "xyes"
+then :
   PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
                ax_pthread_special_flags_added=yes
 fi
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5
-$as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; }
-if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5
+printf %s "checking for PTHREAD_PRIO_INHERIT... " >&6; }
+if test ${ax_cv_PTHREAD_PRIO_INHERIT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <pthread.h>
 int
-main ()
+main (void)
 {
 int i = PTHREAD_PRIO_INHERIT;
+                                               return i;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ax_cv_PTHREAD_PRIO_INHERIT=yes
-else
+else $as_nop
   ax_cv_PTHREAD_PRIO_INHERIT=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5
-$as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5
+printf "%s\n" "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; }
         if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
-               test "x$ax_pthread_prio_inherit_defined" != "xyes"; then :
+               test "x$ax_pthread_prio_inherit_defined" != "xyes"
+then :
 
-$as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h
 
                ax_pthread_prio_inherit_defined=yes
 
@@ -6609,19 +7742,31 @@
     #handle absolute path differently from PATH based program lookup
                      case "x$CC" in #(
   x/*) :
-    if as_fn_executable_p ${CC}_r; then :
+
+			   if as_fn_executable_p ${CC}_r
+then :
   PTHREAD_CC="${CC}_r"
-fi ;; #(
+fi
+			   if test "x${CXX}" != "x"
+then :
+  if as_fn_executable_p ${CXX}_r
+then :
+  PTHREAD_CXX="${CXX}_r"
+fi
+fi
+			  ;; #(
   *) :
-    for ac_prog in ${CC}_r
+
+			   for ac_prog in ${CC}_r
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PTHREAD_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_PTHREAD_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$PTHREAD_CC"; then
   ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test.
 else
@@ -6629,11 +7774,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_PTHREAD_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6644,19 +7793,73 @@
 fi
 PTHREAD_CC=$ac_cv_prog_PTHREAD_CC
 if test -n "$PTHREAD_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5
-$as_echo "$PTHREAD_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5
+printf "%s\n" "$PTHREAD_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
   test -n "$PTHREAD_CC" && break
 done
 test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
- ;;
-esac ;; #(
+
+			   if test "x${CXX}" != "x"
+then :
+  for ac_prog in ${CXX}_r
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_PTHREAD_CXX+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$PTHREAD_CXX"; then
+  ac_cv_prog_PTHREAD_CXX="$PTHREAD_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_PTHREAD_CXX="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+PTHREAD_CXX=$ac_cv_prog_PTHREAD_CXX
+if test -n "$PTHREAD_CXX"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CXX" >&5
+printf "%s\n" "$PTHREAD_CXX" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+  test -n "$PTHREAD_CXX" && break
+done
+test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX"
+
+fi
+
+                      ;;
+esac
+                     ;; #(
   *) :
      ;;
 esac
@@ -6666,6 +7869,8 @@
 fi
 
 test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
+test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX"
+
 
 
 
@@ -6674,7 +7879,7 @@
 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
 if test "x$ax_pthread_ok" = "xyes"; then
 
-$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h
+printf "%s\n" "#define HAVE_PTHREAD 1" >>confdefs.h
 
         :
 else
@@ -6694,32 +7899,33 @@
 fi
 
 # Check whether --enable-uuidd was given.
-if test "${enable_uuidd+set}" = set; then :
+if test ${enable_uuidd+y}
+then :
   enableval=$enable_uuidd; if test "$enableval" = "no"
 then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Not building uuidd" >&5
-$as_echo "Not building uuidd" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Not building uuidd" >&5
+printf "%s\n" "Not building uuidd" >&6; }
 	UUIDD_CMT="#"
 else
-	$as_echo "#define USE_UUIDD 1" >>confdefs.h
+	printf "%s\n" "#define USE_UUIDD 1" >>confdefs.h
 
 	UUIDD_CMT=""
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Building uuidd" >&5
-$as_echo "Building uuidd" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Building uuidd" >&5
+printf "%s\n" "Building uuidd" >&6; }
 fi
 
-else
-  $as_echo "#define USE_UUIDD 1" >>confdefs.h
+else $as_nop
+  printf "%s\n" "#define USE_UUIDD 1" >>confdefs.h
 
 if test -z "$UUID_CMT"
 then
 	UUIDD_CMT=""
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Building uuidd by default" >&5
-$as_echo "Building uuidd by default" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Building uuidd by default" >&5
+printf "%s\n" "Building uuidd by default" >&6; }
 else
 	UUIDD_CMT="#"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling uuidd by default" >&5
-$as_echo "Disabling uuidd by default" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling uuidd by default" >&5
+printf "%s\n" "Disabling uuidd by default" >&6; }
 fi
 
 fi
@@ -6727,102 +7933,123 @@
 
 
 # Check whether --enable-mmp was given.
-if test "${enable_mmp+set}" = set; then :
+if test ${enable_mmp+y}
+then :
   enableval=$enable_mmp; if test "$enableval" = "no"
 then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling mmp support" >&5
-$as_echo "Disabling mmp support" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling mmp support" >&5
+printf "%s\n" "Disabling mmp support" >&6; }
 else
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling mmp support" >&5
-$as_echo "Enabling mmp support" >&6; }
-	$as_echo "#define CONFIG_MMP 1" >>confdefs.h
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling mmp support" >&5
+printf "%s\n" "Enabling mmp support" >&6; }
+	printf "%s\n" "#define CONFIG_MMP 1" >>confdefs.h
 
 fi
 
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling mmp support by default" >&5
-$as_echo "Enabling mmp support by default" >&6; }
-$as_echo "#define CONFIG_MMP 1" >>confdefs.h
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling mmp support by default" >&5
+printf "%s\n" "Enabling mmp support by default" >&6; }
+printf "%s\n" "#define CONFIG_MMP 1" >>confdefs.h
 
 
 fi
 
 
 # Check whether --enable-tdb was given.
-if test "${enable_tdb+set}" = set; then :
-  enableval=$enable_tdb; if test "$enableval" = "no"
+if test ${enable_tdb+y}
+then :
+  enableval=$enable_tdb;
+if test "$enableval" = "no"
 then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling tdb support" >&5
-$as_echo "Disabling tdb support" >&6; }
-	TDB_CMT="#"
-	TDB_MAN_COMMENT='.\"'
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling tdb support" >&5
+printf "%s\n" "Disabling tdb support" >&6; }
+	CONFIG_TDB=0
 else
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling tdb support" >&5
-$as_echo "Enabling tdb support" >&6; }
-	$as_echo "#define CONFIG_TDB 1" >>confdefs.h
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling tdb support" >&5
+printf "%s\n" "Enabling tdb support" >&6; }
+	CONFIG_TDB=1
+fi
+
+
+else $as_nop
+
+case "$host_os" in
+mingw*)
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling tdb support by default" >&5
+printf "%s\n" "Disabling tdb support by default" >&6; }
+	CONFIG_TDB=0
+	;;
+*)
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling tdb support by default" >&5
+printf "%s\n" "Enabling tdb support by default" >&6; }
+	CONFIG_TDB=1
+	;;
+esac
+
+
+fi
+
+if test "$CONFIG_TDB" = "1"
+then
+	printf "%s\n" "#define CONFIG_TDB 1" >>confdefs.h
 
 	TDB_CMT=""
 	TDB_MAN_COMMENT=""
-fi
-
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling mmp support by default" >&5
-$as_echo "Enabling mmp support by default" >&6; }
-$as_echo "#define CONFIG_TDB 1" >>confdefs.h
-
-TDB_CMT=""
-TDB_MAN_COMMENT=""
-
+	TDB_CMT="#"
+	TDB_MAN_COMMENT='.\"'
 fi
 
 
 
-
 # Check whether --enable-bmap-stats was given.
-if test "${enable_bmap_stats+set}" = set; then :
+if test ${enable_bmap_stats+y}
+then :
   enableval=$enable_bmap_stats; if test "$enableval" = "no"
 then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling bitmap statistics support" >&5
-$as_echo "Disabling bitmap statistics support" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling bitmap statistics support" >&5
+printf "%s\n" "Disabling bitmap statistics support" >&6; }
 else
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling bitmap statistics support" >&5
-$as_echo "Enabling bitmap statistics support" >&6; }
-	$as_echo "#define ENABLE_BMAP_STATS 1" >>confdefs.h
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling bitmap statistics support" >&5
+printf "%s\n" "Enabling bitmap statistics support" >&6; }
+	printf "%s\n" "#define ENABLE_BMAP_STATS 1" >>confdefs.h
 
 fi
 
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling bitmap statistics support by default" >&5
-$as_echo "Enabling bitmap statistics support by default" >&6; }
-$as_echo "#define ENABLE_BMAP_STATS 1" >>confdefs.h
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling bitmap statistics support by default" >&5
+printf "%s\n" "Enabling bitmap statistics support by default" >&6; }
+printf "%s\n" "#define ENABLE_BMAP_STATS 1" >>confdefs.h
 
 
 fi
 
 
 # Check whether --enable-bmap-stats-ops was given.
-if test "${enable_bmap_stats_ops+set}" = set; then :
+if test ${enable_bmap_stats_ops+y}
+then :
   enableval=$enable_bmap_stats_ops; if test "$enableval" = "no"
 then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling additional bitmap statistics" >&5
-$as_echo "Disabling additional bitmap statistics" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling additional bitmap statistics" >&5
+printf "%s\n" "Disabling additional bitmap statistics" >&6; }
 else
-		if test "x${enable_bmap_stats}" = "xno"; then :
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+		if test "x${enable_bmap_stats}" = "xno"
+then :
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "Error --enable-bmap-stats-ops requires bmap-stats
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling additional bitmap statistics" >&5
-$as_echo "Enabling additional bitmap statistics" >&6; }
-	$as_echo "#define ENABLE_BMAP_STATS_OPS 1" >>confdefs.h
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling additional bitmap statistics" >&5
+printf "%s\n" "Enabling additional bitmap statistics" >&6; }
+	printf "%s\n" "#define ENABLE_BMAP_STATS_OPS 1" >>confdefs.h
 
 fi
 
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling additional bitmap statistics by default" >&5
-$as_echo "Disabling additional bitmap statistics by default" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling additional bitmap statistics by default" >&5
+printf "%s\n" "Disabling additional bitmap statistics by default" >&6; }
 
 fi
 
@@ -6833,26 +8060,23 @@
 VERSION="$E2FSPROGS_VERSION"
 VERSION=0.14.1
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
+printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
 
 
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
+printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h
 
 
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval test \${ac_cv_prog_make_${ac_make}_set+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat >conftest.make <<\_ACEOF
 SHELL = /bin/sh
 all:
@@ -6868,16 +8092,17 @@
 rm -f conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
   SET_MAKE=
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
-# Find a good install program.  We prefer a C program (faster),
+
+  # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
 # SysV /etc/install, /usr/sbin/install
@@ -6891,20 +8116,25 @@
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
 # Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+printf %s "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+if test ${ac_cv_path_install+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    # Account for fact that we put trailing slashes in our PATH walk.
+case $as_dir in #((
+  ./ | /[cC]/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
   ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
   /usr/ucb/* ) ;;
@@ -6914,13 +8144,13 @@
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
 	    :
 	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # program-specific install script used by HP pwplus--don't use.
 	    :
 	  else
@@ -6928,12 +8158,12 @@
 	    echo one > conftest.one
 	    echo two > conftest.two
 	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	    if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
 	      test -s conftest.one && test -s conftest.two &&
 	      test -s conftest.dir/conftest.one &&
 	      test -s conftest.dir/conftest.two
 	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
 	      break 3
 	    fi
 	  fi
@@ -6949,7 +8179,7 @@
 rm -rf conftest.one conftest.two conftest.dir
 
 fi
-  if test "${ac_cv_path_install+set}" = set; then
+  if test ${ac_cv_path_install+y}; then
     INSTALL=$ac_cv_path_install
   else
     # As a last resort, use the slow shell script.  Don't cache a
@@ -6959,8 +8189,8 @@
     INSTALL=$ac_install_sh
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+printf "%s\n" "$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -6970,25 +8200,31 @@
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
+printf %s "checking for a race-free mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  if test ${ac_cv_path_mkdir+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_prog in mkdir gmkdir; do
 	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
-	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-	     'mkdir (GNU coreutils) '* | \
-	     'mkdir (coreutils) '* | \
+	   as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
+	   case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir ('*'coreutils) '* | \
+	     'BusyBox '* | \
 	     'mkdir (fileutils) '4.1*)
-	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
 	       break 3;;
 	   esac
 	 done
@@ -6999,7 +8235,7 @@
 fi
 
   test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
+  if test ${ac_cv_path_mkdir+y}; then
     MKDIR_P="$ac_cv_path_mkdir -p"
   else
     # As a last resort, use the slow shell script.  Don't cache a
@@ -7009,21 +8245,22 @@
     MKDIR_P="$ac_install_sh -d"
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+printf "%s\n" "$MKDIR_P" >&6; }
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+printf %s "checking whether NLS is requested... " >&6; }
     # Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
+if test ${enable_nls+y}
+then :
   enableval=$enable_nls; USE_NLS=$enableval
-else
+else $as_nop
   USE_NLS=yes
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+printf "%s\n" "$USE_NLS" >&6; }
 
 
 
@@ -7062,11 +8299,12 @@
 
 # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGFMT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_MSGFMT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case "$MSGFMT" in
   [\\/]* | ?:[\\/]*)
     ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
@@ -7094,20 +8332,21 @@
 fi
 MSGFMT="$ac_cv_path_MSGFMT"
 if test "$MSGFMT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+printf "%s\n" "$MSGFMT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GMSGFMT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_GMSGFMT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $GMSGFMT in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
@@ -7117,11 +8356,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_GMSGFMT="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7134,11 +8377,11 @@
 fi
 GMSGFMT=$ac_cv_path_GMSGFMT
 if test -n "$GMSGFMT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+printf "%s\n" "$GMSGFMT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -7179,11 +8422,12 @@
 
 # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XGETTEXT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_XGETTEXT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case "$XGETTEXT" in
   [\\/]* | ?:[\\/]*)
     ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
@@ -7211,11 +8455,11 @@
 fi
 XGETTEXT="$ac_cv_path_XGETTEXT"
 if test "$XGETTEXT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+printf "%s\n" "$XGETTEXT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
     rm -f messages.po
@@ -7256,11 +8500,12 @@
 
 # Extract the first word of "msgmerge", so it can be a program name with args.
 set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGMERGE+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_MSGMERGE+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case "$MSGMERGE" in
   [\\/]* | ?:[\\/]*)
     ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
@@ -7287,11 +8532,11 @@
 fi
 MSGMERGE="$ac_cv_path_MSGMERGE"
 if test "$MSGMERGE" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+printf "%s\n" "$MSGMERGE" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -7331,9 +8576,10 @@
 
 
 # Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
+if test ${with_gnu_ld+y}
+then :
   withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
+else $as_nop
   with_gnu_ld=no
 fi
 
@@ -7351,25 +8597,26 @@
 fi
 
 if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld" >&5
-$as_echo_n "checking for ld... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld" >&5
+printf %s "checking for ld... " >&6; }
 elif test "$GCC" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+printf %s "checking for ld used by $CC... " >&6; }
 elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+printf %s "checking for GNU ld... " >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+printf %s "checking for non-GNU ld... " >&6; }
 fi
 if test -n "$LD"; then
   # Let the user override the test with a path.
   :
 else
-  if ${acl_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  if test ${acl_cv_path_LD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
     acl_cv_path_LD= # Final result of this test
     ac_prog=ld # Program to search in $PATH
@@ -7438,7 +8685,8 @@
                #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   # The compiler produces 64-bit code. Add option '-b64' so that the
            # linker groks 64-bit object files.
            case "$acl_cv_path_LD " in
@@ -7447,7 +8695,7 @@
            esac
 
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
         ;;
       sparc64-*-netbsd*)
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7459,9 +8707,10 @@
                #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   # The compiler produces 32-bit code. Add option '-m elf32_sparc'
            # so that the linker groks 32-bit object files.
            case "$acl_cv_path_LD " in
@@ -7470,7 +8719,7 @@
            esac
 
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
         ;;
     esac
 
@@ -7479,18 +8728,19 @@
   LD="$acl_cv_path_LD"
 fi
 if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+printf "%s\n" "$LD" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
   as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${acl_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
+if test ${acl_cv_prog_gnu_ld+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
@@ -7501,18 +8751,21 @@
   ;;
 esac
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+printf "%s\n" "$acl_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$acl_cv_prog_gnu_ld
 
 
 
 
-                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if ${acl_cv_rpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+
+                                                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+printf %s "checking for shared library run path origin... " >&6; }
+if test ${acl_cv_rpath+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
@@ -7521,8 +8774,8 @@
     acl_cv_rpath=done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+printf "%s\n" "$acl_cv_rpath" >&6; }
   wl="$acl_cv_wl"
   acl_libext="$acl_cv_libext"
   acl_shlibext="$acl_cv_shlibext"
@@ -7533,20 +8786,22 @@
   acl_hardcode_direct="$acl_cv_hardcode_direct"
   acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
     # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
+if test ${enable_rpath+y}
+then :
   enableval=$enable_rpath; :
-else
+else $as_nop
   enable_rpath=yes
 fi
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5
-$as_echo_n "checking 32-bit host C ABI... " >&6; }
-if ${gl_cv_host_cpu_c_abi_32bit+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5
+printf %s "checking 32-bit host C ABI... " >&6; }
+if test ${gl_cv_host_cpu_c_abi_32bit+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$gl_cv_host_cpu_c_abi"; then
        case "$gl_cv_host_cpu_c_abi" in
          i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
@@ -7608,12 +8863,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=no
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          arm* | aarch64 )
@@ -7632,12 +8888,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=no
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
@@ -7652,12 +8909,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=no
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          ia64* )
@@ -7672,12 +8930,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=yes
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          mips* )
@@ -7692,12 +8951,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=no
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          powerpc* )
@@ -7716,12 +8976,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=no
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          rs6000 )
@@ -7740,12 +9001,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=no
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          s390* )
@@ -7760,12 +9022,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=no
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          sparc | sparc64 )
@@ -7780,12 +9043,13 @@
                   #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   gl_cv_host_cpu_c_abi_32bit=no
-else
+else $as_nop
   gl_cv_host_cpu_c_abi_32bit=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            ;;
 
          *)
@@ -7795,8 +9059,8 @@
      fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5
-$as_echo "$gl_cv_host_cpu_c_abi_32bit" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5
+printf "%s\n" "$gl_cv_host_cpu_c_abi_32bit" >&6; }
 
   HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
 
@@ -7804,11 +9068,12 @@
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELF binary format" >&5
-$as_echo_n "checking for ELF binary format... " >&6; }
-if ${gl_cv_elf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ELF binary format" >&5
+printf %s "checking for ELF binary format... " >&6; }
+if test ${gl_cv_elf+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef __ELF__
@@ -7817,17 +9082,18 @@
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Extensible Linking Format" >/dev/null 2>&1; then :
+  $EGREP "Extensible Linking Format" >/dev/null 2>&1
+then :
   gl_cv_elf=yes
-else
+else $as_nop
   gl_cv_elf=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_elf" >&5
-$as_echo "$gl_cv_elf" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_elf" >&5
+printf "%s\n" "$gl_cv_elf" >&6; }
   if test $gl_cv_elf; then
     # Extract the ELF class of a file (5th byte) in decimal.
     # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
@@ -7875,11 +9141,12 @@
     }
   fi
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5
-$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; }
-if ${acl_cv_libdirstems+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5
+printf %s "checking for the common suffixes of directories in the library search path... " >&6; }
+if test ${acl_cv_libdirstems+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
             acl_libdirstem=lib
      acl_libdirstem2=
      acl_libdirstem3=
@@ -7943,8 +9210,8 @@
      acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5
-$as_echo "$acl_cv_libdirstems" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5
+printf "%s\n" "$acl_cv_libdirstems" >&6; }
       acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'`
   acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'`
   acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'`
@@ -7976,7 +9243,8 @@
 
 
 # Check whether --with-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then :
+if test ${with_libiconv_prefix+y}
+then :
   withval=$with_libiconv_prefix;
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -8460,72 +9728,76 @@
 
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
-$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
-if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+printf %s "checking for CFPreferencesCopyAppValue... " >&6; }
+if test ${gt_cv_func_CFPreferencesCopyAppValue+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <CoreFoundation/CFPreferences.h>
 int
-main ()
+main (void)
 {
 CFPreferencesCopyAppValue(NULL, NULL)
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   gt_cv_func_CFPreferencesCopyAppValue=yes
-else
+else $as_nop
   gt_cv_func_CFPreferencesCopyAppValue=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
      LIBS="$gt_save_LIBS"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
-$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+printf "%s\n" "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
   if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
 
-$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+printf "%s\n" "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
 
   fi
-                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5
-$as_echo_n "checking for CFLocaleCopyPreferredLanguages... " >&6; }
-if ${gt_cv_func_CFLocaleCopyPreferredLanguages+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+                    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5
+printf %s "checking for CFLocaleCopyPreferredLanguages... " >&6; }
+if test ${gt_cv_func_CFLocaleCopyPreferredLanguages+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <CoreFoundation/CFLocale.h>
 int
-main ()
+main (void)
 {
 CFLocaleCopyPreferredLanguages();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   gt_cv_func_CFLocaleCopyPreferredLanguages=yes
-else
+else $as_nop
   gt_cv_func_CFLocaleCopyPreferredLanguages=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
      LIBS="$gt_save_LIBS"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5
-$as_echo "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyPreferredLanguages" >&5
+printf "%s\n" "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; }
   if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
 
-$as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h
+printf "%s\n" "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h
 
   fi
   INTL_MACOSX_LIBS=
@@ -8571,11 +9843,12 @@
           gt_expression_test_code=
         fi
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
-$as_echo_n "checking for GNU gettext in libc... " >&6; }
-if eval \${$gt_func_gnugettext_libc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+printf %s "checking for GNU gettext in libc... " >&6; }
+if eval test \${$gt_func_gnugettext_libc+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -8590,7 +9863,7 @@
 $gt_revision_test_code
 
 int
-main ()
+main (void)
 {
 
 bindtextdomain ("", "");
@@ -8600,17 +9873,18 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   eval "$gt_func_gnugettext_libc=yes"
-else
+else $as_nop
   eval "$gt_func_gnugettext_libc=no"
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 fi
 eval ac_res=\$$gt_func_gnugettext_libc
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
 
         if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
 
@@ -8643,11 +9917,12 @@
   done
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if ${am_cv_func_iconv+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+printf %s "checking for iconv... " >&6; }
+if test ${am_cv_func_iconv+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
@@ -8658,7 +9933,7 @@
 #include <iconv.h>
 
 int
-main ()
+main (void)
 {
 iconv_t cd = iconv_open("","");
            iconv(cd,NULL,NULL,NULL,NULL);
@@ -8667,10 +9942,11 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   am_cv_func_iconv=yes
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
     if test "$am_cv_func_iconv" != yes; then
       am_save_LIBS="$LIBS"
@@ -8682,7 +9958,7 @@
 #include <iconv.h>
 
 int
-main ()
+main (void)
 {
 iconv_t cd = iconv_open("","");
              iconv(cd,NULL,NULL,NULL,NULL);
@@ -8691,24 +9967,26 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   am_cv_lib_iconv=yes
         am_cv_func_iconv=yes
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
       LIBS="$am_save_LIBS"
     fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+printf "%s\n" "$am_cv_func_iconv" >&6; }
   if test "$am_cv_func_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if ${am_cv_func_iconv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+printf %s "checking for working iconv... " >&6; }
+if test ${am_cv_func_iconv_works+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
                   am_save_LIBS="$LIBS"
       if test $am_cv_lib_iconv = yes; then
@@ -8716,12 +9994,13 @@
       fi
       am_cv_func_iconv_works=no
       for ac_iconv_const in '' 'const'; do
-        if test "$cross_compiling" = yes; then :
+        if test "$cross_compiling" = yes
+then :
   case "$host_os" in
              aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
              *)            am_cv_func_iconv_works="guessing yes" ;;
            esac
-else
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -8733,7 +10012,7 @@
 #endif
 
 int
-main ()
+main (void)
 {
 int result = 0;
   /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
@@ -8845,7 +10124,8 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
   am_cv_func_iconv_works=yes
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -8857,8 +10137,8 @@
       LIBS="$am_save_LIBS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+printf "%s\n" "$am_cv_func_iconv_works" >&6; }
     case "$am_cv_func_iconv_works" in
       *no) am_func_iconv=no am_cv_lib_iconv=no ;;
       *)   am_func_iconv=yes ;;
@@ -8868,14 +10148,14 @@
   fi
   if test "$am_func_iconv" = yes; then
 
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h
 
   fi
   if test "$am_cv_lib_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+printf %s "checking how to link with libiconv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+printf "%s\n" "$LIBICONV" >&6; }
   else
             CPPFLAGS="$am_save_CPPFLAGS"
     LIBICONV=
@@ -8908,7 +10188,8 @@
 
 
 # Check whether --with-libintl-prefix was given.
-if test "${with_libintl_prefix+set}" = set; then :
+if test ${with_libintl_prefix+y}
+then :
   withval=$with_libintl_prefix;
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -9368,11 +10649,12 @@
 
 
 
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
-$as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if eval \${$gt_func_gnugettext_libintl+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+printf %s "checking for GNU gettext in libintl... " >&6; }
+if eval test \${$gt_func_gnugettext_libintl+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   gt_save_CPPFLAGS="$CPPFLAGS"
             CPPFLAGS="$CPPFLAGS $INCINTL"
             gt_save_LIBS="$LIBS"
@@ -9395,7 +10677,7 @@
 $gt_revision_test_code
 
 int
-main ()
+main (void)
 {
 
 bindtextdomain ("", "");
@@ -9405,12 +10687,13 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   eval "$gt_func_gnugettext_libintl=yes"
-else
+else $as_nop
   eval "$gt_func_gnugettext_libintl=no"
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
                         if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
               LIBS="$LIBS $LIBICONV"
@@ -9432,7 +10715,7 @@
 $gt_revision_test_code
 
 int
-main ()
+main (void)
 {
 
 bindtextdomain ("", "");
@@ -9442,21 +10725,22 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   LIBINTL="$LIBINTL $LIBICONV"
                  LTLIBINTL="$LTLIBINTL $LTLIBICONV"
                  eval "$gt_func_gnugettext_libintl=yes"
 
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
             fi
             CPPFLAGS="$gt_save_CPPFLAGS"
             LIBS="$gt_save_LIBS"
 fi
 eval ac_res=\$$gt_func_gnugettext_libintl
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
         fi
 
                                         if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
@@ -9483,20 +10767,20 @@
     if test "$gt_use_preinstalled_gnugettext" = "yes" \
        || test "$nls_cv_use_gnu_gettext" = "yes"; then
 
-$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+printf "%s\n" "#define ENABLE_NLS 1" >>confdefs.h
 
     else
       USE_NLS=no
     fi
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
-$as_echo_n "checking whether to use NLS... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+printf %s "checking whether to use NLS... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+printf "%s\n" "$USE_NLS" >&6; }
   if test "$USE_NLS" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
-$as_echo_n "checking where the gettext function comes from... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+printf %s "checking where the gettext function comes from... " >&6; }
     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
       if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
         gt_source="external libintl"
@@ -9506,18 +10790,18 @@
     else
       gt_source="included intl directory"
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
-$as_echo "$gt_source" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+printf "%s\n" "$gt_source" >&6; }
   fi
 
   if test "$USE_NLS" = "yes"; then
 
     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
       if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
-$as_echo_n "checking how to link with libintl... " >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
-$as_echo "$LIBINTL" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+printf %s "checking how to link with libintl... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+printf "%s\n" "$LIBINTL" >&6; }
 
   for element in $INCINTL; do
     haveit=
@@ -9544,10 +10828,10 @@
       fi
 
 
-$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_GETTEXT 1" >>confdefs.h
 
 
-$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h
 
     fi
 
@@ -9564,13 +10848,14 @@
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval test \${ac_cv_prog_make_${ac_make}_set+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat >conftest.make <<\_ACEOF
 SHELL = /bin/sh
 all:
@@ -9586,20 +10871,21 @@
 rm -f conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
   SET_MAKE=
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU make" >&5
-$as_echo_n "checking for GNU make... " >&6; }
-if ${_cv_gnu_make_command+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU make" >&5
+printf %s "checking for GNU make... " >&6; }
+if test ${_cv_gnu_make_command+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   _cv_gnu_make_command='' ;
                 if test -n "$FORCE_NATIVE_MAKE" ; then
                    MAKES="make"
@@ -9615,27 +10901,28 @@
                 done ;
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cv_gnu_make_command" >&5
-$as_echo "$_cv_gnu_make_command" >&6; } ;
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $_cv_gnu_make_command" >&5
+printf "%s\n" "$_cv_gnu_make_command" >&6; } ;
         if test  "x$_cv_gnu_make_command" != "x"  ; then
                 ifGNUmake='' ;
                 ifNotGNUmake='#' ;
         else
                 ifGNUmake='#' ;
                 ifNotGNUmake='' ;
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"Not found\"" >&5
-$as_echo "\"Not found\"" >&6; };
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: \"Not found\"" >&5
+printf "%s\n" "\"Not found\"" >&6; };
         fi
 
 
 
 # Extract the first word of "ln", so it can be a program name with args.
 set dummy ln; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_LN+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $LN in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_LN="$LN" # Let the user override the test with a path.
@@ -9645,11 +10932,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_LN="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9662,35 +10953,36 @@
 fi
 LN=$ac_cv_path_LN
 if test -n "$LN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LN" >&5
-$as_echo "$LN" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LN" >&5
+printf "%s\n" "$LN" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 
 mkdir_p=$MKDIR_P
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+printf %s "checking whether ln -s works... " >&6; }
 LN_S=$as_ln_s
 if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+printf "%s\n" "no, using $LN_S" >&6; }
 fi
 
 # Extract the first word of "mv", so it can be a program name with args.
 set dummy mv; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MV+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_MV+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $MV in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_MV="$MV" # Let the user override the test with a path.
@@ -9700,11 +10992,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_MV="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9717,21 +11013,22 @@
 fi
 MV=$ac_cv_path_MV
 if test -n "$MV"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MV" >&5
-$as_echo "$MV" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MV" >&5
+printf "%s\n" "$MV" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Extract the first word of "cp", so it can be a program name with args.
 set dummy cp; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_CP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $CP in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_CP="$CP" # Let the user override the test with a path.
@@ -9741,11 +11038,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_CP="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_CP="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9758,21 +11059,22 @@
 fi
 CP=$ac_cv_path_CP
 if test -n "$CP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CP" >&5
-$as_echo "$CP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CP" >&5
+printf "%s\n" "$CP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Extract the first word of "rm", so it can be a program name with args.
 set dummy rm; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_RM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_RM+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $RM in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_RM="$RM" # Let the user override the test with a path.
@@ -9782,11 +11084,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_RM="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9799,21 +11105,22 @@
 fi
 RM=$ac_cv_path_RM
 if test -n "$RM"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RM" >&5
-$as_echo "$RM" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RM" >&5
+printf "%s\n" "$RM" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Extract the first word of "chmod", so it can be a program name with args.
 set dummy chmod; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CHMOD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_CHMOD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $CHMOD in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_CHMOD="$CHMOD" # Let the user override the test with a path.
@@ -9823,11 +11130,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_CHMOD="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_CHMOD="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9840,11 +11151,11 @@
 fi
 CHMOD=$ac_cv_path_CHMOD
 if test -n "$CHMOD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHMOD" >&5
-$as_echo "$CHMOD" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHMOD" >&5
+printf "%s\n" "$CHMOD" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -9852,11 +11163,12 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AWK+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
 else
@@ -9864,11 +11176,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9879,22 +11195,23 @@
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
   test -n "$AWK" && break
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+printf %s "checking for egrep... " >&6; }
+if test ${ac_cv_path_EGREP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
    then ac_cv_path_EGREP="$GREP -E"
    else
@@ -9905,10 +11222,15 @@
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_prog in egrep
+   do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
       as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
@@ -9917,13 +11239,13 @@
   ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
 *)
   ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
+  printf %s 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
+    printf "%s\n" 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     as_fn_arith $ac_count + 1 && ac_count=$as_val
@@ -9952,18 +11274,19 @@
 
    fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+printf "%s\n" "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
 # Extract the first word of "sed", so it can be a program name with args.
 set dummy sed; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_SED+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $SED in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_SED="$SED" # Let the user override the test with a path.
@@ -9973,11 +11296,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_SED="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -9990,21 +11317,22 @@
 fi
 SED=$ac_cv_path_SED
 if test -n "$SED"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
-$as_echo "$SED" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
+printf "%s\n" "$SED" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PERL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PERL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $PERL in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
@@ -10014,11 +11342,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PERL="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10031,21 +11363,22 @@
 fi
 PERL=$ac_cv_path_PERL
 if test -n "$PERL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+printf "%s\n" "$PERL" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Extract the first word of "ldconfig", so it can be a program name with args.
 set dummy ldconfig; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LDCONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_LDCONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $LDCONFIG in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_LDCONFIG="$LDCONFIG" # Let the user override the test with a path.
@@ -10055,11 +11388,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_LDCONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_LDCONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10072,22 +11409,23 @@
 fi
 LDCONFIG=$ac_cv_path_LDCONFIG
 if test -n "$LDCONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDCONFIG" >&5
-$as_echo "$LDCONFIG" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LDCONFIG" >&5
+printf "%s\n" "$LDCONFIG" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$AR"; then
   ac_cv_prog_AR="$AR" # Let the user override the test.
 else
@@ -10095,11 +11433,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10110,11 +11452,11 @@
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -10123,11 +11465,12 @@
   ac_ct_AR=$AR
   # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AR+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_AR"; then
   ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
 else
@@ -10135,11 +11478,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10150,11 +11497,11 @@
 fi
 ac_ct_AR=$ac_cv_prog_ac_ct_AR
 if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_AR" = x; then
@@ -10162,8 +11509,8 @@
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     AR=$ac_ct_AR
@@ -10175,11 +11522,12 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_RANLIB+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
@@ -10187,11 +11535,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10202,11 +11554,11 @@
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+printf "%s\n" "$RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -10215,11 +11567,12 @@
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_RANLIB+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_RANLIB"; then
   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
 else
@@ -10227,11 +11580,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10242,11 +11599,11 @@
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+printf "%s\n" "$ac_ct_RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_RANLIB" = x; then
@@ -10254,8 +11611,8 @@
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     RANLIB=$ac_ct_RANLIB
@@ -10267,11 +11624,12 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_STRIP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$STRIP"; then
   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
@@ -10279,11 +11637,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10294,11 +11656,11 @@
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -10307,11 +11669,12 @@
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_STRIP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_STRIP"; then
   ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
@@ -10319,11 +11682,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10334,11 +11701,11 @@
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_STRIP" = x; then
@@ -10346,8 +11713,8 @@
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     STRIP=$ac_ct_STRIP
@@ -10358,11 +11725,12 @@
 
 # Extract the first word of "makeinfo", so it can be a program name with args.
 set dummy makeinfo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MAKEINFO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_MAKEINFO+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$MAKEINFO"; then
   ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
 else
@@ -10370,11 +11738,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_MAKEINFO="makeinfo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10385,11 +11757,11 @@
 fi
 MAKEINFO=$ac_cv_prog_MAKEINFO
 if test -n "$MAKEINFO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKEINFO" >&5
-$as_echo "$MAKEINFO" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAKEINFO" >&5
+printf "%s\n" "$MAKEINFO" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -10398,9 +11770,9 @@
 else
     case "$MAKEINFO" in
       */missing.*)
-        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
 *** Makeinfo is missing. Info documentation will not be built." >&5
-$as_echo "$as_me: WARNING:
+printf "%s\n" "$as_me: WARNING:
 *** Makeinfo is missing. Info documentation will not be built." >&2;}
         ;;
       *)
@@ -10418,11 +11790,12 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_BUILD_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_BUILD_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$BUILD_CC"; then
   ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
 else
@@ -10430,11 +11803,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_BUILD_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10445,11 +11822,11 @@
 fi
 BUILD_CC=$ac_cv_prog_BUILD_CC
 if test -n "$BUILD_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5
-$as_echo "$BUILD_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5
+printf "%s\n" "$BUILD_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -10457,21 +11834,325 @@
 done
 
 fi
-for ac_header in  	dirent.h 	errno.h 	execinfo.h 	getopt.h 	malloc.h 	mntent.h 	paths.h 	pthread.h 	semaphore.h 	setjmp.h 	signal.h 	stdarg.h 	stdint.h 	stdlib.h 	termios.h 	termio.h 	unistd.h 	utime.h 	attr/xattr.h 	linux/falloc.h 	linux/fd.h 	linux/fsmap.h 	linux/major.h 	linux/loop.h 	linux/types.h 	net/if_dl.h 	netinet/in.h 	sys/acl.h 	sys/disklabel.h 	sys/disk.h 	sys/file.h 	sys/ioctl.h 	sys/key.h 	sys/mkdev.h 	sys/mman.h 	sys/mount.h 	sys/prctl.h 	sys/resource.h 	sys/select.h 	sys/socket.h 	sys/sockio.h 	sys/stat.h 	sys/syscall.h 	sys/sysmacros.h 	sys/time.h 	sys/types.h 	sys/un.h 	sys/wait.h 	sys/xattr.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+ac_fn_c_check_header_compile "$LINENO" "dirent.h" "ac_cv_header_dirent_h" "$ac_includes_default"
+if test "x$ac_cv_header_dirent_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_DIRENT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default"
+if test "x$ac_cv_header_errno_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_ERRNO_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default"
+if test "x$ac_cv_header_execinfo_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_EXECINFO_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
+if test "x$ac_cv_header_getopt_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default"
+if test "x$ac_cv_header_malloc_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_MALLOC_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "mntent.h" "ac_cv_header_mntent_h" "$ac_includes_default"
+if test "x$ac_cv_header_mntent_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_MNTENT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "paths.h" "ac_cv_header_paths_h" "$ac_includes_default"
+if test "x$ac_cv_header_paths_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_PATHS_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
+if test "x$ac_cv_header_pthread_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_PTHREAD_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "semaphore.h" "ac_cv_header_semaphore_h" "$ac_includes_default"
+if test "x$ac_cv_header_semaphore_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SEMAPHORE_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default"
+if test "x$ac_cv_header_setjmp_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SETJMP_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "signal.h" "ac_cv_header_signal_h" "$ac_includes_default"
+if test "x$ac_cv_header_signal_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SIGNAL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdarg_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_STDARG_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdint_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_STDINT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdlib_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "termios.h" "ac_cv_header_termios_h" "$ac_includes_default"
+if test "x$ac_cv_header_termios_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_TERMIOS_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "termio.h" "ac_cv_header_termio_h" "$ac_includes_default"
+if test "x$ac_cv_header_termio_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_TERMIO_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
+if test "x$ac_cv_header_unistd_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "utime.h" "ac_cv_header_utime_h" "$ac_includes_default"
+if test "x$ac_cv_header_utime_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_UTIME_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
+if test "x$ac_cv_header_attr_xattr_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "linux/falloc.h" "ac_cv_header_linux_falloc_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_falloc_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LINUX_FALLOC_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "linux/fd.h" "ac_cv_header_linux_fd_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_fd_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LINUX_FD_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "linux/fsmap.h" "ac_cv_header_linux_fsmap_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_fsmap_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LINUX_FSMAP_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "linux/major.h" "ac_cv_header_linux_major_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_major_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LINUX_MAJOR_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "linux/loop.h" "ac_cv_header_linux_loop_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_loop_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LINUX_LOOP_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "linux/types.h" "ac_cv_header_linux_types_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_types_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LINUX_TYPES_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "net/if_dl.h" "ac_cv_header_net_if_dl_h" "$ac_includes_default"
+if test "x$ac_cv_header_net_if_dl_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_NET_IF_DL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default"
+if test "x$ac_cv_header_netinet_in_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_NETINET_IN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_acl_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_ACL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/disklabel.h" "ac_cv_header_sys_disklabel_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_disklabel_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_DISKLABEL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/disk.h" "ac_cv_header_sys_disk_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_disk_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_DISK_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_file_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_FILE_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_ioctl_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/key.h" "ac_cv_header_sys_key_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_key_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_KEY_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mkdev_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_MKDEV_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mman_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_MMAN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_mount_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_MOUNT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/prctl.h" "ac_cv_header_sys_prctl_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_prctl_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_PRCTL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/random.h" "ac_cv_header_sys_random_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_random_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_RANDOM_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_resource_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_RESOURCE_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_select_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_SELECT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_socket_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/sockio.h" "ac_cv_header_sys_sockio_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_sockio_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_SOCKIO_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_stat_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_STAT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/syscall.h" "ac_cv_header_sys_syscall_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_syscall_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_SYSCALL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_sysmacros_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_SYSMACROS_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_time_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_types_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/un.h" "ac_cv_header_sys_un_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_un_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_UN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_wait_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/xattr.h" "ac_cv_header_sys_xattr_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_xattr_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_XATTR_H 1" >>confdefs.h
 
 fi
 
-done
+case "$host_os" in
+mingw*)
+	# The above checks only detect system headers, not the headers in
+	# ./include/mingw/, so explicitly define them to be available.
+	printf "%s\n" "#define HAVE_LINUX_TYPES_H 1" >>confdefs.h
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a dd(1) program that supports iflag=fullblock" >&5
-$as_echo_n "checking for a dd(1) program that supports iflag=fullblock... " >&6; }
+	printf "%s\n" "#define HAVE_SYS_STAT_H 1" >>confdefs.h
+
+	printf "%s\n" "#define HAVE_SYS_SYSMACROS_H 1" >>confdefs.h
+
+	printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h
+
+	printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h
+
+	;;
+esac
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a dd(1) program that supports iflag=fullblock" >&5
+printf %s "checking for a dd(1) program that supports iflag=fullblock... " >&6; }
 DD=
 for i in dd gdd ; do
 	if "$i" if=/dev/null of=/dev/null count=1 bs=10k 2>/dev/null iflag=fullblock oflag=append ; then
@@ -10480,20 +12161,18 @@
 	fi
 done
 if test -n "$DD" ; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DD" >&5
-$as_echo "$DD" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DD" >&5
+printf "%s\n" "$DD" >&6; }
 else
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found, using dd" >&5
-$as_echo "not found, using dd" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found, using dd" >&5
+printf "%s\n" "not found, using dd" >&6; }
 	DD=dd
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No GNU-compatible dd(1) program found, expect some self-test failures." >&5
-$as_echo "$as_me: WARNING: No GNU-compatible dd(1) program found, expect some self-test failures." >&2;}
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: No GNU-compatible dd(1) program found, expect some self-test failures." >&5
+printf "%s\n" "$as_me: WARNING: No GNU-compatible dd(1) program found, expect some self-test failures." >&2;}
 fi
 
 
-for ac_header in net/if.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "
+ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "
 #if HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif
@@ -10502,93 +12181,179 @@
 #endif
 
 "
-if test "x$ac_cv_header_net_if_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_NET_IF_H 1
-_ACEOF
+if test "x$ac_cv_header_net_if_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h
 
 fi
 
+ac_func=
+for ac_item in $ac_func_c_list
+do
+  if test $ac_func; then
+    ac_fn_c_check_func "$LINENO" $ac_func ac_cv_func_$ac_func
+    if eval test \"x\$ac_cv_func_$ac_func\" = xyes; then
+      echo "#define $ac_item 1" >> confdefs.h
+    fi
+    ac_func=
+  else
+    ac_func=$ac_item
+  fi
 done
 
-for ac_func in vprintf
-do :
-  ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
-if test "x$ac_cv_func_vprintf" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_VPRINTF 1
-_ACEOF
+if test "x$ac_cv_func_vprintf" = xno
+then :
+  ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
+if test "x$ac_cv_func__doprnt" = xyes
+then :
 
-ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = xyes; then :
-
-$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_DOPRNT 1" >>confdefs.h
 
 fi
 
 fi
-done
-
-
 ac_fn_c_check_member "$LINENO" "struct dirent" "d_reclen" "ac_cv_member_struct_dirent_d_reclen" "#include <dirent.h>
 "
-if test "x$ac_cv_member_struct_dirent_d_reclen" = xyes; then :
+if test "x$ac_cv_member_struct_dirent_d_reclen" = xyes
+then :
 
-$as_echo "#define HAVE_RECLEN_DIRENT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_RECLEN_DIRENT 1" >>confdefs.h
 
 fi
 
 ac_fn_c_check_member "$LINENO" "struct stat" "st_atim" "ac_cv_member_struct_stat_st_atim" "$ac_includes_default"
-if test "x$ac_cv_member_struct_stat_st_atim" = xyes; then :
+if test "x$ac_cv_member_struct_stat_st_atim" = xyes
+then :
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_ATIM 1
-_ACEOF
+printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIM 1" >>confdefs.h
 
 
 fi
 
 ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "#include <sys/types.h>
 "
-if test "x$ac_cv_type_ssize_t" = xyes; then :
+if test "x$ac_cv_type_ssize_t" = xyes
+then :
 
-$as_echo "#define HAVE_TYPE_SSIZE_T 1" >>confdefs.h
+printf "%s\n" "#define HAVE_TYPE_SSIZE_T 1" >>confdefs.h
 
 fi
 
-ac_fn_c_check_decl "$LINENO" "llseek" "ac_cv_have_decl_llseek" "#include <unistd.h>
-"
-if test "x$ac_cv_have_decl_llseek" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
+printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
+if test ${ac_cv_c_undeclared_builtin_options+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_save_CFLAGS=$CFLAGS
+   ac_cv_c_undeclared_builtin_options='cannot detect'
+   for ac_arg in '' -fno-builtin; do
+     CFLAGS="$ac_save_CFLAGS $ac_arg"
+     # This test program should *not* compile successfully.
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-$as_echo "#define HAVE_LLSEEK_PROTOTYPE 1" >>confdefs.h
+int
+main (void)
+{
+(void) strchr;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+  # This test program should compile successfully.
+        # No library function is consistently available on
+        # freestanding implementations, so test against a dummy
+        # declaration.  Include always-available headers on the
+        # off chance that they somehow elicit warnings.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <float.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stddef.h>
+extern void ac_decl (int, char *);
+
+int
+main (void)
+{
+(void) ac_decl (0, (char *) 0);
+  (void) ac_decl;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  if test x"$ac_arg" = x
+then :
+  ac_cv_c_undeclared_builtin_options='none needed'
+else $as_nop
+  ac_cv_c_undeclared_builtin_options=$ac_arg
+fi
+          break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+    done
+    CFLAGS=$ac_save_CFLAGS
 
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5
+printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }
+  case $ac_cv_c_undeclared_builtin_options in #(
+  'cannot detect') :
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot make $CC report undeclared builtins
+See \`config.log' for more details" "$LINENO" 5; } ;; #(
+  'none needed') :
+    ac_c_undeclared_builtin_options='' ;; #(
+  *) :
+    ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;
+esac
 
-ac_fn_c_check_decl "$LINENO" "lseek64" "ac_cv_have_decl_lseek64" "#define _LARGEFILE_SOURCE
+ac_fn_check_decl "$LINENO" "llseek" "ac_cv_have_decl_llseek" "#include <unistd.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_llseek" = xyes
+then :
+
+printf "%s\n" "#define HAVE_LLSEEK_PROTOTYPE 1" >>confdefs.h
+
+fi
+ac_fn_check_decl "$LINENO" "lseek64" "ac_cv_have_decl_lseek64" "#define _LARGEFILE_SOURCE
 		 #define _LARGEFILE64_SOURCE
 		 #include <unistd.h>
-"
-if test "x$ac_cv_have_decl_lseek64" = xyes; then :
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_lseek64" = xyes
+then :
 
-$as_echo "#define HAVE_LSEEK64_PROTOTYPE 1" >>confdefs.h
+printf "%s\n" "#define HAVE_LSEEK64_PROTOTYPE 1" >>confdefs.h
 
 fi
-
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
-$as_echo_n "checking size of short... " >&6; }
-if ${ac_cv_sizeof_short+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short"        "$ac_includes_default"; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
+printf %s "checking size of short... " >&6; }
+if test ${ac_cv_sizeof_short+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short"        "$ac_includes_default"
+then :
 
-else
+else $as_nop
   if test "$ac_cv_type_short" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "cannot compute sizeof (short)
 See \`config.log' for more details" "$LINENO" 5; }
    else
@@ -10597,31 +12362,31 @@
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
-$as_echo "$ac_cv_sizeof_short" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
+printf "%s\n" "$ac_cv_sizeof_short" >&6; }
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SHORT $ac_cv_sizeof_short
-_ACEOF
+printf "%s\n" "#define SIZEOF_SHORT $ac_cv_sizeof_short" >>confdefs.h
 
 
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
-$as_echo_n "checking size of int... " >&6; }
-if ${ac_cv_sizeof_int+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+printf %s "checking size of int... " >&6; }
+if test ${ac_cv_sizeof_int+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"
+then :
 
-else
+else $as_nop
   if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "cannot compute sizeof (int)
 See \`config.log' for more details" "$LINENO" 5; }
    else
@@ -10630,31 +12395,31 @@
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
-$as_echo "$ac_cv_sizeof_int" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
+printf "%s\n" "$ac_cv_sizeof_int" >&6; }
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
+printf "%s\n" "#define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h
 
 
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
-$as_echo_n "checking size of long... " >&6; }
-if ${ac_cv_sizeof_long+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+printf %s "checking size of long... " >&6; }
+if test ${ac_cv_sizeof_long+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"
+then :
 
-else
+else $as_nop
   if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "cannot compute sizeof (long)
 See \`config.log' for more details" "$LINENO" 5; }
    else
@@ -10663,31 +12428,31 @@
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
-$as_echo "$ac_cv_sizeof_long" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
+printf "%s\n" "$ac_cv_sizeof_long" >&6; }
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
+printf "%s\n" "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h
 
 
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
-$as_echo_n "checking size of long long... " >&6; }
-if ${ac_cv_sizeof_long_long+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
+printf %s "checking size of long long... " >&6; }
+if test ${ac_cv_sizeof_long_long+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"
+then :
 
-else
+else $as_nop
   if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "cannot compute sizeof (long long)
 See \`config.log' for more details" "$LINENO" 5; }
    else
@@ -10696,31 +12461,31 @@
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
-$as_echo "$ac_cv_sizeof_long_long" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
+printf "%s\n" "$ac_cv_sizeof_long_long" >&6; }
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
-_ACEOF
+printf "%s\n" "#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long" >>confdefs.h
 
 
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
-$as_echo_n "checking size of off_t... " >&6; }
-if ${ac_cv_sizeof_off_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "$ac_includes_default"; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
+printf %s "checking size of off_t... " >&6; }
+if test ${ac_cv_sizeof_off_t+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "$ac_includes_default"
+then :
 
-else
+else $as_nop
   if test "$ac_cv_type_off_t" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "cannot compute sizeof (off_t)
 See \`config.log' for more details" "$LINENO" 5; }
    else
@@ -10729,31 +12494,31 @@
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5
-$as_echo "$ac_cv_sizeof_off_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5
+printf "%s\n" "$ac_cv_sizeof_off_t" >&6; }
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_OFF_T $ac_cv_sizeof_off_t
-_ACEOF
+printf "%s\n" "#define SIZEOF_OFF_T $ac_cv_sizeof_off_t" >>confdefs.h
 
 
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
-$as_echo_n "checking size of time_t... " >&6; }
-if ${ac_cv_sizeof_time_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t"        "$ac_includes_default"; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
+printf %s "checking size of time_t... " >&6; }
+if test ${ac_cv_sizeof_time_t+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t"        "$ac_includes_default"
+then :
 
-else
+else $as_nop
   if test "$ac_cv_type_time_t" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "cannot compute sizeof (time_t)
 See \`config.log' for more details" "$LINENO" 5; }
    else
@@ -10762,14 +12527,12 @@
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5
-$as_echo "$ac_cv_sizeof_time_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5
+printf "%s\n" "$ac_cv_sizeof_time_t" >&6; }
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_TIME_T $ac_cv_sizeof_time_t
-_ACEOF
+printf "%s\n" "#define SIZEOF_TIME_T $ac_cv_sizeof_time_t" >>confdefs.h
 
 
 SIZEOF_SHORT=$ac_cv_sizeof_short
@@ -10784,11 +12547,12 @@
 
 
 
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+printf %s "checking whether byte ordering is bigendian... " >&6; }
+if test ${ac_cv_c_bigendian+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_cv_c_bigendian=unknown
     # See if we're dealing with a universal compiler.
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -10799,7 +12563,8 @@
 	     typedef int dummy;
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
 	# Check for potential -arch flags.  It is not universal unless
 	# there are at least two -arch flags with different values.
@@ -10823,7 +12588,7 @@
 	 fi
        done
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
     if test $ac_cv_c_bigendian = unknown; then
       # See if sys/param.h defines the BYTE_ORDER macro.
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -10832,7 +12597,7 @@
 	     #include <sys/param.h>
 
 int
-main ()
+main (void)
 {
 #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
 		     && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
@@ -10844,7 +12609,8 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   # It does; now see whether it defined to BIG_ENDIAN or not.
 	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10852,7 +12618,7 @@
 		#include <sys/param.h>
 
 int
-main ()
+main (void)
 {
 #if BYTE_ORDER != BIG_ENDIAN
 		 not big endian
@@ -10862,14 +12628,15 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_c_bigendian=yes
-else
+else $as_nop
   ac_cv_c_bigendian=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
     fi
     if test $ac_cv_c_bigendian = unknown; then
       # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
@@ -10878,7 +12645,7 @@
 #include <limits.h>
 
 int
-main ()
+main (void)
 {
 #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
 	      bogus endian macros
@@ -10888,14 +12655,15 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   # It does; now see whether it defined to _BIG_ENDIAN or not.
 	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <limits.h>
 
 int
-main ()
+main (void)
 {
 #ifndef _BIG_ENDIAN
 		 not big endian
@@ -10905,31 +12673,33 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_c_bigendian=yes
-else
+else $as_nop
   ac_cv_c_bigendian=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
     fi
     if test $ac_cv_c_bigendian = unknown; then
       # Compile a test program.
-      if test "$cross_compiling" = yes; then :
+      if test "$cross_compiling" = yes
+then :
   # Try to guess by grepping values from an object file.
 	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-short int ascii_mm[] =
+unsigned short int ascii_mm[] =
 		  { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-		short int ascii_ii[] =
+		unsigned short int ascii_ii[] =
 		  { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
 		int use_ascii (int i) {
 		  return ascii_mm[i] + ascii_ii[i];
 		}
-		short int ebcdic_ii[] =
+		unsigned short int ebcdic_ii[] =
 		  { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-		short int ebcdic_mm[] =
+		unsigned short int ebcdic_mm[] =
 		  { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
 		int use_ebcdic (int i) {
 		  return ebcdic_mm[i] + ebcdic_ii[i];
@@ -10937,14 +12707,15 @@
 		extern int foo;
 
 int
-main ()
+main (void)
 {
 return use_ascii (foo) == use_ebcdic (foo);
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
 	      ac_cv_c_bigendian=yes
 	    fi
@@ -10957,13 +12728,13 @@
 	      fi
 	    fi
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $ac_includes_default
 int
-main ()
+main (void)
 {
 
 	     /* Are we little or big endian?  From Harbison&Steele.  */
@@ -10979,9 +12750,10 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+if ac_fn_c_try_run "$LINENO"
+then :
   ac_cv_c_bigendian=no
-else
+else $as_nop
   ac_cv_c_bigendian=yes
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -10990,17 +12762,17 @@
 
     fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+printf "%s\n" "$ac_cv_c_bigendian" >&6; }
  case $ac_cv_c_bigendian in #(
    yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+     printf "%s\n" "#define WORDS_BIGENDIAN 1" >>confdefs.h
 ;; #(
    no)
       ;; #(
    universal)
 
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
 
      ;; #(
    *)
@@ -11030,104 +12802,102 @@
 rm -f tmp_config.$$
 PUBLIC_CONFIG_HEADER=./public_config.h
 
-for ac_header in inttypes.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
-if test "x$ac_cv_header_inttypes_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_INTTYPES_H 1
-_ACEOF
+ac_fn_c_check_header_compile "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
+if test "x$ac_cv_header_inttypes_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_INTTYPES_H 1" >>confdefs.h
 
 fi
 
-done
-
 ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_intptr_t" = xyes; then :
+if test "x$ac_cv_type_intptr_t" = xyes
+then :
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INTPTR_T 1
-_ACEOF
+printf "%s\n" "#define HAVE_INTPTR_T 1" >>confdefs.h
 
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat has a st_flags field" >&5
-$as_echo_n "checking whether struct stat has a st_flags field... " >&6; }
-if ${e2fsprogs_cv_struct_st_flags+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct stat has a st_flags field" >&5
+printf %s "checking whether struct stat has a st_flags field... " >&6; }
+if test ${e2fsprogs_cv_struct_st_flags+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/stat.h>
 int
-main ()
+main (void)
 {
 struct stat stat; stat.st_flags = 0;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   e2fsprogs_cv_struct_st_flags=yes
-else
+else $as_nop
   e2fsprogs_cv_struct_st_flags=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $e2fsprogs_cv_struct_st_flags" >&5
-$as_echo "$e2fsprogs_cv_struct_st_flags" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $e2fsprogs_cv_struct_st_flags" >&5
+printf "%s\n" "$e2fsprogs_cv_struct_st_flags" >&6; }
 if test "$e2fsprogs_cv_struct_st_flags" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether st_flags field is useful" >&5
-$as_echo_n "checking whether st_flags field is useful... " >&6; }
-  if ${e2fsprogs_cv_struct_st_flags_immut+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether st_flags field is useful" >&5
+printf %s "checking whether st_flags field is useful... " >&6; }
+  if test ${e2fsprogs_cv_struct_st_flags_immut+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/stat.h>
 int
-main ()
+main (void)
 {
 struct stat stat; stat.st_flags |= UF_IMMUTABLE;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   e2fsprogs_cv_struct_st_flags_immut=yes
-else
+else $as_nop
   e2fsprogs_cv_struct_st_flags_immut=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $e2fsprogs_cv_struct_st_flags_immut" >&5
-$as_echo "$e2fsprogs_cv_struct_st_flags_immut" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $e2fsprogs_cv_struct_st_flags_immut" >&5
+printf "%s\n" "$e2fsprogs_cv_struct_st_flags_immut" >&6; }
   if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
 
-$as_echo "#define HAVE_STAT_FLAGS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_STAT_FLAGS 1" >>confdefs.h
 
   fi
 fi
 ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" "#include <sys/types.h>
 	 #include <sys/socket.h>
 "
-if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then :
+if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes
+then :
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SA_LEN 1
-_ACEOF
+printf "%s\n" "#define HAVE_SA_LEN 1" >>confdefs.h
 
 fi
 
 if test -n "$BLKID_CMT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid_probe_get_topology in -lblkid" >&5
-$as_echo_n "checking for blkid_probe_get_topology in -lblkid... " >&6; }
-if ${ac_cv_lib_blkid_blkid_probe_get_topology+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for blkid_probe_get_topology in -lblkid" >&5
+printf %s "checking for blkid_probe_get_topology in -lblkid... " >&6; }
+if test ${ac_cv_lib_blkid_blkid_probe_get_topology+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lblkid  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11136,40 +12906,40 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char blkid_probe_get_topology ();
 int
-main ()
+main (void)
 {
 return blkid_probe_get_topology ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_blkid_blkid_probe_get_topology=yes
-else
+else $as_nop
   ac_cv_lib_blkid_blkid_probe_get_topology=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_probe_get_topology" >&5
-$as_echo "$ac_cv_lib_blkid_blkid_probe_get_topology" >&6; }
-if test "x$ac_cv_lib_blkid_blkid_probe_get_topology" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_probe_get_topology" >&5
+printf "%s\n" "$ac_cv_lib_blkid_blkid_probe_get_topology" >&6; }
+if test "x$ac_cv_lib_blkid_blkid_probe_get_topology" = xyes
+then :
 
-$as_echo "#define HAVE_BLKID_PROBE_GET_TOPOLOGY 1" >>confdefs.h
+printf "%s\n" "#define HAVE_BLKID_PROBE_GET_TOPOLOGY 1" >>confdefs.h
 
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid_topology_get_dax in -lblkid" >&5
-$as_echo_n "checking for blkid_topology_get_dax in -lblkid... " >&6; }
-if ${ac_cv_lib_blkid_blkid_topology_get_dax+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for blkid_topology_get_dax in -lblkid" >&5
+printf %s "checking for blkid_topology_get_dax in -lblkid... " >&6; }
+if test ${ac_cv_lib_blkid_blkid_topology_get_dax+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lblkid  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11178,40 +12948,40 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char blkid_topology_get_dax ();
 int
-main ()
+main (void)
 {
 return blkid_topology_get_dax ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_blkid_blkid_topology_get_dax=yes
-else
+else $as_nop
   ac_cv_lib_blkid_blkid_topology_get_dax=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_topology_get_dax" >&5
-$as_echo "$ac_cv_lib_blkid_blkid_topology_get_dax" >&6; }
-if test "x$ac_cv_lib_blkid_blkid_topology_get_dax" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_topology_get_dax" >&5
+printf "%s\n" "$ac_cv_lib_blkid_blkid_topology_get_dax" >&6; }
+if test "x$ac_cv_lib_blkid_blkid_topology_get_dax" = xyes
+then :
 
-$as_echo "#define HAVE_BLKID_TOPOLOGY_GET_DAX 1" >>confdefs.h
+printf "%s\n" "#define HAVE_BLKID_TOPOLOGY_GET_DAX 1" >>confdefs.h
 
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid_probe_enable_partitions in -lblkid" >&5
-$as_echo_n "checking for blkid_probe_enable_partitions in -lblkid... " >&6; }
-if ${ac_cv_lib_blkid_blkid_probe_enable_partitions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for blkid_probe_enable_partitions in -lblkid" >&5
+printf %s "checking for blkid_probe_enable_partitions in -lblkid... " >&6; }
+if test ${ac_cv_lib_blkid_blkid_probe_enable_partitions+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lblkid  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11220,32 +12990,31 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char blkid_probe_enable_partitions ();
 int
-main ()
+main (void)
 {
 return blkid_probe_enable_partitions ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_blkid_blkid_probe_enable_partitions=yes
-else
+else $as_nop
   ac_cv_lib_blkid_blkid_probe_enable_partitions=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_probe_enable_partitions" >&5
-$as_echo "$ac_cv_lib_blkid_blkid_probe_enable_partitions" >&6; }
-if test "x$ac_cv_lib_blkid_blkid_probe_enable_partitions" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_probe_enable_partitions" >&5
+printf "%s\n" "$ac_cv_lib_blkid_blkid_probe_enable_partitions" >&6; }
+if test "x$ac_cv_lib_blkid_blkid_probe_enable_partitions" = xyes
+then :
 
-$as_echo "#define HAVE_BLKID_PROBE_ENABLE_PARTITIONS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_BLKID_PROBE_ENABLE_PARTITIONS 1" >>confdefs.h
 
 fi
 
@@ -11253,24 +13022,410 @@
 if test -n "$DLOPEN_LIB" ; then
    ac_cv_func_dlopen=yes
 fi
-for ac_func in  	__secure_getenv 	add_key 	backtrace 	chflags 	dlopen 	fadvise64 	fallocate 	fallocate64 	fchown 	fcntl 	fdatasync 	fstat64 	fsync 	ftruncate64 	futimes 	getcwd 	getdtablesize 	gethostname 	getmntinfo 	getpwuid_r 	getrlimit 	getrusage 	jrand48 	keyctl 	llistxattr 	llseek 	lseek64 	mallinfo 	mbstowcs 	memalign 	mempcpy 	mmap 	msync 	nanosleep 	open64 	pathconf 	posix_fadvise 	posix_fadvise64 	posix_memalign 	prctl 	pread 	pwrite 	pread64 	pwrite64 	secure_getenv 	setmntent 	setresgid 	setresuid 	snprintf 	srandom 	stpcpy 	strcasecmp 	strdup 	strnlen 	strptime 	strtoull 	sync_file_range 	sysconf 	usleep 	utime 	utimes 	valloc
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "__secure_getenv" "ac_cv_func___secure_getenv"
+if test "x$ac_cv_func___secure_getenv" = xyes
+then :
+  printf "%s\n" "#define HAVE___SECURE_GETENV 1" >>confdefs.h
 
 fi
-done
+ac_fn_c_check_func "$LINENO" "add_key" "ac_cv_func_add_key"
+if test "x$ac_cv_func_add_key" = xyes
+then :
+  printf "%s\n" "#define HAVE_ADD_KEY 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "backtrace" "ac_cv_func_backtrace"
+if test "x$ac_cv_func_backtrace" = xyes
+then :
+  printf "%s\n" "#define HAVE_BACKTRACE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "chflags" "ac_cv_func_chflags"
+if test "x$ac_cv_func_chflags" = xyes
+then :
+  printf "%s\n" "#define HAVE_CHFLAGS 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes
+then :
+  printf "%s\n" "#define HAVE_DLOPEN 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fadvise64" "ac_cv_func_fadvise64"
+if test "x$ac_cv_func_fadvise64" = xyes
+then :
+  printf "%s\n" "#define HAVE_FADVISE64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fallocate" "ac_cv_func_fallocate"
+if test "x$ac_cv_func_fallocate" = xyes
+then :
+  printf "%s\n" "#define HAVE_FALLOCATE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fallocate64" "ac_cv_func_fallocate64"
+if test "x$ac_cv_func_fallocate64" = xyes
+then :
+  printf "%s\n" "#define HAVE_FALLOCATE64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fchown" "ac_cv_func_fchown"
+if test "x$ac_cv_func_fchown" = xyes
+then :
+  printf "%s\n" "#define HAVE_FCHOWN 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fcntl" "ac_cv_func_fcntl"
+if test "x$ac_cv_func_fcntl" = xyes
+then :
+  printf "%s\n" "#define HAVE_FCNTL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync"
+if test "x$ac_cv_func_fdatasync" = xyes
+then :
+  printf "%s\n" "#define HAVE_FDATASYNC 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fstat64" "ac_cv_func_fstat64"
+if test "x$ac_cv_func_fstat64" = xyes
+then :
+  printf "%s\n" "#define HAVE_FSTAT64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fsync" "ac_cv_func_fsync"
+if test "x$ac_cv_func_fsync" = xyes
+then :
+  printf "%s\n" "#define HAVE_FSYNC 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "ftruncate64" "ac_cv_func_ftruncate64"
+if test "x$ac_cv_func_ftruncate64" = xyes
+then :
+  printf "%s\n" "#define HAVE_FTRUNCATE64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "futimes" "ac_cv_func_futimes"
+if test "x$ac_cv_func_futimes" = xyes
+then :
+  printf "%s\n" "#define HAVE_FUTIMES 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getcwd" "ac_cv_func_getcwd"
+if test "x$ac_cv_func_getcwd" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETCWD 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getdtablesize" "ac_cv_func_getdtablesize"
+if test "x$ac_cv_func_getdtablesize" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETDTABLESIZE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getentropy" "ac_cv_func_getentropy"
+if test "x$ac_cv_func_getentropy" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETENTROPY 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname"
+if test "x$ac_cv_func_gethostname" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETHOSTNAME 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getmntinfo" "ac_cv_func_getmntinfo"
+if test "x$ac_cv_func_getmntinfo" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETMNTINFO 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getpwuid_r" "ac_cv_func_getpwuid_r"
+if test "x$ac_cv_func_getpwuid_r" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETPWUID_R 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getrandom" "ac_cv_func_getrandom"
+if test "x$ac_cv_func_getrandom" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETRANDOM 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getrlimit" "ac_cv_func_getrlimit"
+if test "x$ac_cv_func_getrlimit" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETRLIMIT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getrusage" "ac_cv_func_getrusage"
+if test "x$ac_cv_func_getrusage" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETRUSAGE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "jrand48" "ac_cv_func_jrand48"
+if test "x$ac_cv_func_jrand48" = xyes
+then :
+  printf "%s\n" "#define HAVE_JRAND48 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "keyctl" "ac_cv_func_keyctl"
+if test "x$ac_cv_func_keyctl" = xyes
+then :
+  printf "%s\n" "#define HAVE_KEYCTL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "llistxattr" "ac_cv_func_llistxattr"
+if test "x$ac_cv_func_llistxattr" = xyes
+then :
+  printf "%s\n" "#define HAVE_LLISTXATTR 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "llseek" "ac_cv_func_llseek"
+if test "x$ac_cv_func_llseek" = xyes
+then :
+  printf "%s\n" "#define HAVE_LLSEEK 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "lseek64" "ac_cv_func_lseek64"
+if test "x$ac_cv_func_lseek64" = xyes
+then :
+  printf "%s\n" "#define HAVE_LSEEK64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "mallinfo" "ac_cv_func_mallinfo"
+if test "x$ac_cv_func_mallinfo" = xyes
+then :
+  printf "%s\n" "#define HAVE_MALLINFO 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "mallinfo2" "ac_cv_func_mallinfo2"
+if test "x$ac_cv_func_mallinfo2" = xyes
+then :
+  printf "%s\n" "#define HAVE_MALLINFO2 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "mbstowcs" "ac_cv_func_mbstowcs"
+if test "x$ac_cv_func_mbstowcs" = xyes
+then :
+  printf "%s\n" "#define HAVE_MBSTOWCS 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "memalign" "ac_cv_func_memalign"
+if test "x$ac_cv_func_memalign" = xyes
+then :
+  printf "%s\n" "#define HAVE_MEMALIGN 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy"
+if test "x$ac_cv_func_mempcpy" = xyes
+then :
+  printf "%s\n" "#define HAVE_MEMPCPY 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes
+then :
+  printf "%s\n" "#define HAVE_MMAP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "msync" "ac_cv_func_msync"
+if test "x$ac_cv_func_msync" = xyes
+then :
+  printf "%s\n" "#define HAVE_MSYNC 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "nanosleep" "ac_cv_func_nanosleep"
+if test "x$ac_cv_func_nanosleep" = xyes
+then :
+  printf "%s\n" "#define HAVE_NANOSLEEP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "open64" "ac_cv_func_open64"
+if test "x$ac_cv_func_open64" = xyes
+then :
+  printf "%s\n" "#define HAVE_OPEN64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "pathconf" "ac_cv_func_pathconf"
+if test "x$ac_cv_func_pathconf" = xyes
+then :
+  printf "%s\n" "#define HAVE_PATHCONF 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "posix_fadvise" "ac_cv_func_posix_fadvise"
+if test "x$ac_cv_func_posix_fadvise" = xyes
+then :
+  printf "%s\n" "#define HAVE_POSIX_FADVISE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "posix_fadvise64" "ac_cv_func_posix_fadvise64"
+if test "x$ac_cv_func_posix_fadvise64" = xyes
+then :
+  printf "%s\n" "#define HAVE_POSIX_FADVISE64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "posix_memalign" "ac_cv_func_posix_memalign"
+if test "x$ac_cv_func_posix_memalign" = xyes
+then :
+  printf "%s\n" "#define HAVE_POSIX_MEMALIGN 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "prctl" "ac_cv_func_prctl"
+if test "x$ac_cv_func_prctl" = xyes
+then :
+  printf "%s\n" "#define HAVE_PRCTL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "pread" "ac_cv_func_pread"
+if test "x$ac_cv_func_pread" = xyes
+then :
+  printf "%s\n" "#define HAVE_PREAD 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "pwrite" "ac_cv_func_pwrite"
+if test "x$ac_cv_func_pwrite" = xyes
+then :
+  printf "%s\n" "#define HAVE_PWRITE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "pread64" "ac_cv_func_pread64"
+if test "x$ac_cv_func_pread64" = xyes
+then :
+  printf "%s\n" "#define HAVE_PREAD64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "pwrite64" "ac_cv_func_pwrite64"
+if test "x$ac_cv_func_pwrite64" = xyes
+then :
+  printf "%s\n" "#define HAVE_PWRITE64 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "qsort_r" "ac_cv_func_qsort_r"
+if test "x$ac_cv_func_qsort_r" = xyes
+then :
+  printf "%s\n" "#define HAVE_QSORT_R 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "secure_getenv" "ac_cv_func_secure_getenv"
+if test "x$ac_cv_func_secure_getenv" = xyes
+then :
+  printf "%s\n" "#define HAVE_SECURE_GETENV 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "setmntent" "ac_cv_func_setmntent"
+if test "x$ac_cv_func_setmntent" = xyes
+then :
+  printf "%s\n" "#define HAVE_SETMNTENT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "setresgid" "ac_cv_func_setresgid"
+if test "x$ac_cv_func_setresgid" = xyes
+then :
+  printf "%s\n" "#define HAVE_SETRESGID 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "setresuid" "ac_cv_func_setresuid"
+if test "x$ac_cv_func_setresuid" = xyes
+then :
+  printf "%s\n" "#define HAVE_SETRESUID 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf"
+if test "x$ac_cv_func_snprintf" = xyes
+then :
+  printf "%s\n" "#define HAVE_SNPRINTF 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "srandom" "ac_cv_func_srandom"
+if test "x$ac_cv_func_srandom" = xyes
+then :
+  printf "%s\n" "#define HAVE_SRANDOM 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "stpcpy" "ac_cv_func_stpcpy"
+if test "x$ac_cv_func_stpcpy" = xyes
+then :
+  printf "%s\n" "#define HAVE_STPCPY 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
+if test "x$ac_cv_func_strcasecmp" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRCASECMP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup"
+if test "x$ac_cv_func_strdup" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRDUP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strnlen" "ac_cv_func_strnlen"
+if test "x$ac_cv_func_strnlen" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRNLEN 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strptime" "ac_cv_func_strptime"
+if test "x$ac_cv_func_strptime" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRPTIME 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strtoull" "ac_cv_func_strtoull"
+if test "x$ac_cv_func_strtoull" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRTOULL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "sync_file_range" "ac_cv_func_sync_file_range"
+if test "x$ac_cv_func_sync_file_range" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYNC_FILE_RANGE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "sysconf" "ac_cv_func_sysconf"
+if test "x$ac_cv_func_sysconf" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYSCONF 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep"
+if test "x$ac_cv_func_usleep" = xyes
+then :
+  printf "%s\n" "#define HAVE_USLEEP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "utime" "ac_cv_func_utime"
+if test "x$ac_cv_func_utime" = xyes
+then :
+  printf "%s\n" "#define HAVE_UTIME 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "utimes" "ac_cv_func_utimes"
+if test "x$ac_cv_func_utimes" = xyes
+then :
+  printf "%s\n" "#define HAVE_UTIMES 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "valloc" "ac_cv_func_valloc"
+if test "x$ac_cv_func_valloc" = xyes
+then :
+  printf "%s\n" "#define HAVE_VALLOC 1" >>confdefs.h
+
+fi
 
 SOCKET_LIB=''
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
-$as_echo_n "checking for socket in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_socket+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
+printf %s "checking for socket in -lsocket... " >&6; }
+if test ${ac_cv_lib_socket_socket+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsocket  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11279,39 +13434,39 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char socket ();
 int
-main ()
+main (void)
 {
 return socket ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_socket_socket=yes
-else
+else $as_nop
   ac_cv_lib_socket_socket=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
-$as_echo "$ac_cv_lib_socket_socket" >&6; }
-if test "x$ac_cv_lib_socket_socket" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
+printf "%s\n" "$ac_cv_lib_socket_socket" >&6; }
+if test "x$ac_cv_lib_socket_socket" = xyes
+then :
   SOCKET_LIB=-lsocket
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for magic_file in -lmagic" >&5
-$as_echo_n "checking for magic_file in -lmagic... " >&6; }
-if ${ac_cv_lib_magic_magic_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for magic_file in -lmagic" >&5
+printf %s "checking for magic_file in -lmagic... " >&6; }
+if test ${ac_cv_lib_magic_magic_file+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lmagic  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11320,54 +13475,49 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char magic_file ();
 int
-main ()
+main (void)
 {
 return magic_file ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_magic_magic_file=yes
-else
+else $as_nop
   ac_cv_lib_magic_magic_file=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_magic_magic_file" >&5
-$as_echo "$ac_cv_lib_magic_magic_file" >&6; }
-if test "x$ac_cv_lib_magic_magic_file" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_magic_magic_file" >&5
+printf "%s\n" "$ac_cv_lib_magic_magic_file" >&6; }
+if test "x$ac_cv_lib_magic_magic_file" = xyes
+then :
   MAGIC_LIB=-lmagic
-for ac_header in magic.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "magic.h" "ac_cv_header_magic_h" "$ac_includes_default"
-if test "x$ac_cv_header_magic_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MAGIC_H 1
-_ACEOF
+ac_fn_c_check_header_compile "$LINENO" "magic.h" "ac_cv_header_magic_h" "$ac_includes_default"
+if test "x$ac_cv_header_magic_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_MAGIC_H 1" >>confdefs.h
 
 fi
 
-done
-
 fi
 
 if test "$ac_cv_func_dlopen" = yes ; then
    MAGIC_LIB=$DLOPEN_LIB
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5
-$as_echo_n "checking for clock_gettime in -lrt... " >&6; }
-if ${ac_cv_lib_rt_clock_gettime+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5
+printf %s "checking for clock_gettime in -lrt... " >&6; }
+if test ${ac_cv_lib_rt_clock_gettime+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lrt  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11376,30 +13526,29 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char clock_gettime ();
 int
-main ()
+main (void)
 {
 return clock_gettime ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_rt_clock_gettime=yes
-else
+else $as_nop
   ac_cv_lib_rt_clock_gettime=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5
-$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; }
-if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5
+printf "%s\n" "$ac_cv_lib_rt_clock_gettime" >&6; }
+if test "x$ac_cv_lib_rt_clock_gettime" = xyes
+then :
   CLOCK_GETTIME_LIB=-lrt
 fi
 
@@ -11407,34 +13556,35 @@
 FUSE_CMT=
 FUSE_LIB=
 # Check whether --enable-fuse2fs was given.
-if test "${enable_fuse2fs+set}" = set; then :
+if test ${enable_fuse2fs+y}
+then :
   enableval=$enable_fuse2fs; if test "$enableval" = "no"
 then
 	FUSE_CMT="#"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling fuse2fs" >&5
-$as_echo "Disabling fuse2fs" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabling fuse2fs" >&5
+printf "%s\n" "Disabling fuse2fs" >&6; }
 else
-	for ac_header in pthread.h fuse.h
+	       for ac_header in pthread.h fuse.h
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+  as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#define _FILE_OFFSET_BITS	64
 #define FUSE_USE_VERSION 29
 "
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"
+then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "Cannot find fuse2fs headers.
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 done
 
-
 	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #define FUSE_USE_VERSION 29
@@ -11445,28 +13595,30 @@
 #endif
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+if ac_fn_c_try_cpp "$LINENO"
+then :
 
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "Cannot find fuse2fs Linux headers.
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.err conftest.i conftest.$ac_ext
 
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fuse_main in -losxfuse" >&5
-$as_echo_n "checking for fuse_main in -losxfuse... " >&6; }
-if ${ac_cv_lib_osxfuse_fuse_main+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fuse_main in -losxfuse" >&5
+printf %s "checking for fuse_main in -losxfuse... " >&6; }
+if test ${ac_cv_lib_osxfuse_fuse_main+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-losxfuse  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11475,37 +13627,37 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char fuse_main ();
 int
-main ()
+main (void)
 {
 return fuse_main ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_osxfuse_fuse_main=yes
-else
+else $as_nop
   ac_cv_lib_osxfuse_fuse_main=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_osxfuse_fuse_main" >&5
-$as_echo "$ac_cv_lib_osxfuse_fuse_main" >&6; }
-if test "x$ac_cv_lib_osxfuse_fuse_main" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_osxfuse_fuse_main" >&5
+printf "%s\n" "$ac_cv_lib_osxfuse_fuse_main" >&6; }
+if test "x$ac_cv_lib_osxfuse_fuse_main" = xyes
+then :
   FUSE_LIB=-losxfuse
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fuse_main in -lfuse" >&5
-$as_echo_n "checking for fuse_main in -lfuse... " >&6; }
-if ${ac_cv_lib_fuse_fuse_main+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fuse_main in -lfuse" >&5
+printf %s "checking for fuse_main in -lfuse... " >&6; }
+if test ${ac_cv_lib_fuse_fuse_main+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lfuse  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11514,48 +13666,47 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char fuse_main ();
 int
-main ()
+main (void)
 {
 return fuse_main ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_fuse_fuse_main=yes
-else
+else $as_nop
   ac_cv_lib_fuse_fuse_main=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fuse_fuse_main" >&5
-$as_echo "$ac_cv_lib_fuse_fuse_main" >&6; }
-if test "x$ac_cv_lib_fuse_fuse_main" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fuse_fuse_main" >&5
+printf "%s\n" "$ac_cv_lib_fuse_fuse_main" >&6; }
+if test "x$ac_cv_lib_fuse_fuse_main" = xyes
+then :
   FUSE_LIB=-lfuse
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "Cannot find fuse library.
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 fi
 
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling fuse2fs" >&5
-$as_echo "Enabling fuse2fs" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling fuse2fs" >&5
+printf "%s\n" "Enabling fuse2fs" >&6; }
 fi
 
-else
-  for ac_header in pthread.h fuse.h
+else $as_nop
+         for ac_header in pthread.h fuse.h
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+  as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#define _FILE_OFFSET_BITS	64
 #define FUSE_USE_VERSION 29
 #ifdef __linux__
@@ -11564,24 +13715,25 @@
 # include <linux/xattr.h>
 #endif
 "
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"
+then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
-else
+else $as_nop
   FUSE_CMT="#"
 fi
 
 done
-
 if test -z "$FUSE_CMT"
 then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fuse_main in -losxfuse" >&5
-$as_echo_n "checking for fuse_main in -losxfuse... " >&6; }
-if ${ac_cv_lib_osxfuse_fuse_main+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fuse_main in -losxfuse" >&5
+printf %s "checking for fuse_main in -losxfuse... " >&6; }
+if test ${ac_cv_lib_osxfuse_fuse_main+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-losxfuse  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11590,37 +13742,37 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char fuse_main ();
 int
-main ()
+main (void)
 {
 return fuse_main ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_osxfuse_fuse_main=yes
-else
+else $as_nop
   ac_cv_lib_osxfuse_fuse_main=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_osxfuse_fuse_main" >&5
-$as_echo "$ac_cv_lib_osxfuse_fuse_main" >&6; }
-if test "x$ac_cv_lib_osxfuse_fuse_main" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_osxfuse_fuse_main" >&5
+printf "%s\n" "$ac_cv_lib_osxfuse_fuse_main" >&6; }
+if test "x$ac_cv_lib_osxfuse_fuse_main" = xyes
+then :
   FUSE_LIB=-losxfuse
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fuse_main in -lfuse" >&5
-$as_echo_n "checking for fuse_main in -lfuse... " >&6; }
-if ${ac_cv_lib_fuse_fuse_main+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fuse_main in -lfuse" >&5
+printf %s "checking for fuse_main in -lfuse... " >&6; }
+if test ${ac_cv_lib_fuse_fuse_main+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lfuse  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11629,32 +13781,31 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char fuse_main ();
 int
-main ()
+main (void)
 {
 return fuse_main ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_fuse_fuse_main=yes
-else
+else $as_nop
   ac_cv_lib_fuse_fuse_main=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fuse_fuse_main" >&5
-$as_echo "$ac_cv_lib_fuse_fuse_main" >&6; }
-if test "x$ac_cv_lib_fuse_fuse_main" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fuse_fuse_main" >&5
+printf "%s\n" "$ac_cv_lib_fuse_fuse_main" >&6; }
+if test "x$ac_cv_lib_fuse_fuse_main" = xyes
+then :
   FUSE_LIB=-lfuse
-else
+else $as_nop
   FUSE_CMT="#"
 fi
 
@@ -11663,38 +13814,40 @@
 fi
 if test -z "$FUSE_CMT"
 then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling fuse2fs by default." >&5
-$as_echo "Enabling fuse2fs by default." >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabling fuse2fs by default." >&5
+printf "%s\n" "Enabling fuse2fs by default." >&6; }
 fi
 
 fi
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for optreset" >&5
-$as_echo_n "checking for optreset... " >&6; }
-if ${ac_cv_have_optreset+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for optreset" >&5
+printf %s "checking for optreset... " >&6; }
+if test ${ac_cv_have_optreset+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <unistd.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "optreset" >/dev/null 2>&1; then :
+  $EGREP "optreset" >/dev/null 2>&1
+then :
   ac_cv_have_optreset=yes
-else
+else $as_nop
   ac_cv_have_optreset=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_optreset" >&5
-$as_echo "$ac_cv_have_optreset" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_optreset" >&5
+printf "%s\n" "$ac_cv_have_optreset" >&6; }
 if test $ac_cv_have_optreset = yes; then
 
-$as_echo "#define HAVE_OPTRESET 1" >>confdefs.h
+printf "%s\n" "#define HAVE_OPTRESET 1" >>confdefs.h
 
 fi
 
@@ -11703,14 +13856,16 @@
 if test "${gl_threads_api}" != none
 then
   ac_fn_c_check_func "$LINENO" "sem_init" "ac_cv_func_sem_init"
-if test "x$ac_cv_func_sem_init" = xyes; then :
+if test "x$ac_cv_func_sem_init" = xyes
+then :
 
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lpthread" >&5
-$as_echo_n "checking for sem_init in -lpthread... " >&6; }
-if ${ac_cv_lib_pthread_sem_init+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lpthread" >&5
+printf %s "checking for sem_init in -lpthread... " >&6; }
+if test ${ac_cv_lib_pthread_sem_init+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthread  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11719,39 +13874,39 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char sem_init ();
 int
-main ()
+main (void)
 {
 return sem_init ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_pthread_sem_init=yes
-else
+else $as_nop
   ac_cv_lib_pthread_sem_init=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_sem_init" >&5
-$as_echo "$ac_cv_lib_pthread_sem_init" >&6; }
-if test "x$ac_cv_lib_pthread_sem_init" = xyes; then :
-  $as_echo "#define HAVE_SEM_INIT 1" >>confdefs.h
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_sem_init" >&5
+printf "%s\n" "$ac_cv_lib_pthread_sem_init" >&6; }
+if test "x$ac_cv_lib_pthread_sem_init" = xyes
+then :
+  printf "%s\n" "#define HAVE_SEM_INIT 1" >>confdefs.h
 
   	SEM_INIT_LIB=-lpthread
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lrt" >&5
-$as_echo_n "checking for sem_init in -lrt... " >&6; }
-if ${ac_cv_lib_rt_sem_init+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lrt" >&5
+printf %s "checking for sem_init in -lrt... " >&6; }
+if test ${ac_cv_lib_rt_sem_init+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lrt  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11760,39 +13915,39 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char sem_init ();
 int
-main ()
+main (void)
 {
 return sem_init ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_rt_sem_init=yes
-else
+else $as_nop
   ac_cv_lib_rt_sem_init=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sem_init" >&5
-$as_echo "$ac_cv_lib_rt_sem_init" >&6; }
-if test "x$ac_cv_lib_rt_sem_init" = xyes; then :
-  $as_echo "#define HAVE_SEM_INIT 1" >>confdefs.h
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sem_init" >&5
+printf "%s\n" "$ac_cv_lib_rt_sem_init" >&6; }
+if test "x$ac_cv_lib_rt_sem_init" = xyes
+then :
+  printf "%s\n" "#define HAVE_SEM_INIT 1" >>confdefs.h
 
   	SEM_INIT_LIB=-lrt
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lposix4" >&5
-$as_echo_n "checking for sem_init in -lposix4... " >&6; }
-if ${ac_cv_lib_posix4_sem_init+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lposix4" >&5
+printf %s "checking for sem_init in -lposix4... " >&6; }
+if test ${ac_cv_lib_posix4_sem_init+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lposix4  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11801,31 +13956,30 @@
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char sem_init ();
 int
-main ()
+main (void)
 {
 return sem_init ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_posix4_sem_init=yes
-else
+else $as_nop
   ac_cv_lib_posix4_sem_init=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sem_init" >&5
-$as_echo "$ac_cv_lib_posix4_sem_init" >&6; }
-if test "x$ac_cv_lib_posix4_sem_init" = xyes; then :
-  $as_echo "#define HAVE_SEM_INIT 1" >>confdefs.h
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sem_init" >&5
+printf "%s\n" "$ac_cv_lib_posix4_sem_init" >&6; }
+if test "x$ac_cv_lib_posix4_sem_init" = xyes
+then :
+  printf "%s\n" "#define HAVE_SEM_INIT 1" >>confdefs.h
 
   	SEM_INIT_LIB=-lposix4
 fi
@@ -11837,127 +13991,218 @@
 fi
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for unified diff option" >&5
-$as_echo_n "checking for unified diff option... " >&6; }
+if test "$ac_cv_func_qsort_r" != no
+then :
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether qsort_r is GNU version" >&5
+printf %s "checking whether qsort_r is GNU version... " >&6; }
+if test ${e2_cv_gnu_qsort_r+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+void (qsort_r)(void *base, size_t nmemb, size_t size,
+	    int (*compar)(const void *, const void *, void *),
+	    void *arg);
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  e2_cv_gnu_qsort_r=yes
+else $as_nop
+  e2_cv_gnu_qsort_r=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $e2_cv_gnu_qsort_r" >&5
+printf "%s\n" "$e2_cv_gnu_qsort_r" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether qsort_r is BSD version" >&5
+printf %s "checking whether qsort_r is BSD version... " >&6; }
+if test ${e2_cv_bsd_qsort_r+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+void (qsort_r)(void *base, size_t nmemb, size_t size,
+	     void *arg, int (*compar)(void *, const void *, const void *));
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  e2_cv_bsd_qsort_r=yes
+else $as_nop
+  e2_cv_bsd_qsort_r=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $e2_cv_bsd_qsort_r" >&5
+printf "%s\n" "$e2_cv_bsd_qsort_r" >&6; }
+  case "$e2_cv_gnu_qsort_r:$e2_cv_bsd_qsort_r" in #(
+  yes:no) :
+
+
+printf "%s\n" "#define HAVE_GNU_QSORT_R 1" >>confdefs.h
+
+   ;; #(
+  no:yes) :
+
+
+printf "%s\n" "#define HAVE_BSD_QSORT_R 1" >>confdefs.h
+
+   ;; #(
+  *) :
+     ;;
+esac
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for unified diff option" >&5
+printf %s "checking for unified diff option... " >&6; }
 if diff -u $0 $0 > /dev/null 2>&1 ; then
    UNI_DIFF_OPTS=-u
 else
    UNI_DIFF_OPTS=-c
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNI_DIFF_OPTS" >&5
-$as_echo "$UNI_DIFF_OPTS" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNI_DIFF_OPTS" >&5
+printf "%s\n" "$UNI_DIFF_OPTS" >&6; }
 
 case "$host_os" in
 linux*)
 
-$as_echo "#define HAVE_EXT2_IOCTLS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_EXT2_IOCTLS 1" >>confdefs.h
 
 	;;
 esac
 
-    $as_echo_n "checking for mount 'nosuid' option... "
+    printf %s "checking for mount 'nosuid' option... "
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/mount.h>
 int
-main ()
+main (void)
 {
 void *temp = (void *)(MS_NOSUID); (void) temp;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-$as_echo "#define HAVE_MOUNT_NOSUID 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MOUNT_NOSUID 1" >>confdefs.h
 
          ac_cv_mount_nosuid=yes
-         $as_echo "yes"
-else
+         printf "%s\n" "yes"
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/mount.h>
 int
-main ()
+main (void)
 {
 void *temp = (void *)(MNT_NOSUID); (void) temp;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-$as_echo "#define HAVE_MOUNT_NOSUID 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MOUNT_NOSUID 1" >>confdefs.h
 
              ac_cv_mount_nosuid=yes
-             $as_echo "yes"
-else
+             printf "%s\n" "yes"
+else $as_nop
   ac_cv_mount_nosuid=no
-             $as_echo "no"
+             printf "%s\n" "no"
 
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
 
-    $as_echo_n "checking for mount 'nodev' option... "
+    printf %s "checking for mount 'nodev' option... "
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/mount.h>
 int
-main ()
+main (void)
 {
 void *temp = (void *)(MS_NODEV); (void) temp;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-$as_echo "#define HAVE_MOUNT_NODEV 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MOUNT_NODEV 1" >>confdefs.h
 
          ac_cv_mount_nodev=yes
-         $as_echo "yes"
-else
+         printf "%s\n" "yes"
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/mount.h>
 int
-main ()
+main (void)
 {
 void *temp = (void *)(MNT_NODEV); (void) temp;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-$as_echo "#define HAVE_MOUNT_NODEV 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MOUNT_NODEV 1" >>confdefs.h
 
              ac_cv_mount_nodev=yes
-             $as_echo "yes"
-else
+             printf "%s\n" "yes"
+else $as_nop
   ac_cv_mount_nodev=no
-             $as_echo "no"
+             printf "%s\n" "no"
 
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 
 # Check whether --enable-lto was given.
-if test "${enable_lto+set}" = set; then :
+if test ${enable_lto+y}
+then :
   enableval=$enable_lto;
-else
+else $as_nop
   enable_lto=no
 fi
 
 if test "$enable_lto" = "yes" || test "$enable_lto" = "probe"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if C compiler supports LTO" >&5
-$as_echo_n "checking if C compiler supports LTO... " >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C compiler supports LTO" >&5
+printf %s "checking if C compiler supports LTO... " >&6; }
 	OLD_CFLAGS="$CFLAGS"
 	OLD_LDFLAGS="$LDFLAGS"
 	LTO_FLAGS="-g -flto -ffat-lto-objects"
@@ -11967,25 +14212,27 @@
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_link "$LINENO"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 		lto_cflags=$LTO_FLAGS
 		lto_ldflags=$LTO_FLAGS
 		# Extract the first word of "gcc-ar", so it can be a program name with args.
 set dummy gcc-ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_gcc_ar+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_gcc_ar+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $gcc_ar in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_gcc_ar="$gcc_ar" # Let the user override the test with a path.
@@ -11995,11 +14242,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_gcc_ar="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_gcc_ar="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -12011,21 +14262,22 @@
 fi
 gcc_ar=$ac_cv_path_gcc_ar
 if test -n "$gcc_ar"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_ar" >&5
-$as_echo "$gcc_ar" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gcc_ar" >&5
+printf "%s\n" "$gcc_ar" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 		# Extract the first word of "gcc-ranlib", so it can be a program name with args.
 set dummy gcc-ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_gcc_ranlib+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_gcc_ranlib+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $gcc_ranlib in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_gcc_ranlib="$gcc_ranlib" # Let the user override the test with a path.
@@ -12035,11 +14287,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_gcc_ranlib="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_gcc_ranlib="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -12051,19 +14307,19 @@
 fi
 gcc_ranlib=$ac_cv_path_gcc_ranlib
 if test -n "$gcc_ranlib"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_ranlib" >&5
-$as_echo "$gcc_ranlib" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gcc_ranlib" >&5
+printf "%s\n" "$gcc_ranlib" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 	if test -x "$gcc_ar" && test -x "$gcc_ranlib"; then
 		have_lto=yes
@@ -12080,15 +14336,16 @@
 	as_fn_error $? "LTO not supported by compiler." "$LINENO" 5
 fi
 # Check whether --enable-ubsan was given.
-if test "${enable_ubsan+set}" = set; then :
+if test ${enable_ubsan+y}
+then :
   enableval=$enable_ubsan;
-else
+else $as_nop
   enable_ubsan=no
 fi
 
 if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if C compiler supports UBSAN" >&5
-$as_echo_n "checking if C compiler supports UBSAN... " >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C compiler supports UBSAN" >&5
+printf %s "checking if C compiler supports UBSAN... " >&6; }
 	OLD_CFLAGS="$CFLAGS"
 	OLD_LDFLAGS="$LDFLAGS"
 	UBSAN_FLAGS="-fsanitize=undefined"
@@ -12098,24 +14355,25 @@
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_link "$LINENO"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 		ubsan_cflags=$UBSAN_FLAGS
 		ubsan_ldflags=$UBSAN_FLAGS
 		have_ubsan=yes
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 	CFLAGS="${OLD_CFLAGS}"
 	LDFLAGS="${OLD_LDFLAGS}"
@@ -12127,15 +14385,16 @@
 	as_fn_error $? "UBSAN not supported by compiler." "$LINENO" 5
 fi
 # Check whether --enable-addrsan was given.
-if test "${enable_addrsan+set}" = set; then :
+if test ${enable_addrsan+y}
+then :
   enableval=$enable_addrsan;
-else
+else $as_nop
   enable_addrsan=no
 fi
 
 if test "$enable_addrsan" = "yes" || test "$enable_addrsan" = "probe"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if C compiler supports ADDRSAN" >&5
-$as_echo_n "checking if C compiler supports ADDRSAN... " >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C compiler supports ADDRSAN" >&5
+printf %s "checking if C compiler supports ADDRSAN... " >&6; }
 	OLD_CFLAGS="$CFLAGS"
 	OLD_LDFLAGS="$LDFLAGS"
 	ADDRSAN_FLAGS="-fsanitize=address"
@@ -12145,24 +14404,25 @@
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_link "$LINENO"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 		addrsan_cflags=$ADDRSAN_FLAGS
 		addrsan_ldflags=$ADDRSAN_FLAGS
 		have_addrsan=yes
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 	CFLAGS="${OLD_CFLAGS}"
 	LDFLAGS="${OLD_LDFLAGS}"
@@ -12174,15 +14434,16 @@
 	as_fn_error $? "ADDRSAN not supported by compiler." "$LINENO" 5
 fi
 # Check whether --enable-threadsan was given.
-if test "${enable_threadsan+set}" = set; then :
+if test ${enable_threadsan+y}
+then :
   enableval=$enable_threadsan;
-else
+else $as_nop
   enable_threadsan=no
 fi
 
 if test "$enable_threadsan" = "yes" || test "$enable_threadsan" = "probe"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if C compiler supports THREADSAN" >&5
-$as_echo_n "checking if C compiler supports THREADSAN... " >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C compiler supports THREADSAN" >&5
+printf %s "checking if C compiler supports THREADSAN... " >&6; }
 	OLD_CFLAGS="$CFLAGS"
 	OLD_LDFLAGS="$LDFLAGS"
 	THREADSAN_FLAGS="-fsanitize=thread"
@@ -12192,24 +14453,25 @@
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if ac_fn_c_try_link "$LINENO"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 		threadsan_cflags=$THREADSAN_FLAGS
 		threadsan_ldflags=$THREADSAN_FLAGS
 		have_threadsan=yes
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 	CFLAGS="${OLD_CFLAGS}"
 	LDFLAGS="${OLD_LDFLAGS}"
@@ -12221,9 +14483,452 @@
 	as_fn_error $? "THREADSAN not supported by compiler." "$LINENO" 5
 fi
 if test "$have_threadsan" = "yes" && test "$have_addrsan" = "yes"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ADDRSAN and THREADSAN are not known to work together." >&5
-$as_echo "$as_me: WARNING: ADDRSAN and THREADSAN are not known to work together." >&2;}
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ADDRSAN and THREADSAN are not known to work together." >&5
+printf "%s\n" "$as_me: WARNING: ADDRSAN and THREADSAN are not known to work together." >&2;}
 fi
+FUZZING_CMT="#"
+# Check whether --enable-fuzzing was given.
+if test ${enable_fuzzing+y}
+then :
+  enableval=$enable_fuzzing;
+else $as_nop
+  enable_fuzzing=no
+fi
+
+if test "$enable_fuzzing" = "yes" || test "$enable_fuzzing" = "probe"; then
+
+
+
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CXX+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+printf "%s\n" "$CXX" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CXX+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+printf "%s\n" "$ac_ct_CXX" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
+fi
+
+  fi
+fi
+# Provide some information about the compiler.
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5
+printf %s "checking whether the compiler supports GNU C++... " >&6; }
+if test ${ac_cv_cxx_compiler_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+  ac_compiler_gnu=yes
+else $as_nop
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
+else
+  GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+y}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+printf %s "checking whether $CXX accepts -g... " >&6; }
+if test ${ac_cv_prog_cxx_g+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+  ac_cv_prog_cxx_g=yes
+else $as_nop
+  CXXFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+
+else $as_nop
+  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+  ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+printf "%s\n" "$ac_cv_prog_cxx_g" >&6; }
+if test $ac_test_CXXFLAGS; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_prog_cxx_stdcxx=no
+if test x$ac_prog_cxx_stdcxx = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
+printf %s "checking for $CXX option to enable C++11 features... " >&6; }
+if test ${ac_cv_prog_cxx_cxx11+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cxx_cxx11=no
+ac_save_CXX=$CXX
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_cxx_conftest_cxx11_program
+_ACEOF
+for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA
+do
+  CXX="$ac_save_CXX $ac_arg"
+  if ac_fn_cxx_try_compile "$LINENO"
+then :
+  ac_cv_prog_cxx_cxx11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cxx_cxx11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CXX=$ac_save_CXX
+fi
+
+if test "x$ac_cv_prog_cxx_cxx11" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cxx_cxx11" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5
+printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; }
+     CXX="$CXX $ac_cv_prog_cxx_cxx11"
+fi
+  ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
+  ac_prog_cxx_stdcxx=cxx11
+fi
+fi
+if test x$ac_prog_cxx_stdcxx = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
+printf %s "checking for $CXX option to enable C++98 features... " >&6; }
+if test ${ac_cv_prog_cxx_cxx98+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cxx_cxx98=no
+ac_save_CXX=$CXX
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_cxx_conftest_cxx98_program
+_ACEOF
+for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA
+do
+  CXX="$ac_save_CXX $ac_arg"
+  if ac_fn_cxx_try_compile "$LINENO"
+then :
+  ac_cv_prog_cxx_cxx98=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cxx_cxx98" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CXX=$ac_save_CXX
+fi
+
+if test "x$ac_cv_prog_cxx_cxx98" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cxx_cxx98" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5
+printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; }
+     CXX="$CXX $ac_cv_prog_cxx_cxx98"
+fi
+  ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98
+  ac_prog_cxx_stdcxx=cxx98
+fi
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C compiler supports fuzzing sanitizer" >&5
+printf %s "checking if C compiler supports fuzzing sanitizer... " >&6; }
+	ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+	OLD_CXXFLAGS="$CXXFLAGS"
+	OLD_LDFLAGS="$LDFLAGS"
+	FUZZER_FLAGS="-fsanitize=fuzzer"
+	CXXFLAGS="$CXXFLAGS $FUZZER_FLAGS"
+	LDFLAGS="$LDFLAGS $FUZZER_FLAGS"
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+		#include <stddef.h>
+		#include <stdint.h>
+
+int
+main (void)
+{
+ return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+		fuzzer_cflags=$FUZZER_FLAGS
+		fuzzer_ldflags=$FUZZER_FLAGS
+		FUZZING_CMT=
+		have_fuzzer=yes
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+		as_fn_error $? "fuzzing requested but not available" "$LINENO" 5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+	CXXFLAGS="${OLD_CXXFLAGS}"
+	LDFLAGS="${OLD_LDFLAGS}"
+	ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+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="#"
 UNIX_CMT=
@@ -12245,8 +14950,8 @@
 linux* | gnu* | k*bsd*-gnu)
 	if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
 		root_prefix="";
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: On $host_os systems, root_prefix defaults to ''" >&5
-$as_echo "On $host_os systems, root_prefix defaults to ''" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: On $host_os systems, root_prefix defaults to ''" >&5
+printf "%s\n" "On $host_os systems, root_prefix defaults to ''" >&6; }
 	fi
 	;;
 esac
@@ -12254,11 +14959,11 @@
 linux* | gnu* | k*bsd*-gnu)
 	if test "$prefix" = NONE ; then
 		prefix="/usr";
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: On $host_os systems, prefix defaults to /usr" >&5
-$as_echo "On $host_os systems, prefix defaults to /usr" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: On $host_os systems, prefix defaults to /usr" >&5
+printf "%s\n" "On $host_os systems, prefix defaults to /usr" >&6; }
 		if test "$mandir" = '${prefix}/man' ; then
-			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ...and mandir defaults to /usr/share/man" >&5
-$as_echo "...and mandir defaults to /usr/share/man" >&6; }
+			{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ...and mandir defaults to /usr/share/man" >&5
+printf "%s\n" "...and mandir defaults to /usr/share/man" >&6; }
 			mandir=/usr/share/man
 		fi
 	fi
@@ -12282,23 +14987,23 @@
 fi
 if test "$bindir" != '${exec_prefix}/bin'; then
     root_bindir=$bindir
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting root_bindir to $root_bindir" >&5
-$as_echo "Setting root_bindir to $root_bindir" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Setting root_bindir to $root_bindir" >&5
+printf "%s\n" "Setting root_bindir to $root_bindir" >&6; }
 fi
 if test "$sbindir" != '${exec_prefix}/sbin'; then
     root_sbindir=$sbindir
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting root_sbindir to $root_sbindir" >&5
-$as_echo "Setting root_sbindir to $root_sbindir" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Setting root_sbindir to $root_sbindir" >&5
+printf "%s\n" "Setting root_sbindir to $root_sbindir" >&6; }
 fi
 if test "$libdir" != '${exec_prefix}/lib'; then
     root_libdir=$libdir
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting root_libdir to $root_libdir" >&5
-$as_echo "Setting root_libdir to $root_libdir" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Setting root_libdir to $root_libdir" >&5
+printf "%s\n" "Setting root_libdir to $root_libdir" >&6; }
 fi
 if test "$sysconfdir" != '${prefix}/etc'; then
     root_sysconfdir=$sysconfdir
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting root_sysconfdir to $root_sysconfdir" >&5
-$as_echo "Setting root_sysconfdir to $root_sysconfdir" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Setting root_sysconfdir to $root_sysconfdir" >&5
+printf "%s\n" "Setting root_sysconfdir to $root_sysconfdir" >&6; }
 fi
 
 
@@ -12307,7 +15012,8 @@
 
 
 # Check whether --with-multiarch was given.
-if test "${with_multiarch+set}" = set; then :
+if test ${with_multiarch+y}
+then :
   withval=$with_multiarch; if test "$withval" = "lib64"; then
     libdir=/usr/lib64
     root_libdir=/lib64
@@ -12318,29 +15024,31 @@
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can link with -static" >&5
-$as_echo_n "checking whether we can link with -static... " >&6; }
-if ${ac_cv_e2fsprogs_use_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we can link with -static" >&5
+printf %s "checking whether we can link with -static... " >&6; }
+if test ${ac_cv_e2fsprogs_use_static+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS_STATIC -static"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdio.h>
 int
-main ()
+main (void)
 {
 fflush(stdout);
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_e2fsprogs_use_static=yes
-else
+else $as_nop
   ac_cv_e2fsprogs_use_static=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LDFLAGS=$SAVE_LDFLAGS
 fi
@@ -12350,18 +15058,18 @@
 	ac_cv_e2fsprogs_use_static=no
 ;;
 esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_e2fsprogs_use_static" >&5
-$as_echo "$ac_cv_e2fsprogs_use_static" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_e2fsprogs_use_static" >&5
+printf "%s\n" "$ac_cv_e2fsprogs_use_static" >&6; }
 if test $ac_cv_e2fsprogs_use_static = yes; then
 	LDFLAGS_STATIC="$LDFLAGS_STATIC -static"
 fi
 
 case "$host_os" in
 darwin*)
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Using Apple Darwin / GNU libintl workaround" >&5
-$as_echo "Using Apple Darwin / GNU libintl workaround" >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using Apple Darwin / GNU libintl workaround" >&5
+printf "%s\n" "Using Apple Darwin / GNU libintl workaround" >&6; }
 
-$as_echo "#define _INTL_REDIRECT_MACROS 1" >>confdefs.h
+printf "%s\n" "#define _INTL_REDIRECT_MACROS 1" >>confdefs.h
 
 	;;
 esac
@@ -12381,6 +15089,11 @@
 if test -n "$WITH_DIET_LIBC" ; then
 	INCLUDES="$INCLUDES -D_REENTRANT"
 fi
+case "$host_os" in
+mingw*)
+	INCLUDES=$INCLUDES' -I$(top_srcdir)/include/mingw'
+	;;
+esac
 
 if test $cross_compiling = no; then
    BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H"
@@ -12397,29 +15110,32 @@
 
 
 # Check whether --with-udev_rules_dir was given.
-if test "${with_udev_rules_dir+set}" = set; then :
+if test ${with_udev_rules_dir+y}
+then :
   withval=$with_udev_rules_dir;
-else
+else $as_nop
   with_udev_rules_dir=yes
 fi
 
-if test "x${with_udev_rules_dir}" != "xno"; then :
+if test "x${with_udev_rules_dir}" != "xno"
+then :
 
-	if test "x${with_udev_rules_dir}" = "xyes"; then :
+	if test "x${with_udev_rules_dir}" = "xyes"
+then :
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for udev" >&5
-$as_echo_n "checking for udev... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for udev" >&5
+printf %s "checking for udev... " >&6; }
 
 if test -n "$udev_CFLAGS"; then
     pkg_cv_udev_CFLAGS="$udev_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"udev\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"udev\""; } >&5
   ($PKG_CONFIG --exists --print-errors "udev") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_udev_CFLAGS=`$PKG_CONFIG --cflags "udev" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -12433,10 +15149,10 @@
     pkg_cv_udev_LIBS="$udev_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"udev\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"udev\""; } >&5
   ($PKG_CONFIG --exists --print-errors "udev") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_udev_LIBS=`$PKG_CONFIG --libs "udev" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -12450,8 +15166,8 @@
 
 
 if test $pkg_failed = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -12459,51 +15175,52 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        udev_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "udev" 2>&1`
+                udev_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "udev" 2>&1`
         else
-	        udev_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "udev" 2>&1`
+                udev_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "udev" 2>&1`
         fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$udev_PKG_ERRORS" >&5
+        # Put the nasty error message in config.log where it belongs
+        echo "$udev_PKG_ERRORS" >&5
 
 
 			with_udev_rules_dir=""
 
 elif test $pkg_failed = untried; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 			with_udev_rules_dir=""
 
 else
-	udev_CFLAGS=$pkg_cv_udev_CFLAGS
-	udev_LIBS=$pkg_cv_udev_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        udev_CFLAGS=$pkg_cv_udev_CFLAGS
+        udev_LIBS=$pkg_cv_udev_LIBS
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 
 			with_udev_rules_dir="$($PKG_CONFIG --variable=udevdir udev)/rules.d"
 
 fi
 
 fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for udev rules dir" >&5
-$as_echo_n "checking for udev rules dir... " >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for udev rules dir" >&5
+printf %s "checking for udev rules dir... " >&6; }
 	pkg_udev_rules_dir="${with_udev_rules_dir}"
-	if test -n "${pkg_udev_rules_dir}"; then :
+	if test -n "${pkg_udev_rules_dir}"
+then :
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${pkg_udev_rules_dir}" >&5
-$as_echo "${pkg_udev_rules_dir}" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${pkg_udev_rules_dir}" >&5
+printf "%s\n" "${pkg_udev_rules_dir}" >&6; }
 		have_udev="yes"
 
-else
+else $as_nop
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 		have_udev="no"
 
 fi
 
-else
+else $as_nop
 
 	have_udev="disabled"
 
@@ -12513,41 +15230,46 @@
 
 
 # Check whether --with-crond_dir was given.
-if test "${with_crond_dir+set}" = set; then :
+if test ${with_crond_dir+y}
+then :
   withval=$with_crond_dir;
-else
+else $as_nop
   with_crond_dir=yes
 fi
 
-if test "x${with_crond_dir}" != "xno"; then :
+if test "x${with_crond_dir}" != "xno"
+then :
 
-	if test "x${with_crond_dir}" = "xyes"; then :
+	if test "x${with_crond_dir}" = "xyes"
+then :
 
-		if test -d "/etc/cron.d"; then :
+		if test -d "/etc/cron.d"
+then :
   with_crond_dir="/etc/cron.d"
-else
+else $as_nop
   have_crond="no"; with_crond_dir=""
 fi
 
 fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for system crontab dir" >&5
-$as_echo_n "checking for system crontab dir... " >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for system crontab dir" >&5
+printf %s "checking for system crontab dir... " >&6; }
 	crond_dir="${with_crond_dir}"
-	if test -n "${crond_dir}"; then :
+	if test -n "${crond_dir}"
+then :
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${crond_dir}" >&5
-$as_echo "${crond_dir}" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${crond_dir}" >&5
+printf "%s\n" "${crond_dir}" >&6; }
 		have_crond="yes"
 
-else
+else $as_nop
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 		have_crond="no"
 
 fi
 
-else
+else $as_nop
 
 	have_crond="disabled"
 
@@ -12557,29 +15279,32 @@
 
 
 # Check whether --with-systemd_unit_dir was given.
-if test "${with_systemd_unit_dir+set}" = set; then :
+if test ${with_systemd_unit_dir+y}
+then :
   withval=$with_systemd_unit_dir;
-else
+else $as_nop
   with_systemd_unit_dir=yes
 fi
 
-if test "x${with_systemd_unit_dir}" != "xno"; then :
+if test "x${with_systemd_unit_dir}" != "xno"
+then :
 
-	if test "x${with_systemd_unit_dir}" = "xyes"; then :
+	if test "x${with_systemd_unit_dir}" = "xyes"
+then :
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemd" >&5
-$as_echo_n "checking for systemd... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for systemd" >&5
+printf %s "checking for systemd... " >&6; }
 
 if test -n "$systemd_CFLAGS"; then
     pkg_cv_systemd_CFLAGS="$systemd_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"systemd\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"systemd\""; } >&5
   ($PKG_CONFIG --exists --print-errors "systemd") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_systemd_CFLAGS=`$PKG_CONFIG --cflags "systemd" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -12593,10 +15318,10 @@
     pkg_cv_systemd_LIBS="$systemd_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"systemd\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"systemd\""; } >&5
   ($PKG_CONFIG --exists --print-errors "systemd") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_systemd_LIBS=`$PKG_CONFIG --libs "systemd" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -12610,8 +15335,8 @@
 
 
 if test $pkg_failed = yes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -12619,27 +15344,27 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        systemd_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "systemd" 2>&1`
+                systemd_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "systemd" 2>&1`
         else
-	        systemd_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "systemd" 2>&1`
+                systemd_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "systemd" 2>&1`
         fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$systemd_PKG_ERRORS" >&5
+        # Put the nasty error message in config.log where it belongs
+        echo "$systemd_PKG_ERRORS" >&5
 
 
 			with_systemd_unit_dir=""
 
 elif test $pkg_failed = untried; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 			with_systemd_unit_dir=""
 
 else
-	systemd_CFLAGS=$pkg_cv_systemd_CFLAGS
-	systemd_LIBS=$pkg_cv_systemd_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        systemd_CFLAGS=$pkg_cv_systemd_CFLAGS
+        systemd_LIBS=$pkg_cv_systemd_LIBS
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 
 			with_systemd_unit_dir="$($PKG_CONFIG --variable=systemdsystemunitdir systemd)"
 
@@ -12647,30 +15372,246 @@
 
 
 fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemd system unit dir" >&5
-$as_echo_n "checking for systemd system unit dir... " >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for systemd system unit dir" >&5
+printf %s "checking for systemd system unit dir... " >&6; }
 	systemd_system_unit_dir="${with_systemd_unit_dir}"
-	if test -n "${systemd_system_unit_dir}"; then :
+	if test -n "${systemd_system_unit_dir}"
+then :
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${systemd_system_unit_dir}" >&5
-$as_echo "${systemd_system_unit_dir}" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${systemd_system_unit_dir}" >&5
+printf "%s\n" "${systemd_system_unit_dir}" >&6; }
 		have_systemd="yes"
 
-else
+else $as_nop
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 		have_systemd="no"
 
 fi
 
-else
+else $as_nop
 
 	have_systemd="disabled"
 
 fi
 
 
+OS_IO_FILE=""
+case "$host_os" in
+  mingw*)
+    OS_IO_FILE=windows_io
+  ;;
+  *)
+    OS_IO_FILE=unix_io
+  ;;
+esac
+
+
+# Check whether --enable-largefile was given.
+if test ${enable_largefile+y}
+then :
+  enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+printf %s "checking for special C compiler options needed for large files... " >&6; }
+if test ${ac_cv_sys_largefile_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+	 # IRIX 6.2 and later do not support large files by default,
+	 # so use the C compiler's -n32 option if that helps.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+	 if ac_fn_c_try_compile "$LINENO"
+then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+	 CC="$CC -n32"
+	 if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+	 break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test ${ac_cv_sys_file_offset_bits+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+  ac_cv_sys_file_offset_bits=unknown
+  break
+done
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+  no | unknown) ;;
+  *)
+printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h
+;;
+esac
+rm -rf conftest*
+  if test $ac_cv_sys_file_offset_bits = unknown; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test ${ac_cv_sys_large_files+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+  ac_cv_sys_large_files=unknown
+  break
+done
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+printf "%s\n" "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+  no | unknown) ;;
+  *)
+printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h
+;;
+esac
+rm -rf conftest*
+  fi
+fi
+
 
 test -d lib || mkdir lib
 test -d include || mkdir include
@@ -12692,7 +15633,8 @@
 	lib/ss/ss.pc lib/et/com_err.pc lib/e2p/e2p.pc lib/ext2fs/ext2fs.pc \
 	misc/Makefile ext2ed/Makefile e2fsck/Makefile \
 	debugfs/Makefile tests/Makefile tests/progs/Makefile \
-	resize/Makefile doc/Makefile po/Makefile.in scrub/Makefile; do
+	tests/fuzz/Makefile resize/Makefile doc/Makefile \
+	po/Makefile.in scrub/Makefile; do
 	if test -d `dirname ${srcdir}/$i` ; then
 		outlist="$outlist $i"
 	fi
@@ -12726,8 +15668,8 @@
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -12757,15 +15699,15 @@
      /^ac_cv_env_/b end
      t clear
      :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
      t end
      s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
       if test ! -f "$cache_file" || test -h "$cache_file"; then
 	cat confcache >"$cache_file"
       else
@@ -12779,8 +15721,8 @@
       fi
     fi
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -12797,7 +15739,7 @@
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
   as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -12814,8 +15756,8 @@
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
 as_write_fail=0
 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
@@ -12838,14 +15780,16 @@
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
-else
+else $as_nop
   case `(set -o) 2>/dev/null` in #(
   *posix*) :
     set -o posix ;; #(
@@ -12855,46 +15799,46 @@
 fi
 
 
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
 as_nl='
 '
 export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" ""	$as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
 
 # The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -12903,13 +15847,6 @@
 fi
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
 # Find who we are.  Look in the path if we contain no directory separator.
 as_myself=
 case $0 in #((
@@ -12918,8 +15855,12 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -12931,30 +15872,10 @@
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
 # as_fn_error STATUS ERROR [LINENO LOG_FD]
@@ -12967,13 +15888,14 @@
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
 
+
 # as_fn_set_status STATUS
 # -----------------------
 # Set $? to STATUS, without forking.
@@ -13000,18 +15922,20 @@
   { eval $1=; unset $1;}
 }
 as_unset=as_fn_unset
+
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
 # advantage of any shell optimizations that allow amortized linear growth over
 # repeated appends, instead of the typical quadratic growth present in naive
 # implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
   eval 'as_fn_append ()
   {
     eval $1+=\$2
   }'
-else
+else $as_nop
   as_fn_append ()
   {
     eval $1=\$$1\$2
@@ -13023,12 +15947,13 @@
 # Perform arithmetic evaluation on the ARGs, and store the result in the
 # global $as_val. Take advantage of shells that can avoid forks. The arguments
 # must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
   eval 'as_fn_arith ()
   {
     as_val=$(( $* ))
   }'
-else
+else $as_nop
   as_fn_arith ()
   {
     as_val=`expr "$@" || test $? -eq 1`
@@ -13059,7 +15984,7 @@
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
 	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
 	    s//\1/
 	    q
@@ -13081,6 +16006,10 @@
 as_cr_digits='0123456789'
 as_cr_alnum=$as_cr_Letters$as_cr_digits
 
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
 ECHO_C= ECHO_N= ECHO_T=
 case `echo -n x` in #(((((
 -n*)
@@ -13094,6 +16023,12 @@
   ECHO_N='-n';;
 esac
 
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n.  New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
@@ -13135,7 +16070,7 @@
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -13144,7 +16079,7 @@
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
 	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -13207,7 +16142,7 @@
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
+generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -13269,14 +16204,16 @@
 Report bugs to the package provider."
 
 _ACEOF
+ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
+ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.69,
+configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -13316,15 +16253,15 @@
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
+    printf "%s\n" "$ac_cs_version"; exit ;;
   --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
+    printf "%s\n" "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
@@ -13332,7 +16269,7 @@
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -13341,7 +16278,7 @@
     as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
+    printf "%s\n" "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
@@ -13369,7 +16306,7 @@
 if \$ac_cs_recheck; then
   set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
   export CONFIG_SHELL
   exec "\$@"
@@ -13383,7 +16320,7 @@
   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
 ## Running $as_me. ##
 _ASBOX
-  $as_echo "$ac_log"
+  printf "%s\n" "$ac_log"
 } >&5
 
 _ACEOF
@@ -13420,9 +16357,9 @@
 # We use the long form for the default assignment because of an extremely
 # bizarre bug on SunOS 4.1.3.
 if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+  test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
+  test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
+  test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
@@ -13792,7 +16729,7 @@
 	   esac ||
 	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
     done
 
@@ -13800,17 +16737,17 @@
     # use $as_me), people would be surprised to read:
     #    /* config.h.  Generated by config.status.  */
     configure_input='Generated from '`
-	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	  printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
 	`' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+printf "%s\n" "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
     case $configure_input in #(
     *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
+       ac_sed_conf_input=`printf "%s\n" "$configure_input" |
        sed 's/[\\\\&|]/\\\\&/g'`;; #(
     *) ac_sed_conf_input=$configure_input;;
     esac
@@ -13827,7 +16764,7 @@
 	 X"$ac_file" : 'X\(//\)[^/]' \| \
 	 X"$ac_file" : 'X\(//\)$' \| \
 	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
+printf "%s\n" X"$ac_file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -13851,9 +16788,9 @@
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -13915,8 +16852,8 @@
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
@@ -13965,9 +16902,9 @@
   { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
       "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&2;}
 
   rm -f "$ac_tmp/stdin"
@@ -13983,27 +16920,27 @@
   #
   if test x"$ac_file" != x-; then
     {
-      $as_echo "/* $configure_input  */" \
+      printf "%s\n" "/* $configure_input  */" >&1 \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
     } >"$ac_tmp/config.h" \
       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
       mv "$ac_tmp/config.h" "$ac_file" \
 	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
-    $as_echo "/* $configure_input  */" \
+    printf "%s\n" "/* $configure_input  */" >&1 \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
       || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
+  :C)  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 
@@ -14154,8 +17091,9 @@
   $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
 if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi
+
diff --git a/configure.ac b/configure.ac
index 4c4b552..017a96f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,10 @@
-AC_INIT(version.h)
-AC_PREREQ(2.69)
+AC_INIT
+AC_CONFIG_SRCDIR([version.h])
+AC_PREREQ([2.71])
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_HEADERS([lib/config.h])
 AH_BOTTOM([#include <dirpaths.h>])
+AC_USE_SYSTEM_EXTENSIONS
 MCONFIG=./MCONFIG
 AC_SUBST_FILE(MCONFIG)
 BINARY_TYPE=bin
@@ -123,7 +125,6 @@
 else
     AC_MSG_RESULT([[(none)]])
 fi
-AC_USE_SYSTEM_EXTENSIONS
 dnl
 dnl Set default values for library extensions.  Will be dealt with after
 dnl parsing configuration options, which may modify these
@@ -844,23 +845,39 @@
 AH_TEMPLATE([CONFIG_TDB], [Define to 1 to enable tdb support])
 AC_ARG_ENABLE([tdb],
 AS_HELP_STRING([--disable-tdb],[disable tdb support]),
+[
 if test "$enableval" = "no"
 then
 	AC_MSG_RESULT([Disabling tdb support])
-	TDB_CMT="#"
-	TDB_MAN_COMMENT='.\"'
+	CONFIG_TDB=0
 else
 	AC_MSG_RESULT([Enabling tdb support])
+	CONFIG_TDB=1
+fi
+]
+,
+[
+case "$host_os" in
+mingw*)
+	AC_MSG_RESULT([Disabling tdb support by default])
+	CONFIG_TDB=0
+	;;
+*)
+	AC_MSG_RESULT([Enabling tdb support by default])
+	CONFIG_TDB=1
+	;;
+esac
+]
+)
+if test "$CONFIG_TDB" = "1"
+then
 	AC_DEFINE(CONFIG_TDB, 1)
 	TDB_CMT=""
 	TDB_MAN_COMMENT=""
+else
+	TDB_CMT="#"
+	TDB_MAN_COMMENT='.\"'
 fi
-,
-AC_MSG_RESULT([Enabling mmp support by default])
-AC_DEFINE(CONFIG_TDB, 1)
-TDB_CMT=""
-TDB_MAN_COMMENT=""
-)
 AC_SUBST(TDB_CMT)
 AC_SUBST(TDB_MAN_COMMENT)
 dnl
@@ -1005,6 +1022,7 @@
 	sys/mman.h
 	sys/mount.h
 	sys/prctl.h
+	sys/random.h
 	sys/resource.h
 	sys/select.h
 	sys/socket.h
@@ -1018,6 +1036,17 @@
 	sys/wait.h
 	sys/xattr.h
 ]))
+case "$host_os" in
+mingw*)
+	# The above checks only detect system headers, not the headers in
+	# ./include/mingw/, so explicitly define them to be available.
+	AC_DEFINE(HAVE_LINUX_TYPES_H, 1)
+	AC_DEFINE(HAVE_SYS_STAT_H, 1)
+	AC_DEFINE(HAVE_SYS_SYSMACROS_H, 1)
+	AC_DEFINE(HAVE_SYS_TYPES_H, 1)
+	AC_DEFINE(HAVE_UNISTD_H, 1)
+	;;
+esac
 dnl Check where to find a dd(1) that supports iflag=fullblock
 dnl and oflag=append
 AC_MSG_CHECKING([for a dd(1) program that supports iflag=fullblock])
@@ -1137,18 +1166,12 @@
 dnl
 AC_MSG_CHECKING(whether struct stat has a st_flags field)
 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
-	AC_TRY_COMPILE([#include <sys/stat.h>],
-		[struct stat stat; stat.st_flags = 0;],
-		[e2fsprogs_cv_struct_st_flags=yes],
-		[e2fsprogs_cv_struct_st_flags=no]))
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[struct stat stat; stat.st_flags = 0;]])],[e2fsprogs_cv_struct_st_flags=yes],[e2fsprogs_cv_struct_st_flags=no]))
 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
 if test "$e2fsprogs_cv_struct_st_flags" = yes; then
   AC_MSG_CHECKING(whether st_flags field is useful)
   AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
-	AC_TRY_COMPILE([#include <sys/stat.h>],
-		[struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
-		[e2fsprogs_cv_struct_st_flags_immut=yes],
-		[e2fsprogs_cv_struct_st_flags_immut=no]))
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[struct stat stat; stat.st_flags |= UF_IMMUTABLE;]])],[e2fsprogs_cv_struct_st_flags_immut=yes],[e2fsprogs_cv_struct_st_flags_immut=no]))
   AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
   if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
 	  AC_DEFINE(HAVE_STAT_FLAGS, 1,
@@ -1200,9 +1223,11 @@
 	futimes
 	getcwd
 	getdtablesize
+	getentropy
 	gethostname
 	getmntinfo
 	getpwuid_r
+	getrandom
 	getrlimit
 	getrusage
 	jrand48
@@ -1211,6 +1236,7 @@
 	llseek
 	lseek64
 	mallinfo
+	mallinfo2
 	mbstowcs
 	memalign
 	mempcpy
@@ -1227,6 +1253,7 @@
 	pwrite
 	pread64
 	pwrite64
+	qsort_r
 	secure_getenv
 	setmntent
 	setresgid
@@ -1352,6 +1379,33 @@
 fi
 AC_SUBST(SEM_INIT_LIB)
 dnl
+dnl qsort_r detection
+dnl
+AS_IF([test "$ac_cv_func_qsort_r" != no], [
+  AC_CACHE_CHECK(whether qsort_r is GNU version, e2_cv_gnu_qsort_r,
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+@%:@include <stdlib.h>
+void (qsort_r)(void *base, size_t nmemb, size_t size,
+	    int (*compar)(const void *, const void *, void *),
+	    void *arg);
+]], [[ ]])],[e2_cv_gnu_qsort_r=yes],[e2_cv_gnu_qsort_r=no])
+  ])
+  AC_CACHE_CHECK(whether qsort_r is BSD version, e2_cv_bsd_qsort_r,
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+@%:@include <stdlib.h>
+void (qsort_r)(void *base, size_t nmemb, size_t size,
+	     void *arg, int (*compar)(void *, const void *, const void *));
+]], [[ ]])],[e2_cv_bsd_qsort_r=yes],[e2_cv_bsd_qsort_r=no])
+  ])
+  AS_CASE("$e2_cv_gnu_qsort_r:$e2_cv_bsd_qsort_r",
+  [yes:no], [
+    AC_DEFINE(HAVE_GNU_QSORT_R, 1, [ Define to 1 if you have the GNU-style 'qsort_r' function.])
+  ],
+  [no:yes], [
+    AC_DEFINE(HAVE_BSD_QSORT_R, 1, [ Define to 1 if you have the BSD-style 'qsort_r' function.])
+  ])
+])
+dnl
 dnl Check for unified diff
 dnl
 AC_MSG_CHECKING(for unified diff option)
@@ -1496,6 +1550,45 @@
 	AC_MSG_WARN([ADDRSAN and THREADSAN are not known to work together.])
 fi
 dnl
+dnl Enable the fuzzer sanitizer for all packages
+dnl
+FUZZING_CMT="#"
+AC_ARG_ENABLE([fuzzing],
+AS_HELP_STRING([--enable-fuzzing],[enable fuzzing sanitizer]),,
+enable_fuzzing=no)
+if test "$enable_fuzzing" = "yes" || test "$enable_fuzzing" = "probe"; then
+	AC_PROG_CXX
+	AC_MSG_CHECKING([if C compiler supports fuzzing sanitizer])
+	AC_LANG_PUSH([C++])
+	OLD_CXXFLAGS="$CXXFLAGS"
+	OLD_LDFLAGS="$LDFLAGS"
+	FUZZER_FLAGS="-fsanitize=fuzzer"
+	CXXFLAGS="$CXXFLAGS $FUZZER_FLAGS"
+	LDFLAGS="$LDFLAGS $FUZZER_FLAGS"
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+		#include <stddef.h>
+		#include <stdint.h>
+		]],
+		[ return 0; ])],
+		[AC_MSG_RESULT([yes])]
+		[fuzzer_cflags=$FUZZER_FLAGS]
+		[fuzzer_ldflags=$FUZZER_FLAGS]
+		[FUZZING_CMT=]
+		[have_fuzzer=yes],
+		[AC_MSG_RESULT([no])]
+		[AC_MSG_ERROR([fuzzing requested but not available])])
+	CXXFLAGS="${OLD_CXXFLAGS}"
+	LDFLAGS="${OLD_LDFLAGS}"
+	AC_LANG_POP([C++])
+	AC_SUBST(have_fuzzer)
+	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
 dnl
 LINUX_CMT="#"
@@ -1603,8 +1696,7 @@
 AC_MSG_CHECKING([whether we can link with -static])
 AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
 [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS_STATIC -static"
-AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
- ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[fflush(stdout);]])],[ac_cv_e2fsprogs_use_static=yes],[ac_cv_e2fsprogs_use_static=no])
 LDFLAGS=$SAVE_LDFLAGS])
 dnl
 dnl Regardless of how the test turns out, Solaris doesn't handle -static
@@ -1657,6 +1749,11 @@
 if test -n "$WITH_DIET_LIBC" ; then
 	INCLUDES="$INCLUDES -D_REENTRANT"
 fi
+case "$host_os" in
+mingw*)
+	INCLUDES=$INCLUDES' -I$(top_srcdir)/include/mingw'
+	;;
+esac
 AC_SUBST(INCLUDES)
 dnl
 dnl Build CFLAGS
@@ -1785,6 +1882,20 @@
   ])
 AC_SUBST(have_systemd)
 AC_SUBST(systemd_system_unit_dir)
+dnl Adjust the compiled files if we are on windows vs everywhere else
+dnl
+OS_IO_FILE=""
+[case "$host_os" in
+  mingw*)
+    OS_IO_FILE=windows_io
+  ;;
+  *)
+    OS_IO_FILE=unix_io
+  ;;
+esac]
+AC_SUBST(OS_IO_FILE)
+
+AC_SYS_LARGEFILE
 
 dnl
 dnl Make our output files, being sure that we create the some miscellaneous 
@@ -1810,10 +1921,12 @@
 	lib/ss/ss.pc lib/et/com_err.pc lib/e2p/e2p.pc lib/ext2fs/ext2fs.pc \
 	misc/Makefile ext2ed/Makefile e2fsck/Makefile \
 	debugfs/Makefile tests/Makefile tests/progs/Makefile \
-	resize/Makefile doc/Makefile po/Makefile.in scrub/Makefile; do
+	tests/fuzz/Makefile resize/Makefile doc/Makefile \
+	po/Makefile.in scrub/Makefile; do
 	if test -d `dirname ${srcdir}/$i` ; then
 		outlist="$outlist $i"
 	fi
 done
-AC_OUTPUT($outlist)
+AC_CONFIG_FILES([$outlist])
+AC_OUTPUT
 if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi
diff --git a/contrib/android/Android.bp b/contrib/android/Android.bp
index c33ebf4..6c9dd5c 100644
--- a/contrib/android/Android.bp
+++ b/contrib/android/Android.bp
@@ -41,17 +41,17 @@
                 "libcrypto",
                 "liblog",
             ],
-            sanitize: {
-                address: false,  // http://b/68387795 - heap overflow in e2fsdroid
-            },
         },
         android: {
+            static_libs: [
+                "libbase",
+            ],
             shared_libs: [
                 "libext2fs",
                 "libext2_com_err",
                 "libext2_misc",
                 "libcutils",
-                "libbase",
+                "liblog",
                 "libselinux",
                 "libcrypto",
             ],
diff --git a/contrib/android/base_fs.c b/contrib/android/base_fs.c
index 652317e..d3e00d1 100644
--- a/contrib/android/base_fs.c
+++ b/contrib/android/base_fs.c
@@ -110,10 +110,16 @@
 	if (!entries)
 		goto end;
 
-	while ((entry = basefs_readline(f, mountpoint, &err)))
-		ext2fs_hashmap_add(entries, entry, entry->path,
+	while ((entry = basefs_readline(f, mountpoint, &err))) {
+		err = ext2fs_hashmap_add(entries, entry, entry->path,
 				   strlen(entry->path));
-
+		if (err) {
+			free_base_fs_entry(entry);
+			fclose(f);
+			ext2fs_hashmap_free(entries);
+			return NULL;
+		}
+	}
 	if (err) {
 		fclose(f);
 		ext2fs_hashmap_free(entries);
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/contrib/fsstress.c b/contrib/fsstress.c
index 2a98348..2136a90 100644
--- a/contrib/fsstress.c
+++ b/contrib/fsstress.c
@@ -599,6 +599,7 @@
 void append_pathname(pathname_t * name, char *str)
 {
 	int len;
+	char *path;
 
 	len = strlen(str);
 #ifdef DEBUG
@@ -609,7 +610,13 @@
 
 	}
 #endif
-	name->path = realloc(name->path, name->len + 1 + len);
+	path = realloc(name->path, name->len + 1 + len);
+	if (path == NULL) {
+		fprintf(stderr, "fsstress: append_pathname realloc failed\n");
+		chdir(homedir);
+		abort();
+	}
+	name->path = path;
 	strcpy(&name->path[name->len], str);
 	name->len += len;
 }
diff --git a/contrib/setup-schroot b/contrib/setup-schroot
new file mode 100755
index 0000000..f3f45c6
--- /dev/null
+++ b/contrib/setup-schroot
@@ -0,0 +1,46 @@
+#!/bin/bash
+#
+# This script sets up a schroot suitable for building e2fsprogs
+# on a Debian portable box
+
+while [ "$1" != "" ];
+do
+    case "$1" in
+	--base)	shift
+		BASE_CHROOT="$1"
+		;;
+	--chroot) shift
+		  CHROOT="$1"
+		  ;;
+	--help|help)
+	    echo "Usage: setup-schroot [--base <base_chroot>] [--chroot <chroot>]"
+	    exit 0
+	    ;;
+	*)
+	    echo "unknown option: $1"
+	    exit 1
+	    ;;
+    esac
+    shift
+done
+
+if test -z "$BASE_CHROOT" ; then
+    BASE_CHROOT=sid
+fi
+
+if test -z "$CHROOT" ; then
+    CHROOT="$USER-$BASE_CHROOT"
+fi
+
+echo "Setting up $CHROOT using $BASE_CHROOT..."
+schroot -b -n "$CHROOT" -c "$BASE_CHROOT"
+dd-schroot-cmd -c "$CHROOT" apt-get update
+dd-schroot-cmd -c "$CHROOT" -y apt-get upgrade
+dd-schroot-cmd -c "$CHROOT" -y apt-get build-dep e2fsprogs
+dd-schroot-cmd -c "$CHROOT" -y apt-get install git gdb emacs-nox lintian \
+	acl libreadline-dev dh-exec cron
+dd-schroot-cmd -c "$CHROOT" -y apt-get install udev systemd
+echo " "
+echo "Start chroot by running: "
+echo "schroot -r -c $CHROOT"
+echo " "
diff --git a/debian/changelog b/debian/changelog
index f462967..5305242 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,194 @@
+e2fsprogs (1.46.6-1) unstable; urgency=medium
+
+  * Upstream version
+  * NMU acknowledge (Closes: #1022096)
+  * In line with v6.2 and later Linux kernel, the extended xattribute hash
+    may be calculated using either the signed or unsigned char variant,
+    but new xattr entries will be set using the unsigned variant.  Since
+    this difference is only seen for extended attribute names that contain
+    non-ASCII characters, the fact that we had a signed vs unsigned char
+    dependency was not noticed for over two decades.
+  * E2fsck will now check to make sure the journal inode does not have the
+    encrypt flag set.
+  * Fuse2fs now supports an offset=<bytes> option which allows
+    operating on a file system image which is located starting at the
+    specified offset from the beginning of the image.
+  * Fix a deadlock bug in e2fsck's error handler when there are errors
+    trying to write to the file system.
+  * Fix a bug in tune2fs which could cause it to crash if device goes
+    off-line just as it being opened.
+  * Improve error messages issued by badblocks and tune2fs.
+  * Fix a crash in badblocks when the user specifies an overly large
+    number of blocks tested at a time in read/write or nondestructive
+    mode.
+  * Speed up e2fsck's clonning of multiply-claimed blocks so it is
+    substantially faster on very large file systems.
+  * Don't fail when the source directory for mke2fs -d doesn't support
+    extended attributes.
+  * Update Chinese, Czech, Dutch, French, German, Malay, Polish, Serbian,
+    Spanish, Swedish, and Ukrainian translations.
+  * Update the Debian policy compliance to 4.6.1.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Thu, 02 Feb 2023 00:38:18 -0500
+
+e2fsprogs (1.46.6~rc1-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload
+  * Convert copyright files to machine-readable format, adding the missing
+    licenses and copyright information  (Closes: #1022096)
+
+ -- Bastian Germann <bage@debian.org>  Tue, 03 Jan 2023 14:31:18 +0100
+
+e2fsprogs (1.46.6~rc1-1) unstable; urgency=medium
+
+  * Trial upstream release for 1.46.6
+  * Debugfs's ncheck command now allows the inode number to be surrounded
+    by angle brackets
+  * Debugfs -c no longer prints a scary message on startup
+  * Resize2fs will round down the requested new file system size to the
+    nearest cluster boundary when resizing bigalloc file systems
+  * Avoid triggering udev in dumpe2fs and "resize2fs -P" for file systems
+    with MMP enabled
+  * Fix tune2fs so it will detect another device stealing the MMP sessions
+    while rewriting metadata checksums.
+  * Fix a bug where e2fsck could fail when specifying an undo file and an
+    explicit superblock number
+  * Fix e2image so it won't potentially loop forever for certain invalid
+    file systems
+  * Resize2fs now honors the E2FSPROGS_FAKE_TIME environment variable
+  * Fix tune2fs, fuse2fs, and debugsfs to update j_tail_sequence when
+    replaying the journal
+  * Add additional bullet-proofing for very badly corrupted file systems
+    (Addresses CVE-2022-1304)  (Closes: #1010263)
+  * Check for and handle malloc() failures when computing the log filename
+    in e2fsck and in the libss library
+  * Tune2fs and e2fsck to accept pathames which include '=' characters
+  * Update and clarify's chattr's man page and usage message
+  * Fix tune2fs to avoid a crash if the journal replay fails and to make
+    sure its exit status is non-zero if there is some failure.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Mon, 12 Sep 2022 08:27:55 -0400
+
+e2fsprogs (1.46.5-2) unstable; urgency=medium
+
+  * Fix build on GNU/kFreeBSD (caused by the fact that the Debian port has
+    an ancient version of coreutils, so the timeout program doesn't support
+    the -v option.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Mon, 03 Jan 2022 23:48:13 -0500
+
+e2fsprogs (1.46.5-1) unstable; urgency=medium
+
+  * New upstream release
+  * Resize2fs will automatically drop one block group (128M) if that will
+    allow a resize operation to succeed when it would have failed due to
+    running afoul of the 2**32 inode count limit.
+  * Fix resize2fs -P so it won't potentially loop forever when the file
+    system is corrupted
+  * E2fsck will now automatically update the block group checksum when
+    fixing a problem in a block group descriptor
+  * Fix error handling in the unix_io module which could cause e2fsck
+    to deadlock in the face of I/O errors.
+  * Fix a bug in e2fsck fast commit handling which could result it in
+    crashing in some rare cases.
+  * Fix e2fsck and tune2fs's handling of quota limits, which previously
+    could get lost.
+  * Correct the report header printed by debugfs's get_quota and
+    list_quota commands.
+  * Speed up off-line resizing of very large file system.
+  * Fixed spelling mistakes in the mke2fs.conf man page.
+  * Update Chinese, Malay, Serbian, Spanish, Swedish, and Ukrainian
+    translations.
+  * Update the Debian policy compliance to 4.6.0.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Thu, 30 Dec 2021 00:35:14 -0500
+
+e2fsprogs (1.46.4-1) unstable; urgency=medium
+
+  * New upstream release
+  * Mke2fs now creates 256 byte inodes by default for all non-GNU Hurd
+    file systems.   (Previously small file systems would be created
+    using 128 byte inodes.)
+  * The bigalloc feature is now considered supported when the cluster
+    size is no more than 16 times the block size.
+  * E2fsck now checks to make sure directory entries do not reference
+    internal quota inodes.
+  * E2image now includes the quota inodes when creating file system image,
+    since they are part of the file system metadata.
+  * E2fsck now properly accounts the quota usage of the project quota file.
+  * Fix a regression so mke2fs can create a file system into non-existent
+    file (Closes: #992094)
+  * Fix mke2fs to correctly create Posix ACL's on big-endian systems when
+    copying files from a directory hierarchy.
+  * Fix FTBFS caused by test failures on big-endian systems.
+    (Closes: #991922)
+  * Fix FTBFS on GNU Hurd
+  * Use WantedBy=multi-user.target in e2scrub_reap.service.
+    (Closes: #991349)
+  * Updated and clarified the resize2fs man page.  (Closes: #979411)
+  * Update Czech, Dutch, French, Polish, Portuguese, and Swedish
+    translations.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Wed, 18 Aug 2021 22:47:40 -0400
+
+e2fsprogs (1.46.3-1) experimental; urgency=medium
+
+  * New upstream release
+  * Fix resize2fs bug when performing an off-line file system expansion
+    with MMP and there isn't sufficient reserved block group descriptor
+    blocks could lead to file system corruption.  (Closes: #984472)
+  * Teach the filefrag program the -V option, which will print the version
+    of the tool, or if -V option is specified twice, will print the list
+    of supported FIEMAP flags.
+  * Fix fast_commit portability problems on sparc64 and arm64
+    architectures (the latter when running e2fsprogs compiled for arm32).
+    (Closes: #987641)
+  * Fix missing mutex unlock in an error path in the Unix I/O manager.
+  * Fix Direct I/O support in the Unix I/O manager (this was a regression
+    introduced in v1.46.2).
+  * Fix mke2fs to avoid discarding blocks beyond the end of the file
+    system to be created when creating a file system which is smaller than
+    16MB and the file system size was explicitly specified and smaller
+    than the size of the block device.  (Closes: #989630)
+  * Teach mke2fs to avoid giving a spurious warning about a pre-existing
+    partition table and it is creating a file system at a non-zero offset
+    (so the partition table wouldn't be overwritten in any case).
+    (Closes: #989612)
+  * Fix e2image -Q to prevent a multiplication overflow could corrupt
+    the generated QCOW2 output file for very large file systems.
+  * When e2fsck repairs '.' and '..' entries in corrupted directories, set
+    the file type in the directory entry to be EXT2_FT_DIR and do not
+    leave the file type as EXT2_FT_UNKNOWN.
+  * Fix e2fsck so that the if the s_interval is zero, and the last mount
+    or write time is in the future, it will fix invalid last mount/write
+    timestamps in the superblock.  (This was a regression introduced in
+    v1.45.5.)
+  * Fix lsattr and chattr to avoid opening or calling EXT2_IOC_[GS]ETFLAGS
+    on devices, since this can cause some devices to react badly as a
+    result.  (This fixes a regression introduced in v1.46.2.)
+    (Closes: #986332)
+  * Fix potential memory leaks and seg faults when memory allocations fail.
+  * Fix various compiler and valgrind warnings
+  * Updated and clarified the e2image and filefrag man pages.
+  * Update Dutch, Malay, and Serbian translations.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Tue, 27 Jul 2021 11:04:05 -0400
+
+e2fsprogs (1.46.2-2) unstable; urgency=medium
+
+  * Fix FTBFS on arm32 when building on a system with an arm64 kernel.
+    This also fixes a portability problem when replaying a fast-commit
+    journal on an arm64 kernel when using an arm32 userspace.
+    (Closes: #987641)
+  * Fix additional fast-commit portability problems on non-x86 systems
+    which don't allow non-aligned pointer dereferences (for example, on a
+    sparc64 system).
+  * Fix a missing mutex unlock on an error path which can cause e2fsck
+    to hang on I/O errors.
+  * Clean up and improve the man page for e2image
+
+ -- Theodore Y. Ts'o <tytso@mit.edu>  Mon, 07 Jun 2021 07:27:15 -0400
+
 e2fsprogs (1.46.2-1) unstable; urgency=medium
 
   * New upstream release
@@ -17,7 +208,7 @@
     contain a pathname (instead of only working when writing a file or
     creating a symlink in the current directory).
   * When resizing a small file systems to a super-large file system size,
-    avoid issuing some scary bitmap operation warnings.  
+    avoid issuing some scary bitmap operation warnings.
   * Improved error checking in the fast commit replay code in e2fsck.
   * Updated and clarified the chattr man page.
   * Update the Spanish translation from the translation project.
@@ -35,8 +226,8 @@
     file which is stored using inline_data and contains an ACL or extended
     attribute.   (Closes: #971014)
   * Add build profiles noudeb and pkg.e2fsprogs.no-static (Closes: #966686)
-  * Update the Czech, French, Malay, Polish, Portuguese, Sweedish, and
-    Ukranian translations from the translation project.
+  * Update the Czech, French, Malay, Polish, Portuguese, Swedish, and
+    Ukrainian translations from the translation project.
 
  -- Theodore Y. Ts'o <tytso@mit.edu>  Tue, 09 Feb 2021 17:36:02 -0500
 
@@ -50,7 +241,7 @@
   * Add support for file systems that have both case folding and
     encryption enabled.  (Not yet upstream, but used in some Android handsets.)
   * The fuse2fs program now supports the "norecovery" which omits replying
-    the journal and mounts the file system read-only.
+    the journal and mounts the file system read-only.  (Closes: #878927)
   * Bitmap loading is now done using multiple threads which can speed up
     debugfs, dumpe2fs, and e2fsck on very large file systems.
   * E2fsck now will check file names on file systems with case folding
@@ -111,7 +302,7 @@
     requested operation.
   * Fix mke2fs so it can import the contents of a directory using the -d
     option when it has inode numbers that are greater than 2**32.   Also
-    fix an ommission were the extended attributes on the top-level directory
+    fix an omission where the extended attributes on the top-level directory
     was not getting copied to the root directory.
   * Fix e4crypt so that the add_key operation uses the explicitly provided
     salt if it is provided.
@@ -200,7 +391,7 @@
 
 e2fsprogs (1.46~WIP.2019.10.09-1) experimental; urgency=medium
 
-  * Add (minimal) support to enable the fast commit feaure.  This is just
+  * Add (minimal) support to enable the fast commit feature.  This is just
     enough to enable kernel development work; e2fsck replay of journals
     with the fast commit feature is *not* available.
   * E2fsck will now check encryption policies for consistency
@@ -274,7 +465,7 @@
     directories at the same time.
   * Fixed a bug in e2scrub_all so it correctly handles an LUKS volume
     stacked on top of an LV.  (Closes: #931387)
-  * Fixed a bug in e2scrub_all so it correctl specifies the volumes to
+  * Fixed a bug in e2scrub_all so it correctly specifies the volumes to
     clean up when using "e2scrub_all -r".   (Closes: #931679)
   * Fixed improper use of positional markers in the Czech, Dutch,
     German, and Vietnamese translations.  (Closes: #892173)
@@ -297,7 +488,7 @@
     translation prompting the use of the English 'y' character.
     (Closes: #907034)
   * Fix spurious complaint of blocks beyond i_size for verity files.
-  * Update the Czech, Malay, Polish, Spanish, Swedish, and Ukarainian
+  * Update the Czech, Malay, Polish, Spanish, Swedish, and Ukrainian
     translations.  Add the new Portuguese translation.  (Closes: #912185)
 
  -- Theodore Y. Ts'o <tytso@mit.edu>  Mon, 27 May 2019 21:46:31 -0400
@@ -324,7 +515,7 @@
   * Teach e2scrub to issue more useful error messages
   * Update support for the case-folding file system feature to match what
     finally will be landing in the kernel.
-  * Teach e2scrub_all to skip scrubing a file system if there is not
+  * Teach e2scrub_all to skip scrubbing a file system if there is not
     enough free space to create a snapshot.  (Closes: #924301)
   * Fixed debugfs so it correctly prints ea_in_inode xattr values.
   * Debugfs now prints non-printing characters using C-style hex escape
@@ -338,7 +529,7 @@
     them showing up in GUI's.  (Closes: #926112)
   * Mark the e2scrub systemd service files to indicate that it requires
     CAP_SYS_ADMIN and CAP_SYS_RAWIO so e2scrub will get skipped when run
-    in cointainers that don't give root these capabilities.  (Closes: #926138)
+    in containers that don't give root these capabilities.  (Closes: #926138)
   * E2fsck can now save a problem code log for debugging or monitoring
     purposes.
 
@@ -379,7 +570,7 @@
   * Fix the libext2fs library to be more robust against
     invalid/maliciously corrupted block group descriptors.
   * Fix mke2fs and debugfs so they can correctly copy in files > 2 GiB.
-  * Fix debugfs so its stat command can correct supportly display directory
+  * Fix debugfs so its stat command can correctly display directory
     sizes > 2 GiB.
   * Fix memory leaks in debugfs, mke2fs, and e2freefrag.
   * Avoid unnecessarily linking badblocks with the libblkid shared library.
@@ -510,7 +701,7 @@
     and meta_bg features enabled.
   * Fix orphan list handling of inodes on bigalloc file systems (and other
     situations where inodes need to be deleted or truncated) in e2fsck.
-  * Update Sweedish translation.
+  * Update Swedish translation.
   * Add Vcs-* headers in Debian packaging (Closes: #887512)
   * Speed up reading bitmap blocks in debugfs when opening large file
     systems.
@@ -597,7 +788,7 @@
   * New upstream version
   * Fix a bug where updated bitmap checks might not be written to disk.
     (Closes: #883869)
-  * Add missing byte swaps for newly added fields in the superbloc
+  * Add missing byte swaps for newly added fields in the superblock
   * Fix a potential use after free bug in e2fsck when fixing a corrupted
     root node in directory hash tree.
   * Fix a bug in e2fsck where a badly/maliciously corrupted superblock
@@ -698,7 +889,7 @@
   * Fix how backup superblocks are written in big endian systems so they
     are all correctly byte swapped.
   * Fixed tune2fs's support for enabling and disabling project quota.
-  * The badblock program now properly handles languages which have
+  * The badblocks program now properly handles languages which have
     multi-column wide character such as Chinese.  (Closes: #860926)
   * The mke2fs -U option now accepts "null", "clear", "random", or "time"
     just as tune2fs's -U option.
@@ -1239,7 +1430,7 @@
     information from an e2image-created image file.
   * Debugfs's "write" command can now create a sparse files
   * Debugfs can now support a command line which is up to 8k long
-  * E2image will refuse to create a raw or qcomw image using a mounted
+  * E2image will refuse to create a raw or qcow2 image using a mounted
     file system unless the -f option is given.
   * E2image has been made more useful for efficiently copying file
     systems using the -ra options.  New options to help with this use
@@ -1514,7 +1705,7 @@
     cause them to use much less memory for large file systems.
   * E2fsck will now check for zero-length extents, since older kernels will
     OOPS if they comes across one
-  * Fix e2fsck's discard behaviour so it does not discard too many
+  * Fix e2fsck's discard behavior so it does not discard too many
     blocks, and it will not use discard if the device advertises
     that discard does not persistently zero data.  Also, if e2fsck is
     run in read-only mode, do not try to discard data.
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index 48082f7..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-12
diff --git a/debian/control b/debian/control
index 76a69a1..671a601 100644
--- a/debian/control
+++ b/debian/control
@@ -2,8 +2,9 @@
 Section: admin
 Priority: required
 Maintainer: Theodore Y. Ts'o <tytso@mit.edu>
-Build-Depends: gettext, texinfo, pkg-config, libfuse-dev [linux-any kfreebsd-any] <!pkg.e2fsprogs.no-fuse2fs>, debhelper (>= 12.0), dh-exec, libblkid-dev, uuid-dev, m4, udev [linux-any], systemd [linux-any], cron [linux-any]
-Standards-Version: 4.5.1
+Build-Depends: gettext, texinfo, pkg-config, libfuse-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.6.1
 Homepage: http://e2fsprogs.sourceforge.net
 Vcs-Browser: https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
 Vcs-Git: https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git -b debian/master
diff --git a/debian/copyright b/debian/copyright
index e6f4676..f18058e 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,73 +1,403 @@
-This is the Debian GNU/Linux prepackaged version of the EXT2 file
-system utilities (e2fsck, mke2fs, etc.).  The EXT2 utilities were
-written by Theodore Ts'o <tytso@mit.edu> and Remy Card <card@masi.ibp.fr>.
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: e2fsprogs
+Upstream-Contact: Theodore Ts'o <tytso@mit.edu>
+Source: http://sourceforge.net/projects/e2fsprogs
+Comment:
+ This is the Debian GNU/Linux prepackaged version of the EXT2 file
+ system utilities (e2fsck, mke2fs, etc.).  The EXT2 utilities were
+ written by Theodore Ts'o <tytso@mit.edu> and Remy Card <card@masi.ibp.fr>.
 
-Sources were obtained from http://sourceforge.net/projects/e2fsprogs
+Files: *
+Copyright: 1993-2018 Theodore Ts'o <tytso@mit.edu>
+License: GPL-2
+Comment: Some files are GPL-2+ licensed or do not carry any license version.
+         They are distributable as GPL-2 and listed as such for simplification.
 
-Packaging is Copyright (c) 2003-2007 Theodore Ts'o <tytso@mit.edu>
-             Copyright (c) 1997-2003 Yann Dirson <dirson@debian.org>
-	     Copyright (c) 2001 Alcove <http://www.alcove.com/>
-	     Copyright (c) 1997 Klee Dienes
-	     Copyright (c) 1995-1996 Michael Nonweiler <mrn20@cam.ac.uk>
+Files: debian/*
+Copyright: 2003-2007 Theodore Ts'o <tytso@mit.edu>
+           1997-2003 Yann Dirson <dirson@debian.org>
+           2001 Alcove <http://www.alcove.com/>
+           1997 Klee Dienes
+           1995-1996 Michael Nonweiler <mrn20@cam.ac.uk>
+License: GPL-2
 
-Upstream Author: Theodore Ts'o <tytso@mit.edu>
+Files: lib/ext2fs/*
+       lib/e2p/*
+       lib/support/print_fs_flags.c
+       misc/e2fuzz.c
+Copyright: 1995-1999, 2002, 2004-2006 Theodore Ts'o <tytso@mit.edu>
+           1992-1994  Remy Card <card@masi.ibp.fr>
+                      Laboratoire MASI, Institut Blaise Pascal
+                      Universite Pierre et Marie Curie (Paris VI)
+           2001 Andreas Gruenbacher, <a.gruenbacher@computer.org>
+           2007 IBM Corporation
+           2010 Red Hat, Inc., Lukas Czerner <lczerner@redhat.com>
+           2014 Oracle
+           2012 Zheng Liu <wenqing.lz@taobao.com>
+           2012 Intel Corporation
+           2001  Daniel Phillips
+           2002 Theodore Ts'o.
+           2002 Andreas Dilger
+           2006 Cluster File Systems, Inc.
+           2006, 2007 by Andreas Dilger <adilger@clusterfs.com>
+           2003,2004 Cluster File Systems, Inc <info@clusterfs.com>
+           1995 Theodore Ts'o.
+           2003 VMware, Inc.
+           2015 Jan Kara
+           2018  Collabora Ltd.
+           1997 Theodore Ts'o
+           1997 Mark Habersack
+           2011 Whamcloud, Inc.
+           2004 Sam Hocevar <sam@hocevar.net>
+           2014 Google Inc.
+           1993, 1994, 1995 Theodore Ts'o.
+           1998 Andrey Shedel <andreys@ns.cr.cyco.com>
+License: LGPL-2
+Comment: Some files in lib/ext2fs claim
+ "This file may be redistributed under the terms of the GNU Public License."
+ and NOTICE clarifies them to be licensed under LGPL-2.
 
-Copyright notice:
+Files: lib/ext2fs/tdb*
+Copyright: 1999-2005 Andrew Tridgell
+           2000-2006 Jeremy Allison
+           2000 Paul `Rusty' Russell
+License: LGPL-2
 
-This package, the EXT2 filesystem utilities, are made available under
-the GNU General Public License version 2, with the exception of the
-lib/ext2fs and lib/e2p libraries, which are made available under the
-GNU Library General Public License Version 2, the lib/uuid library
-which is made available under a BSD-style license and the lib/et and
-lib/ss libraries which are made available under an MIT-style license.
+Files: lib/ext2fs/tdbtool.c
+Copyright: 1999-2000 Andrew Tridgell
+           2000 Paul `Rusty' Russell
+           2000 Jeremy Allison
+           2001 Andrew Esh
+License: GPL-2
 
-	Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 
-	2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Theodore Ts'o
+Files: lib/ext2fs/kernel-jbd.h
+Copyright: 1998-2000 Red Hat, Inc
+License: GPL-2
 
-On Debian GNU systems, the complete text of the GNU General Public
-License can be found in `/usr/share/common-licenses/GPL-2'.  The
-complete text of the GNU Library General Public License can be found
-in '/usr/share/common-licenses/LGPL-2'.
+Files: lib/ext2fs/nls_utf8.c
+       lib/ext2fs/utf8n.h
+       util/mkutf8data.c
+Copyright: 2014 SGI
+           2018 Collabora Ltd.
+License: GPL-2
 
+Files: lib/ext2fs/crc16.*
+Copyright: 2005 Ben Gardner <bgardner@wabtec.com>
+License: GPL-2
 
-The license used for lib/et and lib/ss libraries is:
+Files: lib/ext2fs/crc32c*
+Copyright:
+ August 26, 2011 Darrick J. Wong <djwong at us.ibm.com>
+ Reuse Bob Pearson's slice-by-8 implementation for e2fsprogs.
+ .
+ July 20, 2011 Bob Pearson <rpearson at systemfabricworks.com>
+ ...
+ Oct 15, 2000 Matt Domsch <Matt_Domsch@dell.com>
+ ...
+ Oct 12, 2000 Matt Domsch <Matt_Domsch@dell.com>
+License: GPL-2
 
-   Copyright 1987 by the Student Information Processing Board
-   of the Massachusetts Institute of Technology
+Files: lib/uuid/*
+Copyright: 1996-1999, 2007 Theodore Ts'o.
+License: BSD-3-Clause
 
-   Permission to use, copy, modify, and distribute this software and
-   its documentation for any purpose is hereby granted, provided that
-   the names of M.I.T. and the M.I.T. S.I.P.B. not be used in
-   advertising or publicity pertaining to distribution of the software
-   without specific, written prior permission.  M.I.T. and the
-   M.I.T. S.I.P.B. make no representations about the suitability of
-   this software for any purpose.  It is provided "as is" without
-   express or implied warranty.
+Files: lib/uuid/*.3.in
+Copyright: 1999 Andreas Dilger <adilger@enel.ucalgary.ca>
+License: BSD-3-Clause
 
-The license used for lib/uuid is:
+Files: contrib/fallocate.c
+Copyright: 2008 Red Hat, Inc. All rights reserved.
+           2003-2005 Silicon Graphics, Inc.
+License: GPL-2
 
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   1. Redistributions of source code must retain the above copyright
-      notice, and the entire permission notice in its entirety,
-      including the disclaimer of warranties.
-   2. Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-   3. The name of the author may not be used to endorse or promote
-      products derived from this software without specific prior
-      written permission.
+Files: contrib/dconf
+Copyright: 1994 Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
+License: GPL-2
 
-   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
-   WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
-   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-   OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-   USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
-   DAMAGE.
+Files: CleanSpec.mk
+       contrib/android/ext2simg.c
+Copyright: 2007, 2016 The Android Open Source Project
+License: Apache-2
+
+Files: e2fsck/*
+       debugfs/do_journal.c
+       debugfs/journal.*
+       debugfs/logdump.c
+       debugfs/xattrs.c
+       lib/support/plausible.c
+       misc/fuse2fs.c
+       misc/fsmap.h
+Copyright: 1993-2011 Theodore Ts'o
+           1999-2000 Red Hat Software
+           2000 Red Hat corp
+           2001 Red Hat, Inc.
+           2000 Stephen C. Tweedie
+           2000 Andreas Dilger
+           2014 Oracle
+           2019 Google LLC
+License: GPL-2
+
+Files: e2fsck/mtrace.*
+       include/nonunix/getopt.h
+Copyright: 1985-2015 Free Software Foundation, Inc.
+License: LGPL-2
+
+Files: ext2ed/*
+Copyright: 1995 Gadi Oxman
+License: GPL-2
+
+Files: include/mingw/unistd.h
+Copyright: 2004-2006 Kern Sibbald
+           2014 Adam Kropelin
+License: GPL-2
+
+Files: lib/support/devname.*
+Copyright: 2010 Red Hat, Inc., Lukas Czerner <lczerner@redhat.com>
+License: GPL-2
+
+Files: lib/blkid/*
+       misc/blkid.c
+Copyright: 1999, 2001 by Andries Brouwer
+           1994-1997, 1999-2004 Theodore Ts'o <tytso@mit.edu>
+           2001 Andreas Dilger
+License: LGPL-2
+
+Files: misc/blkid.8.in
+       misc/uuidgen.1.in
+Copyright: 1999, 2000 Andreas Dilger <adilger@turbolinux.com>
+License: GPL-2
+
+Files: misc/create_inode.c
+Copyright: 2014 Robert Yang <liezhi.yang@windriver.com>
+License: LGPL-2
+
+Files: misc/e2freefrag.c
+Copyright: 2009 Sun Microsystems, Inc.
+License: GPL-2
+
+Files: misc/e2undo.c
+Copyright: 2007 IBM Corporation
+License: GPL-2
+
+Files: misc/e4defrag.c
+Copyright: Akira Fujita <a-fujita@rs.jp.nec.com>
+           Takashi Sato <t-sato@yk.jp.nec.com>
+License: GPL-2
+
+Files: misc/uuidgen.c
+Copyright: 1999 Andreas Dilger and Theodore Ts'o
+License: GPL-2
+
+Files: misc/e2fuzz.sh
+Copyright: 2014 Oracle
+License: GPL-2
+
+Files: misc/e4crypt.c
+Copyright: 2014 Google, Inc.
+License: GPL-2
+
+Files: ext2ed/ext2.descriptors
+       misc/badblocks.c
+       misc/chattr.c
+       misc/dumpe2fs.c
+       misc/lsattr.c
+       misc/mklost+found.c
+       misc/tune2fs.c
+Copyright: 1995-1999 by Theodore Ts'o
+           1992-1994  Remy Card <card@masi.ibp.fr>
+                      Laboratoire MASI, Institut Blaise Pascal
+                      Universite Pierre et Marie Curie (Paris VI)
+           1999 by David Beattie
+           Linus Torvalds <Linus.Torvalds@cs.helsinki.fi>
+License: GPL-2
+
+Files: resize/*
+Copyright: 1997-2000 by Theodore Ts'o and PowerQuest, Inc.
+License: GPL-2
+
+Files: scrub/*
+Copyright: 2018 Oracle
+License: GPL-2
+
+Files: tests/fuzz/*.cc
+Copyright: 2020 Google LLC
+License: Apache-2
+
+Files: lib/support/argv_parse.*
+Copyright: 1999  Theodore Ts'o.
+License: ISC
+ Permission to use, copy, modify, and distribute this software for
+ any purpose with or without fee is hereby granted, provided that
+ the above copyright notice and this permission notice appear in all
+ copies.  THE SOFTWARE IS PROVIDED "AS IS" AND THEODORE TS'O (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.
+
+Files: lib/support/profile.*
+Copyright: 2005, 2006 by Theodore Ts'o.
+           1985-2005 by the Massachusetts Institute of Technology.
+           All rights reserved.
+License: GPL or MIT-US-export
+ This file may be redistributed under the terms of the GNU Public
+ License.
+ .
+ Export of this software from the United States of America may require
+ a specific license from the United States Government.  It is the
+ responsibility of any person or organization contemplating export to
+ obtain such a license before exporting.
+ .
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of M.I.T. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission.  Furthermore if you modify this software you must label
+ your software as modified software and not distribute it in such a
+ fashion that it might be confused with the original MIT software.
+ M.I.T. makes no representations about the suitability of this software
+ for any purpose.  It is provided "as is" without express or implied
+ warranty.
+ .
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+Comment:
+ On Debian systems, the complete text of the GNU General
+ Public License can be found in "/usr/share/common-licenses/GPL".
+
+Files: lib/support/dict.*
+Copyright: 1997 Kaz Kylheku <kaz@ashi.footprints.net>
+License: Kazlib
+ All rights are reserved by the author, with the following exceptions:
+ Permission is granted to freely reproduce and distribute this software,
+ possibly in exchange for a fee, provided that this copyright notice appears
+ intact. Permission is also granted to adapt this software to produce
+ derivative works, as long as the modified versions carry this copyright
+ notice and additional notices stating that the work has been modified.
+ This source code may be translated into executable form and incorporated
+ into proprietary software; there is no requirement for such software to
+ contain a copyright notice related to this source.
+Comment: The work has been modified.
+
+Files: doc/libext2fs.texinfo
+Copyright: 1997-2014 Theodore Ts'o
+License: Latex2e
+ Permission is granted to process this file through TeX and print the
+ results, provided the printed document carries copying permission
+ notice identical to this one except for the removal of this paragraph
+ (this paragraph not being relevant to the printed manual).
+ .
+ Permission is granted to copy and distribute modified versions of this
+ manual under the conditions for verbatim copying, provided that the entire
+ resulting derived work is distributed under the terms of a permission
+ notice identical to this one.
+ .
+ Permission is granted to copy and distribute translations of this manual
+ into another language, under the above conditions for modified versions,
+ except that this permission notice may be stated in a translation approved
+ by the author.
+
+Files: doc/texinfo.tex
+       lib/et/texinfo.tex
+Copyright: 1985-2006 Free Software Foundation, Inc.
+License: GPL-2+ with Texinfo exception
+ This texinfo.tex file 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, or (at
+ your option) any later version.
+ .
+ This texinfo.tex file 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 texinfo.tex file; see the file COPYING.  If not, write
+ to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+ .
+ As a special exception, when this file is read by TeX when processing
+ a Texinfo source document, you may use the result without
+ restriction.  (This has been our intent since Texinfo was invented.)
+
+License: Apache-2
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+Comment:
+ On Debian systems, the complete text of the Apache License, Version 2.0
+ can be found in "/usr/share/common-licenses/Apache-2.0".
+
+License: BSD-3-Clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice, and the entire permission notice in its entirety,
+    including the disclaimer of warranties.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 3. The name of the author may not be used to endorse or promote
+    products derived from this software without specific prior
+    written permission.
+ .
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+License: GPL-2
+ This program is free software; you can redistribute it and/or modify
+ it under the terms version 2 of the GNU General Public License
+ as published by the Free Software Foundation.
+ .
+ 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. If not, see <https://www.gnu.org/licenses/>.
+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: 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
+ published by the Free Software Foundation; version 2 of the License.
+ .
+ This library 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
+ Library General Public License for more details.
+ .
+ You should have received a copy of the GNU Library General Public License
+ along with this library. If not, see <https://www.gnu.org/licenses/>.
+Comment:
+ On Debian systems, the complete text of the GNU Library General
+ Public License version 2 can be found in "/usr/share/common-licenses/LGPL-2".
diff --git a/debian/e2fsck-static.copyright b/debian/e2fsck-static.copyright
deleted file mode 100644
index b5b5d3f..0000000
--- a/debian/e2fsck-static.copyright
+++ /dev/null
@@ -1,26 +0,0 @@
-This is the Debian GNU/Linux prepackaged version of the static EXT2
-file system consistency checker (e2fsck.static).  The EXT2 utilities
-were written by Theodore Ts'o <tytso@mit.edu> and Remy Card
-<card@masi.ibp.fr>.
-
-Sources were obtained from http://sourceforge.net/projects/e2fsprogs
-
-Packaging is Copyright (c) 2003-2006 Theodore Ts'o <tytso@mit.edu>
-             Copyright (c) 1997-2003 Yann Dirson <dirson@debian.org>
-	     Copyright (c) 2001 Alcove <http://www.alcove.com/>
-	     Copyright (c) 1997 Klee Dienes
-	     Copyright (c) 1995-1996 Michael Nonweiler <mrn20@cam.ac.uk>
-
-Upstream Author: Theodore Ts'o <tytso@mit.edu>
-
-Copyright notice:
-
-This package, the EXT2 filesystem utilities, is protected by the GNU
-General Public License.
-
-	Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-	2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Theodore Ts'o
-
-On Debian GNU systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL-2'.
-
diff --git a/debian/e2fsprogs-l10n.copyright b/debian/e2fsprogs-l10n.copyright
deleted file mode 100644
index 9dbe5c0..0000000
--- a/debian/e2fsprogs-l10n.copyright
+++ /dev/null
@@ -1,26 +0,0 @@
-This is the Debian GNU/Linux prepackaged version of the translation
-files of the EXT2 file system utilities.  The EXT2 utilities were
-written by Theodore Ts'o <tytso@mit.edu> and Remy Card
-<card@masi.ibp.fr>.
-
-Sources were obtained from http://sourceforge.net/projects/e2fsprogs
-
-Packaging is Copyright (c) 2003-2006 Theodore Ts'o <tytso@mit.edu>
-             Copyright (c) 1997-2003 Yann Dirson <dirson@debian.org>
-	     Copyright (c) 2001 Alcove <http://www.alcove.com/>
-	     Copyright (c) 1997 Klee Dienes
-	     Copyright (c) 1995-1996 Michael Nonweiler <mrn20@cam.ac.uk>
-
-Upstream Author: Theodore Ts'o <tytso@mit.edu>
-
-Copyright notice:
-
-This package, the EXT2 filesystem utilities, is protected by the GNU
-General Public License.
-
-	Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-	2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Theodore Ts'o
-
-On Debian GNU systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL-2'.
-
diff --git a/debian/libblkid.copyright b/debian/libblkid.copyright
deleted file mode 100644
index 8be818b..0000000
--- a/debian/libblkid.copyright
+++ /dev/null
@@ -1,19 +0,0 @@
-This package was added to the e2fsprogs debian source package by
-Theodore Ts'o <tytso@mit.edu> on Sat Mar 15 15:33:37 EST 2003
-
-It is part of the main e2fsprogs distribution, which can be found at:
-
-	http://sourceforge.net/projects/e2fsprogs
-
-Upstream Author: Theodore Ts'o <tytso@mit.edu>
-
-Copyright:
-
-Copyright (C) 1999, 2001 by Andries Brouwer
-Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
-
-You are free to distribute this software under the terms of the GNU
-Lesser (Library) General Public License.
-
-On Debian systems, the complete text of the GNU Lesser (Library)
-General Public License can be found in /usr/share/common-licenses/LGPL-2.
diff --git a/debian/libcom-err2.copyright b/debian/libcom-err2.copyright
deleted file mode 100644
index 578628a..0000000
--- a/debian/libcom-err2.copyright
+++ /dev/null
@@ -1,24 +0,0 @@
-This is the Debian GNU/Linux prepackaged version of the Common Error
-Description library. It is currently distributed together with the EXT2 file
-system utilities, which are otherwise packaged as "e2fsprogs".
-
-This package was put together by Yann Dirson <dirson@debian.org>,
-from sources obtained from a mirror of:
- tsx-11.mit.edu:/pub/linux/packages/ext2fs/
-
-From the original distribution:
-
-Copyright 1987, 1988 by the Student Information Processing Board
-	of the Massachusetts Institute of Technology
-
-Permission to use, copy, modify, and distribute this software
-and its documentation for any purpose and without fee is
-hereby granted, provided that the above copyright notice
-appear in all copies and that both that copyright notice and
-this permission notice appear in supporting documentation,
-and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
-used in advertising or publicity pertaining to distribution
-of the software without specific, written prior permission.
-M.I.T. and the M.I.T. S.I.P.B. make no representations about
-the suitability of this software for any purpose.  It is
-provided "as is" without express or implied warranty.
diff --git a/debian/libext2fs2.symbols b/debian/libext2fs2.symbols
index 7cd7cd8..46c48ad 100644
--- a/debian/libext2fs2.symbols
+++ b/debian/libext2fs2.symbols
@@ -201,7 +201,9 @@
  ext2fs_ext_attr_block_csum_verify@Base 1.43
  ext2fs_ext_attr_block_rehash@Base 1.44.0~rc1
  ext2fs_ext_attr_hash_entry2@Base 1.44.0~rc1
+ ext2fs_ext_attr_hash_entry3@Base 1.46.6
  ext2fs_ext_attr_hash_entry@Base 1.41.0
+ ext2fs_ext_attr_hash_entry_signed@Base 1.46.6
  ext2fs_extent_block_csum_set@Base 1.43
  ext2fs_extent_block_csum_verify@Base 1.43
  ext2fs_extent_delete@Base 1.41.0
@@ -462,9 +464,6 @@
  ext2fs_r_blocks_count@Base 1.42
  ext2fs_r_blocks_count_add@Base 1.42
  ext2fs_r_blocks_count_set@Base 1.42
- ext2fs_rb_augment_erase_begin@Base 1.42.1
- ext2fs_rb_augment_erase_end@Base 1.42.1
- ext2fs_rb_augment_insert@Base 1.42.1
  ext2fs_rb_erase@Base 1.42.1
  ext2fs_rb_first@Base 1.42.1
  ext2fs_rb_insert_color@Base 1.42.1
diff --git a/debian/libss2.copyright b/debian/libss2.copyright
deleted file mode 100644
index f039832..0000000
--- a/debian/libss2.copyright
+++ /dev/null
@@ -1,25 +0,0 @@
-This is the Debian GNU/Linux prepackaged version of the ss
-command-line interface parsing library. It is currently
-distributed together with the EXT2 file system utilities, which are
-otherwise packaged as "e2fsprogs".
-
-This package was put together by Yann Dirson <dirson@debian.org>,
-from sources obtained from a mirror of:
- tsx-11.mit.edu:/pub/linux/packages/ext2fs/
-
-From the original distribution:
-
-Copyright 1987, 1988 by the Student Information Processing Board
-	of the Massachusetts Institute of Technology
-
-Permission to use, copy, modify, and distribute this software
-and its documentation for any purpose and without fee is
-hereby granted, provided that the above copyright notice
-appear in all copies and that both that copyright notice and
-this permission notice appear in supporting documentation,
-and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
-used in advertising or publicity pertaining to distribution
-of the software without specific, written prior permission.
-M.I.T. and the M.I.T. S.I.P.B. make no representations about
-the suitability of this software for any purpose.  It is
-provided "as is" without express or implied warranty.
diff --git a/debian/libuuid1.copyright b/debian/libuuid1.copyright
deleted file mode 100644
index f346739..0000000
--- a/debian/libuuid1.copyright
+++ /dev/null
@@ -1,38 +0,0 @@
-This package was added to the e2fsprogs debian source package by
-Theodore Ts'o <tytso@mit.edu> on Sat Mar 15 15:33:37 EST 2003
-
-It is part of the main e2fsprogs distribution, which can be found at:
-
-	http://sourceforge.net/projects/e2fsprogs
-
-Upstream Author: Theodore Ts'o <tytso@mit.edu>
-
-Copyright:
-
-Copyright (C) 1999, 2000, 2003, 2004 by Theodore Ts'o
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, and the entire permission notice in its entirety,
-   including the disclaimer of warranties.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote
-   products derived from this software without specific prior
-   written permission.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
-WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
diff --git a/debian/rules b/debian/rules
index e36bcaa..b85976f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -27,7 +27,7 @@
 stdbuilddir	?= ${topdir}/debian/BUILD-STD
 
 INSTALL ?= install
-INSTALL_PROGRAM ?= $(INSTALL) -p -o root -g root -m 0755
+INSTALL_PROGRAM ?= $(INSTALL) -p -m 0755
 
 ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS)))
 SYMBOL_LIBS := libext2fs libcomerr2 libss2
@@ -179,7 +179,7 @@
 
 override_dh_auto_test:
 ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
-	$(MAKE) -C ${stdbuilddir} V=1 check
+	PRINT_FAILED=yes $(MAKE) -C ${stdbuilddir} V=1 check
 endif
 
 test_printenv:
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
index 52e733e..ca0febe 100644
--- a/debian/source/lintian-overrides
+++ b/debian/source/lintian-overrides
@@ -1,2 +1,2 @@
-e2fsprogs source: weak-library-dev-dependency ss-dev on libss2 (= ${mainBinary})
-e2fsprogs source: weak-library-dev-dependency comerr-dev on libcom-err2 (= ${mainBinary})
+e2fsprogs source: weak-library-dev-dependency
+e2fsprogs source: no-debian-changes
diff --git a/debian/uuid-dev.copyright b/debian/uuid-dev.copyright
deleted file mode 100644
index f346739..0000000
--- a/debian/uuid-dev.copyright
+++ /dev/null
@@ -1,38 +0,0 @@
-This package was added to the e2fsprogs debian source package by
-Theodore Ts'o <tytso@mit.edu> on Sat Mar 15 15:33:37 EST 2003
-
-It is part of the main e2fsprogs distribution, which can be found at:
-
-	http://sourceforge.net/projects/e2fsprogs
-
-Upstream Author: Theodore Ts'o <tytso@mit.edu>
-
-Copyright:
-
-Copyright (C) 1999, 2000, 2003, 2004 by Theodore Ts'o
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, and the entire permission notice in its entirety,
-   including the disclaimer of warranties.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote
-   products derived from this software without specific prior
-   written permission.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
-WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
diff --git a/debian/uuid-runtime.copyright b/debian/uuid-runtime.copyright
deleted file mode 100644
index afcd4c5..0000000
--- a/debian/uuid-runtime.copyright
+++ /dev/null
@@ -1,39 +0,0 @@
-This package was added to the e2fsprogs debian source package by
-Theodore Ts'o <tytso@mit.edu> on Fri Dec 14 22:24:35 EST 2007
-
-It is part of the main e2fsprogs distribution, which can be found at:
-
-	http://sourceforge.net/projects/e2fsprogs
-
-Upstream Author: Theodore Ts'o <tytso@mit.edu>
-
-Copyright:
-
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
-Theodore Ts'o
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, and the entire permission notice in its entirety,
-   including the disclaimer of warranties.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote
-   products derived from this software without specific prior
-   written permission.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
-WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
diff --git a/debugfs/Android.bp b/debugfs/Android.bp
index 3a2f520..4d087b3 100644
--- a/debugfs/Android.bp
+++ b/debugfs/Android.bp
@@ -42,13 +42,11 @@
         "do_journal.c",
     ],
     cflags: [
-        "-Wno-unused-variable",
-        "-fno-strict-aliasing",
         "-DDEBUGFS",
     ],
     include_dirs: [
         "external/e2fsprogs/misc",
-        "external/e2fsprogs/e2fsck"
+        "external/e2fsprogs/e2fsck",
     ],
 }
 
diff --git a/debugfs/Makefile.in b/debugfs/Makefile.in
index ed4ea8d..67f8d0b 100644
--- a/debugfs/Makefile.in
+++ b/debugfs/Makefile.in
@@ -391,6 +391,7 @@
  $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \
  $(top_srcdir)/lib/ext2fs/compiler.h
 revoke.o: $(srcdir)/../e2fsck/revoke.c $(srcdir)/../e2fsck/jfs_user.h \
+ $(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/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
  $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
@@ -400,6 +401,7 @@
  $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \
  $(top_srcdir)/lib/ext2fs/compiler.h
 recovery.o: $(srcdir)/../e2fsck/recovery.c $(srcdir)/../e2fsck/jfs_user.h \
+ $(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/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
  $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
diff --git a/debugfs/debugfs.8.in b/debugfs/debugfs.8.in
index 393c000..637d22b 100644
--- a/debugfs/debugfs.8.in
+++ b/debugfs/debugfs.8.in
@@ -59,8 +59,8 @@
 .I \-c
 Specifies that the file system should be opened in catastrophic mode, in
 which the inode and group bitmaps are not read initially.  This can be
-useful for filesystems with significant corruption, but because of this,
-catastrophic mode forces the filesystem to be opened read-only.
+useful for file systems with significant corruption, but because of this,
+catastrophic mode forces the file system to be opened read-only.
 .TP
 .I \-i
 Specifies that
@@ -102,9 +102,9 @@
 .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 filesystem).  If you specify the
+1024 bytes from the beginning of the file system).  If you specify the
 .I -s
-option, you must also provide the blocksize of the filesystem via the
+option, you must also provide the blocksize of the file system via the
 .I -b
 option.   (This
 option is rarely needed; it is used primarily when the file system is
@@ -153,7 +153,7 @@
 commands take a
 .I filespec
 as an argument to specify an inode (as opposed to a pathname)
-in the filesystem which is currently opened by
+in the file system which is currently opened by
 .BR debugfs .
 The
 .I filespec
@@ -161,7 +161,7 @@
 number surrounded by angle brackets, e.g.,
 .IR <2> .
 The second form is a pathname; if the pathname is prefixed by a forward slash
-('/'), then it is interpreted relative to the root of the filesystem
+('/'), then it is interpreted relative to the root of the file system
 which is currently opened by
 .BR debugfs .
 If not, the pathname is
@@ -194,7 +194,7 @@
 flag is specified, try to allocate a block if necessary.
 .TP
 .BI block_dump " '[ -x ] [-f filespec] block_num"
-Dump the filesystem block given by
+Dump the file system block given by
 .I block_num
 in hex and ASCII format to the console.  If the
 .I \-f
@@ -243,7 +243,7 @@
 .IR filename .
 .TP
 .BI dirty " [-clean]"
-Mark the filesystem as dirty, so that the superblocks will be written on exit.
+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.
@@ -280,7 +280,7 @@
 must be in UUID format.
 .TP
 .BI dump_extents " [-n] [-l] filespec"
-Dump the the extent tree of the inode
+Dump the extent tree of the inode
 .IR filespec .
 The
 .I -n
@@ -294,7 +294,7 @@
 .IP
 (Please note that the length and range of blocks for the last extent in
 an interior node is an estimate by the extents library functions, and is
-not stored in filesystem data structures.   Hence, the values displayed
+not stored in file system data structures.   Hence, the values displayed
 may not necessarily by accurate and does not indicate a problem or
 corruption in the file system.)
 .TP
@@ -339,9 +339,9 @@
 mappings are left alone.
 .TP
 .BI feature " [fs_feature] [-fs_feature] ..."
-Set or clear various filesystem features in the superblock.  After setting
-or clearing any filesystem features that were requested, print the current
-state of the filesystem feature set.
+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"
 Print the number of contiguous extents in
@@ -493,7 +493,7 @@
 .B debugfs
 process to
 .I directory
-on the native filesystem.
+on the native file system.
 .TP
 .BI list_quota " quota_type"
 Display quota information for given quota type (user, group, or project).
@@ -606,13 +606,13 @@
 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"
-Open a filesystem for editing.  The
+Open a file system for editing.  The
 .I -f
-flag forces the filesystem to be opened even if there are some unknown
-or incompatible filesystem features which would normally
-prevent the filesystem from being opened.  The
+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
-flag causes the filesystem to be opened in exclusive mode.  The
+flag causes the file system to be opened in exclusive mode.  The
 .IR -b ", " -c ", " -d ", " -i ", " -s ", " -w ", and " -D
 options behave the same as the command-line options to
 .BR debugfs .
@@ -647,7 +647,7 @@
 and all its contents (including regular files, symbolic links, and other
 directories) into the named
 .IR destination ,
-which should be an existing directory on the native filesystem.
+which should be an existing directory on the native file system.
 .TP
 .BI rm " pathname"
 Unlink
@@ -685,7 +685,7 @@
 .BR set_bg .
 .TP
 .BI set_current_time " time"
-Set current time in seconds since Unix epoch to use when setting filesystem
+Set current time in seconds since Unix epoch to use when setting file system
 fields.
 .TP
 .BI seti " filespec [num]"
@@ -733,7 +733,7 @@
 .B show_debugfs_params
 Display
 .B debugfs
-parameters such as information about currently opened filesystem.
+parameters such as information about currently opened file system.
 .TP
 .BI show_super_stats " [-h]"
 List the contents of the super block and the block group descriptors.  If the
@@ -746,7 +746,7 @@
 .IR filespec .
 .TP
 .B supported_features
-Display filesystem features supported by this version of
+Display file system features supported by this version of
 .BR debugfs .
 .TP
 .BI testb " block [count]"
@@ -784,7 +784,7 @@
 .B link
 command to link the inode to the destination pathname, or use
 .B e2fsck
-to check the filesystem and link all of the recovered inodes to the
+to check the file system and link all of the recovered inodes to the
 lost+found directory.
 .TP
 .BI unlink " pathname"
@@ -795,7 +795,7 @@
 .BI write " source_file out_file"
 Copy the contents of
 .I source_file
-into a newly-created file in the filesystem named
+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"
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
index b67a88b..9b6321d 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
@@ -50,7 +50,7 @@
 
 /*
  * There must be only one definition if we're hooking in extra commands or
- * chaging default prompt. Use -DSKIP_GLOBDEF for that.
+ * changing default prompt. Use -DSKIP_GLOBDEF for that.
  */
 #ifndef SKIP_GLOBDEFS
 ss_request_table *extra_cmds;
@@ -195,9 +195,7 @@
 	}
 	current_fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE;
 
-	if (catastrophic)
-		com_err(device, 0, "catastrophic mode - not reading inode or group bitmaps");
-	else {
+	if (!catastrophic) {
 		retval = ext2fs_read_bitmaps(current_fs);
 		if (retval) {
 			com_err(device, retval,
diff --git a/debugfs/journal.c b/debugfs/journal.c
index 095fff0..5bac0d3 100644
--- a/debugfs/journal.c
+++ b/debugfs/journal.c
@@ -769,6 +769,8 @@
 		mark_buffer_dirty(journal->j_sb_buffer);
 	}
 
+	journal->j_tail_sequence = journal->j_transaction_sequence;
+
 errout:
 	jbd2_journal_destroy_revoke(journal);
 	jbd2_journal_destroy_revoke_record_cache();
diff --git a/debugfs/logdump.c b/debugfs/logdump.c
index 27e2e72..6b0133e 100644
--- a/debugfs/logdump.c
+++ b/debugfs/logdump.c
@@ -33,7 +33,14 @@
 #include "debugfs.h"
 #include "blkid/blkid.h"
 #include "jfs_user.h"
+#if __GNUC_PREREQ (4, 6)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-function"
+#endif
 #include "ext2fs/fast_commit.h"
+#if __GNUC_PREREQ (4, 6)
+#pragma GCC diagnostic pop
+#endif
 #include <uuid/uuid.h>
 
 enum journal_location {JOURNAL_IS_INTERNAL, JOURNAL_IS_EXTERNAL};
@@ -56,18 +63,18 @@
 
 static void dump_descriptor_block(FILE *, struct journal_source *,
 				  char *, journal_superblock_t *,
-				  unsigned int *, int, __u32, tid_t);
+				  unsigned int *, unsigned int, __u32, tid_t);
 
 static void dump_revoke_block(FILE *, char *, journal_superblock_t *,
-				  unsigned int, int, tid_t);
+				  unsigned int, unsigned int, tid_t);
 
 static void dump_metadata_block(FILE *, struct journal_source *,
 				journal_superblock_t*,
 				unsigned int, unsigned int, unsigned int,
-				int, tid_t);
+				unsigned int, tid_t);
 
 static void dump_fc_block(FILE *out_file, char *buf, int blocksize,
-			  int transaction, int *fc_done, int dump_old);
+			  tid_t transaction, int *fc_done);
 
 static void do_hexdump (FILE *, char *, int);
 
@@ -522,8 +529,7 @@
 		if (retval)
 			return;
 
-		dump_fc_block(out_file, buf, blocksize, transaction, &fc_done,
-			dump_old);
+		dump_fc_block(out_file, buf, blocksize, transaction, &fc_done);
 		if (!dump_old && fc_done)
 			break;
 		blocknr++;
@@ -549,26 +555,30 @@
 }
 
 static void dump_fc_block(FILE *out_file, char *buf, int blocksize,
-	int transaction, int *fc_done, int dump_old)
+			  tid_t transaction, int *fc_done)
 {
-	struct ext4_fc_tl	*tl;
+	struct ext4_fc_tl	tl;
 	struct ext4_fc_head	*head;
 	struct ext4_fc_add_range	*add_range;
 	struct ext4_fc_del_range	*del_range;
 	struct ext4_fc_dentry_info	*dentry_info;
 	struct ext4_fc_tail		*tail;
 	struct ext3_extent	*ex;
+	__u8			*cur, *val;
 
 	*fc_done = 0;
-	fc_for_each_tl(buf, buf + blocksize, tl) {
-		switch (le16_to_cpu(tl->fc_tag)) {
+	for (cur = (__u8 *)buf; cur < (__u8 *)buf + blocksize;
+	     cur = cur + sizeof(tl) + le16_to_cpu(tl.fc_len)) {
+		memcpy(&tl, cur, sizeof(tl));
+		val = cur + sizeof(tl);
+
+		switch (le16_to_cpu(tl.fc_tag)) {
 		case EXT4_FC_TAG_ADD_RANGE:
-			add_range =
-				(struct ext4_fc_add_range *)ext4_fc_tag_val(tl);
+			add_range = (struct ext4_fc_add_range *)val;
 			ex = (struct ext3_extent *)add_range->fc_ex;
 			fprintf(out_file,
 				"tag %s, inode %d, lblk %u, pblk %llu, len %lu\n",
-				tag2str(tl->fc_tag),
+				tag2str(tl.fc_tag),
 				le32_to_cpu(add_range->fc_ino),
 				le32_to_cpu(ex->ee_block),
 				le32_to_cpu(ex->ee_start) +
@@ -578,10 +588,9 @@
 				le16_to_cpu(ex->ee_len));
 			break;
 		case EXT4_FC_TAG_DEL_RANGE:
-			del_range =
-				(struct ext4_fc_del_range *)ext4_fc_tag_val(tl);
+			del_range = (struct ext4_fc_del_range *)val;
 			fprintf(out_file, "tag %s, inode %d, lblk %d, len %d\n",
-				tag2str(tl->fc_tag),
+				tag2str(tl.fc_tag),
 				le32_to_cpu(del_range->fc_ino),
 				le32_to_cpu(del_range->fc_lblk),
 				le32_to_cpu(del_range->fc_len));
@@ -589,29 +598,26 @@
 		case EXT4_FC_TAG_LINK:
 		case EXT4_FC_TAG_UNLINK:
 		case EXT4_FC_TAG_CREAT:
-			dentry_info =
-				(struct ext4_fc_dentry_info *)
-					ext4_fc_tag_val(tl);
+			dentry_info = (struct ext4_fc_dentry_info *)val;
 			fprintf(out_file,
 				"tag %s, parent %d, ino %d, name \"%s\"\n",
-				tag2str(tl->fc_tag),
+				tag2str(tl.fc_tag),
 				le32_to_cpu(dentry_info->fc_parent_ino),
 				le32_to_cpu(dentry_info->fc_ino),
 				dentry_info->fc_dname);
 			break;
 		case EXT4_FC_TAG_INODE:
 			fprintf(out_file, "tag %s, inode %d\n",
-				tag2str(tl->fc_tag),
-				le32_to_cpu(((struct ext4_fc_inode *)
-					ext4_fc_tag_val(tl))->fc_ino));
+				tag2str(tl.fc_tag),
+				le32_to_cpu(((struct ext4_fc_inode *)val)->fc_ino));
 			break;
 		case EXT4_FC_TAG_PAD:
-			fprintf(out_file, "tag %s\n", tag2str(tl->fc_tag));
+			fprintf(out_file, "tag %s\n", tag2str(tl.fc_tag));
 			break;
 		case EXT4_FC_TAG_TAIL:
-			tail = (struct ext4_fc_tail *)ext4_fc_tag_val(tl);
+			tail = (struct ext4_fc_tail *)val;
 			fprintf(out_file, "tag %s, tid %d\n",
-				tag2str(tl->fc_tag),
+				tag2str(tl.fc_tag),
 				le32_to_cpu(tail->fc_tid));
 			if (!dump_old &&
 				le32_to_cpu(tail->fc_tid) < transaction) {
@@ -621,9 +627,9 @@
 			break;
 		case EXT4_FC_TAG_HEAD:
 			fprintf(out_file, "\n*** Fast Commit Area ***\n");
-			head = (struct ext4_fc_head *)ext4_fc_tag_val(tl);
+			head = (struct ext4_fc_head *)val;
 			fprintf(out_file, "tag %s, features 0x%x, tid %d\n",
-				tag2str(tl->fc_tag),
+				tag2str(tl.fc_tag),
 				le32_to_cpu(head->fc_features),
 				le32_to_cpu(head->fc_tid));
 			if (!dump_old &&
@@ -643,11 +649,11 @@
 				  struct journal_source *source,
 				  char *buf,
 				  journal_superblock_t *jsb,
-				  unsigned int *blockp, int blocksize,
+				  unsigned int *blockp, unsigned blocksize,
 				  __u32 maxlen,
 				  tid_t transaction)
 {
-	int			offset, tag_size, csum_size = 0;
+	unsigned		offset, tag_size, csum_size = 0;
 	char			*tagp;
 	journal_block_tag_t	*tag;
 	unsigned int		blocknr;
@@ -703,10 +709,10 @@
 static void dump_revoke_block(FILE *out_file, char *buf,
 			      journal_superblock_t *jsb EXT2FS_ATTR((unused)),
 			      unsigned int blocknr,
-			      int blocksize EXT2FS_ATTR((unused)),
+			      unsigned int blocksize,
 			      tid_t transaction)
 {
-	int			offset, max;
+	unsigned int		offset, max;
 	jbd2_journal_revoke_header_t *header;
 	unsigned long long	rblock;
 	int			tag_size = sizeof(__u32);
@@ -721,10 +727,10 @@
 	header = (jbd2_journal_revoke_header_t *) buf;
 	offset = sizeof(jbd2_journal_revoke_header_t);
 	max = be32_to_cpu(header->r_count);
-	if (max > jsb->s_blocksize) {
+	if (max > blocksize) {
 		fprintf(out_file, "Revoke block's r_count invalid: %u\b",
 			max);
-		max = jsb->s_blocksize;
+		max = blocksize;
 	}
 
 	while (offset < max) {
@@ -769,7 +775,7 @@
 				unsigned int log_blocknr,
 				unsigned int fs_blocknr,
 				unsigned int log_tag_flags,
-				int blocksize,
+				unsigned int blocksize,
 				tid_t transaction)
 {
 	int		retval;
diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c
index 011f26d..963b3a1 100644
--- a/debugfs/ncheck.c
+++ b/debugfs/ncheck.c
@@ -134,9 +134,15 @@
 
 	iw.names_left = 0;
 	for (i=0; i < argc; i++) {
-		iw.iarray[i] = strtol(argv[i], &tmp, 0);
-		if (*tmp) {
-			com_err("ncheck", 0, "Bad inode - %s", argv[i]);
+		char *str = argv[i];
+		int len = strlen(str);
+
+		if ((len > 2) && (str[0] == '<') && (str[len - 1] == '>'))
+			str++;
+		iw.iarray[i] = strtol(str, &tmp, 0);
+		if (*tmp && (str == argv[i] || *tmp != '>')) {
+			com_err("ncheck", 0, "Invalid inode number - '%s'",
+				argv[i]);
 			goto error_out;
 		}
 		if (debugfs_read_inode(iw.iarray[i], &inode, *argv))
diff --git a/debugfs/quota.c b/debugfs/quota.c
index f792bd7..1da1e03 100644
--- a/debugfs/quota.c
+++ b/debugfs/quota.c
@@ -123,7 +123,7 @@
 
 	printf("%7s %2s   %8s %8s %8s    %8s %8s %8s\n",
 	       quota_type[type], "id",
-	       "blocks", "quota", "limit", "inodes", "quota", "limit");
+	       "space", "quota", "limit", "inodes", "quota", "limit");
 	qh = current_qctx->quota_file[type];
 	retval = qh->qh_ops->scan_dquots(qh, list_quota_callback, NULL);
 	if (retval) {
@@ -158,7 +158,7 @@
 
 	printf("%7s %2s   %8s %8s %8s    %8s %8s %8s\n",
 	       quota_type[type], "id",
-	       "blocks", "quota", "limit", "inodes", "quota", "limit");
+	       "space", "quota", "limit", "inodes", "quota", "limit");
 
 	qh = current_qctx->quota_file[type];
 
diff --git a/debugfs/recovery.c b/debugfs/recovery.c
index 1e07dfa..8ca3527 100644
--- a/debugfs/recovery.c
+++ b/debugfs/recovery.c
@@ -179,8 +179,8 @@
 	if (!jbd2_journal_has_csum_v2or3(j))
 		return 1;
 
-	tail = (struct jbd2_journal_block_tail *)(buf + j->j_blocksize -
-			sizeof(struct jbd2_journal_block_tail));
+	tail = (struct jbd2_journal_block_tail *)((char *)buf +
+		j->j_blocksize - sizeof(struct jbd2_journal_block_tail));
 	provided = tail->t_checksum;
 	tail->t_checksum = 0;
 	calculated = jbd2_chksum(j, j->j_csum_seed, buf, j->j_blocksize);
@@ -196,7 +196,7 @@
 static int count_tags(journal_t *journal, struct buffer_head *bh)
 {
 	char *			tagp;
-	journal_block_tag_t *	tag;
+	journal_block_tag_t	tag;
 	int			nr = 0, size = journal->j_blocksize;
 	int			tag_bytes = journal_tag_bytes(journal);
 
@@ -206,14 +206,14 @@
 	tagp = &bh->b_data[sizeof(journal_header_t)];
 
 	while ((tagp - bh->b_data + tag_bytes) <= size) {
-		tag = (journal_block_tag_t *) tagp;
+		memcpy(&tag, tagp, sizeof(tag));
 
 		nr++;
 		tagp += tag_bytes;
-		if (!(tag->t_flags & cpu_to_be16(JBD2_FLAG_SAME_UUID)))
+		if (!(tag.t_flags & cpu_to_be16(JBD2_FLAG_SAME_UUID)))
 			tagp += 16;
 
-		if (tag->t_flags & cpu_to_be16(JBD2_FLAG_LAST_TAG))
+		if (tag.t_flags & cpu_to_be16(JBD2_FLAG_LAST_TAG))
 			break;
 	}
 
@@ -325,7 +325,7 @@
 		err = err2;
 	/* Make sure all replayed data is on permanent storage */
 	if (journal->j_flags & JBD2_BARRIER) {
-		err2 = blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL);
+		err2 = blkdev_issue_flush(journal->j_fs_dev);
 		if (!err)
 			err = err2;
 	}
@@ -433,9 +433,9 @@
 }
 
 static int jbd2_block_tag_csum_verify(journal_t *j, journal_block_tag_t *tag,
+				      journal_block_tag3_t *tag3,
 				      void *buf, __u32 sequence)
 {
-	journal_block_tag3_t *tag3 = (journal_block_tag3_t *)tag;
 	__u32 csum32;
 	__be32 seq;
 
@@ -496,7 +496,7 @@
 	while (1) {
 		int			flags;
 		char *			tagp;
-		journal_block_tag_t *	tag;
+		journal_block_tag_t	tag;
 		struct buffer_head *	obh;
 		struct buffer_head *	nbh;
 
@@ -613,8 +613,8 @@
 			       <= journal->j_blocksize - descr_csum_size) {
 				unsigned long io_block;
 
-				tag = (journal_block_tag_t *) tagp;
-				flags = be16_to_cpu(tag->t_flags);
+				memcpy(&tag, tagp, sizeof(tag));
+				flags = be16_to_cpu(tag.t_flags);
 
 				io_block = next_log_block++;
 				wrap(journal, next_log_block);
@@ -632,7 +632,7 @@
 
 					J_ASSERT(obh != NULL);
 					blocknr = read_tag_block(journal,
-								 tag);
+								 &tag);
 
 					/* If the block has been
 					 * revoked, then we're all done
@@ -647,8 +647,8 @@
 
 					/* Look for block corruption */
 					if (!jbd2_block_tag_csum_verify(
-						journal, tag, obh->b_data,
-						be32_to_cpu(tmp->h_sequence))) {
+			journal, &tag, (journal_block_tag3_t *)tagp,
+			obh->b_data, be32_to_cpu(tmp->h_sequence))) {
 						brelse(obh);
 						success = -EFSBADCRC;
 						printk(KERN_ERR "JBD2: Invalid "
@@ -760,7 +760,6 @@
 				 */
 				jbd_debug(1, "JBD2: Invalid checksum ignored in transaction %u, likely stale data\n",
 					  next_commit_ID);
-				err = 0;
 				brelse(bh);
 				goto done;
 			}
@@ -897,7 +896,7 @@
 {
 	jbd2_journal_revoke_header_t *header;
 	int offset, max;
-	int csum_size = 0;
+	unsigned csum_size = 0;
 	__u32 rcount;
 	int record_len = 4;
 
diff --git a/debugfs/xattrs.c b/debugfs/xattrs.c
index bd11450..cd042bc 100644
--- a/debugfs/xattrs.c
+++ b/debugfs/xattrs.c
@@ -430,9 +430,9 @@
 #else
 		ent = *((struct ext2_ext_attr_entry *) (buf + off));
 #endif
-		fprintf(f, "offset = %d (%04o), name_len = %u, "
+		fprintf(f, "offset = %d (%04o), hash = %u, name_len = %u, "
 			"name_index = %u\n",
-			off, off, ent.e_name_len, ent.e_name_index);
+			off, off, ent.e_hash, ent.e_name_len, ent.e_name_index);
 		vstart = value_start + ent.e_value_offs;
 		fprintf(f, "value_offset = %d (%04o), value_inum = %u, "
 			"value_size = %u\n", ent.e_value_offs,
diff --git a/depfix.sed b/depfix.sed
index 582d79f..680fb22 100644
--- a/depfix.sed
+++ b/depfix.sed
@@ -24,7 +24,7 @@
 
 s;/usr/include/[^ ]* *;;g
 s;/usr/lib/[^ ]* *;;g
-s;/mit/cygnus[^ ]* *;;g
+s;/bin/[^ ]* *;;g
 s;\.\./[^ ]*lib/blkid/blkid[^ ]* *;;g
 s;\.\./[^ ]*lib/uuid/uuid.h[^ ]* *;;g
 
diff --git a/doc/RelNotes/v1.44.6.txt b/doc/RelNotes/v1.44.6.txt
index 6c9e08f..39e9b95 100644
--- a/doc/RelNotes/v1.44.6.txt
+++ b/doc/RelNotes/v1.44.6.txt
@@ -26,7 +26,7 @@
 
 Fix mke2fs and debugfs so they can correctly copy in files > 2 GiB.
 
-Fix debugfs so its stat command can correct supportly display directory
+Fix debugfs so its stat command can correctly display directory
 sizes > 2 GiB.
 
 Fix memory leaks in debugfs, mke2fs, and e2freefrag.
diff --git a/doc/RelNotes/v1.45.7.txt b/doc/RelNotes/v1.45.7.txt
index 2a16776..f3957b1 100644
--- a/doc/RelNotes/v1.45.7.txt
+++ b/doc/RelNotes/v1.45.7.txt
@@ -38,7 +38,7 @@
 
 Fix mke2fs so it can import the contents of a directory using the -d
 option when it has inode numbers that are greater than 2**32.   Also fix
-an ommission were the extended attributes on the top-level directory was
+an omission were the extended attributes on the top-level directory was
 not getting copied to the root directory.
 
 Fix e4crypt so that the add_key operation uses the explicitly provided
diff --git a/doc/RelNotes/v1.46.1.txt b/doc/RelNotes/v1.46.1.txt
index e8d90d1..7026e5f 100644
--- a/doc/RelNotes/v1.46.1.txt
+++ b/doc/RelNotes/v1.46.1.txt
@@ -37,5 +37,5 @@
 Fixed/improved various Debian packaging issues.  (Addresses-Debian-Bug:
 #966686)
 
-Update the Czech, French, Malay, Polish, Portuguese, Sweedish, and
+Update the Czech, French, Malay, Polish, Portuguese, Swedish, and
 Ukranian translations from the translation project.
diff --git a/doc/RelNotes/v1.46.3.txt b/doc/RelNotes/v1.46.3.txt
new file mode 100644
index 0000000..b0e4d8b
--- /dev/null
+++ b/doc/RelNotes/v1.46.3.txt
@@ -0,0 +1,77 @@
+E2fsprogs 1.46.3 (July 27, 2021)
+================================
+
+Updates/Fixes since v1.46.2:
+
+UI and Features
+---------------
+
+Teach the filefrag program the -V option, which will print the version
+of the tool, or if -V option is specified twice, will print the list of
+supported FIEMAP flags.
+
+
+Fixes
+-----
+
+Fix bug in resize2fs where growing a file system with MMP enabled and
+there aren't any (or sufficient) reserved block group descriptors,
+resize2fs could potentially overwrite the MMP block, leading to file
+system corruption.  (Addresses Debian Bug: #984472)
+
+Fix fast_commit portability problems on sparc64 and arm64 architectures
+(the latter when running e2fsprogs compiled for arm32).   (Addresses
+Debian Bug: #987641)
+
+Fix missing mutex unlock in an error path in the Unix I/O manager.
+
+Fix Direct I/O support in the Unix I/O manager (this was a regression
+that was introduced in v1.46.2).
+
+Fix mke2fs to avoid discarding blocks beyond the end of the file system
+to be created when creating a file system which is smaller than 16MB and
+the file system size was explicitly specified and smaller than the size
+of the block device.  (Addresses Debian Bug: #989630)
+
+Teach mke2fs to avoid giving a spurious warning about a pre-existing
+partition table and it is creating a file system at a non-zero offset
+(so the partition table wouldn't be overwritten in any case).
+(Addresses Debian Bug: #989612)
+
+Fix e2image -Q to prevent a multiplication overflow could corrupt the
+generated QCOW2 output file for very large file systems.
+
+When e2fsck repairs '.' and '..' entries in corrupted directories, set
+the file type in the directory entry to be EXT2_FT_DIR and do not leave
+the file type as EXT2_FT_UNKNOWN.
+
+Fix e2fsck so that the if the s_interval is zero, and the last mount or
+write time is in the future, it will fix invalid last mount/write
+timestamps in the superblock.  (This was a regression introduced in
+v1.45.5.)
+
+Fix potential memory leaks and seg faults when memory allocations fail.
+
+Fix lsattr and chattr to avoid opening or calling EXT2_IOC_[GS]ETFLAGS
+on devices, since this can cause some devices to react badly as a
+result.  (Thix fixes a regression introduced in v1.46.2 and addresses
+Debian Bug: #986332)
+
+Updated and clarified the e2image and filefrag man pages.
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+Avoid forking an unnecessary thread in ext2fs_rw_bitmaps().
+
+Avoid unnecessary stat(2) calls on mountpoints when checking if a file
+system is mounted.
+
+Add more modern support for Windows I/O.
+
+Fix various compiler and valgrind warnings.
+
+Synchronized changes from Android's AOSP e2fsprogs tree.
+
+Update Dutch, Malay, and Serbian translations.
diff --git a/doc/RelNotes/v1.46.4.txt b/doc/RelNotes/v1.46.4.txt
new file mode 100644
index 0000000..5e39745
--- /dev/null
+++ b/doc/RelNotes/v1.46.4.txt
@@ -0,0 +1,69 @@
+E2fsprogs 1.46.4 (August 18, 2021)
+==================================
+
+Updates/Fixes since v1.46.3:
+
+UI and Features
+---------------
+
+The defaults for mke2fs now call for 256 byte inodes for all file
+systems (with the exception of file systems for the GNU Hurd, which only
+supports 128 byte inodes).  Creating non-Hurd file systems with 128 byte
+inodes will trigger a warning message to make sure users are aware of
+the potential problems of using small/legacy inode sizes.
+
+The bigalloc feature is now considered supported if the cluster size no
+more than 16 times the block size.  So the mke2fs program has been
+changes to only warn if the cluster size is larger than that.
+
+
+Fixes
+-----
+
+E2fsck now checks to make sure directory entries do not reference
+internal quota inodes.
+
+E2image now includes the quota inodes when creating file system image,
+since they are part of the file system metadata.
+
+E2fsck now properly accounts the quota usage of the project quota file.
+
+Fix a regression introduced in 1.64.3 where attempting to create a file
+system image using mke2fs into a non-existent file would fail.
+(Addresses Debian Bug: #992094)
+
+Fix mke2fs to correctly create Posix ACL's on big-endian systems when
+copying files from a directory hierarchy.
+
+Updated and clarified the resize2fs man page.  (Addresses Debian Bug:
+#979411)
+
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+Improve various regression tests to be more portable and to reflect the
+new default inode size of 256 byte inodes, even for small file systems.
+
+Fixed a GNU Hurd portability problem which was causing tests to fail.
+
+Fixed a test failure in f_baddotdir on big-endian systems.  This wasn't
+necessarily a bug per se in e2fsck, but rather e2fsck having different
+behaviour on big-endian systems.  (Addresses Debian Bug: #991922)
+
+Use WantedBy=multi-user.target in e2scrub_reap.service.  (Addresses
+Debian Bug: #991349)
+
+Synchronize e2fsck/recovery.c with the kernel's fs/jbd2/recovery.c
+
+Fix various Coverity and compiler warnings.
+
+Fix various error pathes to make sure we don't leak resources or
+potentially use or try to free uninitialized pointers.
+
+Added a setup-schroot command for use on Debian porter boxes.
+
+Updated config.guess and config.sub with newer versions from the FSF.
+
+Update Czech, Dutch, French, Polish, Portuguese, and Swedish translations.
diff --git a/doc/RelNotes/v1.46.5.txt b/doc/RelNotes/v1.46.5.txt
new file mode 100644
index 0000000..1bd60c8
--- /dev/null
+++ b/doc/RelNotes/v1.46.5.txt
@@ -0,0 +1,82 @@
+E2fsprogs 1.46.5 (December 30, 2021)
+====================================
+
+Updates/Fixes since v1.46.4:
+
+UI and Features
+---------------
+
+When resizing a file system and the inode count exceeds the 2**32
+maximum, if resize2fs can successfully perform the resize by dropping
+the last block group, resize2fs will do that in order to allow the file
+system grow operation to succeed.  For example, using the default inode
+ratio size of 16k, this will allow a successful resize to 64TB - 128MB
+when the storage device is 64TB.
+
+
+Fixes
+-----
+
+Avoid a potential infinite loop in resize2fs -P when the file system is
+corrupted (introduced in e2fsprogs 1.45.5).  (Addresses github issue
+https://github.com/tytso/e2fsprogs/issues/94)
+
+E2fsck now updates the bg_checksum after fixing problems in the block
+group descriptor, which eliminates some unnecessary messages printed or
+asked of the system administrator.
+
+Fixed some potential deadlock problems in the unix_io handler in the case
+of I/O errors.  The fix should also improve the performance of parallel
+bitmap loading.
+
+Fixed e2fsck's fast commit handling which could result it in crashing
+when trying to merge extents when there were none available to be
+merged.
+
+Fix e2fsck's support of quota limit data, which could sometimes get
+dropped when the quota data needs to be regenerated, or when processing
+the orphan list.
+
+Fix tune2fs to correctly transfer the quota limits when converting quota
+files to the internal quota inodes.  Also add support for tune2fs to
+properly handle the older version 0 quota files.
+
+Fix debugfs's get_quota and list_quota commands so that the header of
+the report printed by these commands correctly reflect that the units of
+used space is in bytes instead of blocks.
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+Add some additional packages to the setup-schroot script to account for
+the fact that the script can be run on older Debian distributions and so
+the build dependencies might omit some packages needed to build
+e2fsprogs on unstable version of Debian.
+
+Reduce resize2fs's CPU overhead when counting the number of blocks in
+use which can reduce the wall clock time for very large file systems
+by substantial amount.
+
+Teach libuuid to use getrandom() or getentropy() if available in favor
+of reading from /dev/[u]random.
+
+Teach libss to use libreadline.so.8 if it is available.
+
+Update some test expect files to fix some regression tests that were
+broken in e2fsprogs 1.46.4.
+
+If the PRINT_FAILED environment variable is set, failed tests will
+display the diff output to make it easier to debug test failures on
+autobuilders.
+
+Fix various compiler warnings.
+
+Update tst_getsize to use ext2fs_get_size2() to support testing devices
+which are larger than 2**32 sectors.
+
+Fixed spelling mistakes in the mke2fs.conf man page.
+
+Update Chinese, Malay, Serbian, Spanish, Swedish, and Ukrainian
+translations.
+
diff --git a/doc/RelNotes/v1.46.6.txt b/doc/RelNotes/v1.46.6.txt
new file mode 100644
index 0000000..3e8c9f4
--- /dev/null
+++ b/doc/RelNotes/v1.46.6.txt
@@ -0,0 +1,164 @@
+E2fsprogs 1.46.6 (September 12, 2022)
+=====================================
+
+Updates/Fixes since v1.46.5:
+
+UI and Features
+---------------
+
+Debugfs's ncheck command now allows the inode number to be surrounded by
+angle brackets, to be consistent with other debugfs commands.
+
+Debugfs no longer prints a scary message when debugfs -c (which enables
+"catastrophic mode") is used.  This was intended to allow debugfs to
+operate on very badly corrupted file systems, but it is now sometimes
+used to suppress reading the block and inode bitmaps when they are not
+needed.
+
+Resize2fs will round down the requested new file system size to the
+nearest cluster boundary when resizing bigalloc file systems.
+
+Improve error messages issued by badblocks.
+
+Fuse2fs now supports an offset=<bytes> option which allows operating on
+a file system image which is located starting at the specified offset
+from the beginning of the image.
+
+
+
+Fixes
+-----
+
+Pre-v6.2 Linux kernels had long-standing bug in how the extended
+attribute hash was calculated when there were non-ASCII characters in
+the xattr name, when the hash would be different depending on whether
+the C 'char' type was signed or unsigned.  To address this bug, starting
+with e2fsprogs 1.46.6+ and Linux 6.2+, we will accept either the signed
+or unsigned hash variant, but only set the unsigned hash variant.  Since
+extended attribute names are in practice composed of ASCII characters,
+other than various tests (such as generic/454), most users will
+hopefully not notice this change.
+
+Avoid triggering udev in dumpe2fs and "resize2fs -P" for file systems
+with MMP enabled by opening the device read-only when reading the MMP
+block.
+
+Fix MMP handling so it can notice when another writer has modify the MMP
+block out from under it when stopping a MMP sessions.
+
+Fix tune2fs so it will detect another device stealing the MMP sessions
+while rewriting metadata checksums.
+
+E2fsck will now check to make sure the journal inode does not have the
+encrypt flag set.
+
+Fix a deadlock bug in e2fsck's error handler when there are errors
+trying to write to the file system.
+
+Fix a bug where e2fsck could fail when specifying an undo file and an
+explicit superblock number.
+
+Fix e2image so it won't potentially loop forever for certain invalid
+file systems.
+
+Fix resize2fs to honor the E2FSPROGS_FAKE_TIME environment variable.
+This allows embedded system builders who use resize2fs as part of their
+image build process to create reproducible images.
+
+Fix tune2fs to avoid a crash if the journal replay fails and to make
+sure its exit status is non-zero if there is some failure.
+
+Fix tune2fs, fuse2fs, and debugsfs to update j_tail_sequence when
+replaying the journal.
+
+Add additional bullet-proofing for very badly corrupted file systems.
+Try avoid UBSAN warnings, null pointer derferences, and other memory
+bugs.  (Addresses CVE-2022-1304)
+
+Don't fail when the source directory for mke2fs -d doesn't support
+extended attributese.
+
+Check for and handle malloc() failures when computing the log filename
+in e2fsck and in the libss library.
+
+Fix tune2fs and e2fsck to accept pathames which include '=' characters.
+Previously arguments to tune2fs and e2fsck which included '=' characters
+are presumed to be blkid specifiers such as UUID=xxx or LABEL=yyy.  If a
+specifier is both a valid pathname name and blkid tag name specifier,
+priority is given to a blkid resolved pathname.
+
+Improve tune2fs's error messages.
+
+Fix a bug in tune2fs which could cause it to crash if device goes
+off-line just as it being opened.
+
+Fix the fsck driver so if it is interrupted while running fsck -N it
+doesn't end up kllling all processes on the system.
+
+Fix a crash in badblocks when the user specifies an overly large
+number of blocks tested at a time in read/write or nondestructive
+mode.
+
+Update and clarify's chattr's man page and usage message.  Fix spelling
+typo's in a variety of different man pages and comments.
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+Update to autoconf 2.71.
+
+Update flags used to create shared library on Darwin/MacOS.
+
+Speed up e2fsck's clonning of multiply-claimed blocks so it is
+substantially faster on very large file systems.
+
+Add tests/fuzz directory with fuzzers from oss-fuzz.
+
+Add a Github Actions configuration file so that Github will run CI tests
+on Linux, Windows and MacOS on a push to the e2fsprogs github repo.
+
+Make the mtab parsing in ext2fs_check_mount_point() more careful so it
+won't get confused when a block device shows up in the mnt_name field
+for a virtual file system.
+
+Fix the libss's Makefile to create the man page directory before trying
+to install its man page.
+
+Fix various Coverity and compiler warnings.
+
+Make tests more portable on various different OS's and system
+configurations (e.g., with SELinux enabled, MacOS, and Windows)
+
+Use mallinfo2() instead of mallinfo() where avilable, since mallinfo()
+is deprecated on newer glibc versions.
+
+E2fsck will no longer do a full scan of disconnected directory when
+trying to print the parent directory, which is pointless and can slow
+down e2fsck if there are a large number of disconnected directories.
+
+Debugfs will now print the extended attribute's e_hash field.
+
+Fix the setup-schroot script to work on non-Linux platforms.
+
+Fix ext2fs_compare_generic_bmap() so it correctly compares all of the
+bits in the bitmap, and so that it works correctly when comparing a
+bitarray bitmap with a rbtree-based bitmap.  (Fortunately, none of the
+programs in e2fsprogs uses bitmap comparison functions.)
+
+Fix memory leaks on error paths.
+
+Add support for the configure option --enable-largefile so that
+e2fsprogs can utilize largefile support for the MUSL C library.
+
+Add an note that the dict library code has been modified, as required by
+the Kazlib license.
+
+Synchronized changes from Android's AOSP e2fsprogs tree.
+
+Updated config.guess and config.sub with newer versions from the FSF.
+
+Add Friulian translation.
+
+Update Chinese, Czech, Dutch, French, German, Malay, Polish, Serbian,
+Spanish, Swedish, and Ukrainian translations.
diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo
index 26cfb0a..5300604 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.46.2)
+@settitle The EXT2FS Library (version 1.46.6)
 @synindex tp fn
 @comment %**end of header
 
@@ -60,8 +60,8 @@
 
 @title The EXT2FS Library
 @subtitle The EXT2FS Library
-@subtitle Version 1.46.2
-@subtitle February 2021
+@subtitle Version 1.46.6
+@subtitle February 2023
 
 @author by Theodore Ts'o
 
@@ -101,7 +101,7 @@
 
 @top The EXT2FS Library
 
-This manual documents the EXT2FS Library, version 1.46.2.
+This manual documents the EXT2FS Library, version 1.46.6.
 
 @menu
 * Introduction to the EXT2FS Library::  
@@ -625,7 +625,7 @@
 @table @samp
 
 @item BLOCK_FLAG_HOLE
-This flag indicates that the interator function should be called on
+This flag indicates that the iterator function should be called on
 blocks where the block number is zero (also known as ``holes''.)  It is
 also known as BLOCK_FLAG_APPEND, since it is also used by functions
 such as ext2fs_expand_dir() to add a new block to an inode.
@@ -1150,7 +1150,7 @@
 @subsection Directory-block list management
 
 The dblist abstraction stores a list of blocks belonging to
-directories.  This list can be useful when a program needs to interate
+directories.  This list can be useful when a program needs to iterate
 over all directory entries in a filesystem; @code{e2fsck} does this in
 pass 2 of its operations, and @code{debugfs} needs to do this when it is
 trying to turn an inode number into a pathname.
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index dddd014..dd52615 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -404,7 +404,7 @@
 \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
 \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
 
-% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
+% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
 %
 % \argremovec might leave us with trailing space, e.g.,
 %    @end itemize  @c foo
@@ -430,7 +430,7 @@
 % to get _exactly_ the rest of the line, we had to prevent such situation.
 % We prepended an \empty token at the very beginning and we expand it now,
 % just before passing the control to \next.
-% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
+% (Similarly, we have to think about #3 of \argcheckspacesY above: it is
 % either the null string, or it ends with \^^M---thus there is no danger
 % that a pair of braces would be stripped.
 %
@@ -487,7 +487,7 @@
 % used to check whether the current environment is the one expected.
 %
 % Non-false conditionals (@iftex, @ifset) don't fit into this, so they
-% are not treated as enviroments; they don't open a group.  (The
+% are not treated as environments; they don't open a group.  (The
 % implementation of @end takes care not to call \endgroup in this
 % special case.)
 
@@ -510,7 +510,7 @@
   \fi
 }
 
-% Evironment mismatch, #1 expected:
+% Environment mismatch, #1 expected:
 \def\badenverr{%
   \errhelp = \EMsimple
   \errmessage{This command can appear only \inenvironment\temp,
@@ -4045,7 +4045,7 @@
 \chardef\maxseclevel = 3
 %
 % A numbered section within an unnumbered changes to unnumbered too.
-% To achive this, remember the "biggest" unnum. sec. we are currently in:
+% To achieve this, remember the "biggest" unnum. sec. we are currently in:
 \chardef\unmlevel = \maxseclevel
 %
 % Trace whether the current chapter is an appendix or not:
@@ -6417,7 +6417,7 @@
 % In case a @footnote appears in a vbox, save the footnote text and create
 % the real \insert just after the vbox finished.  Otherwise, the insertion
 % would be lost.
-% Similarily, if a @footnote appears inside an alignment, save the footnote
+% Similarly, if a @footnote appears inside an alignment, save the footnote
 % text to a box and make the \insert when a row of the table is finished.
 % And the same can be done for other insert classes.  --kasal, 16nov03.
 
diff --git a/e2fsck/Android.bp b/e2fsck/Android.bp
index 22396c4..b42de9d 100644
--- a/e2fsck/Android.bp
+++ b/e2fsck/Android.bp
@@ -47,10 +47,6 @@
         "extents.c",
         "encrypted_files.c",
     ],
-    cflags: [
-        "-Wno-sign-compare",
-        "-fno-strict-aliasing",
-    ],
 }
 
 e2fsck_libs = [
diff --git a/e2fsck/Makefile.in b/e2fsck/Makefile.in
index 71ac3cf..fbb7b15 100644
--- a/e2fsck/Makefile.in
+++ b/e2fsck/Makefile.in
@@ -454,9 +454,9 @@
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/e2p/e2p.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/support/plausible.h \
- $(srcdir)/e2fsck.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/support/devname.h $(srcdir)/e2fsck.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/support/profile.h \
  $(top_builddir)/lib/support/prof_err.h $(top_srcdir)/lib/support/quotaio.h \
diff --git a/e2fsck/dirinfo.c b/e2fsck/dirinfo.c
index 49d624c..9873e38 100644
--- a/e2fsck/dirinfo.c
+++ b/e2fsck/dirinfo.c
@@ -376,7 +376,7 @@
 }
 
 /*
- * A simple interator function
+ * A simple iterator function
  */
 struct dir_info *e2fsck_dir_info_iter(e2fsck_t ctx, struct dir_info_iter *iter)
 {
diff --git a/e2fsck/dx_dirinfo.c b/e2fsck/dx_dirinfo.c
index caca3e3..4b764b0 100644
--- a/e2fsck/dx_dirinfo.c
+++ b/e2fsck/dx_dirinfo.c
@@ -143,7 +143,7 @@
 }
 
 /*
- * A simple interator function
+ * A simple iterator function
  */
 struct dx_dir_info *e2fsck_dx_dir_info_iter(e2fsck_t ctx, ext2_ino_t *control)
 {
diff --git a/e2fsck/e2fsck.8.in b/e2fsck/e2fsck.8.in
index 019a34e..dc6a585 100644
--- a/e2fsck/e2fsck.8.in
+++ b/e2fsck/e2fsck.8.in
@@ -42,10 +42,10 @@
 .SH DESCRIPTION
 .B e2fsck
 is used to check the ext2/ext3/ext4 family of file systems.
-For ext3 and ext4 filesystems that use a journal, if the system has been
+For ext3 and ext4 file systems that use a journal, if the system has been
 shut down uncleanly without any errors, normally, after replaying the
 committed transactions  in the journal, the file system should be
-marked as clean.   Hence, for filesystems that use journalling,
+marked as clean.   Hence, for file systems that use journaling,
 .B e2fsck
 will normally replay the journal and exit, unless its superblock
 indicates that further checking is required.
@@ -57,7 +57,7 @@
 .PP
 Note that in general it is not safe to run
 .B e2fsck
-on mounted filesystems.  The only exception is if the
+on mounted file systems.  The only exception is if the
 .B \-n
 option is specified, and
 .BR \-c ,
@@ -68,9 +68,9 @@
 .I not
 specified.   However, even if it is safe to do so, the results printed by
 .B e2fsck
-are not valid if the filesystem is mounted.   If
+are not valid if the file system is mounted.   If
 .B e2fsck
-asks whether or not you should check a filesystem which is mounted,
+asks whether or not you should check a file system which is mounted,
 the only correct answer is ``no''.  Only experts who really know what
 they are doing should consider answering this question in any other way.
 .PP
@@ -82,7 +82,7 @@
 or
 .BR \-p
 are specified), the program will ask the user to fix each problem found in the
-filesystem.  A response of 'y' will fix the error; 'n' will leave the error
+file system.  A response of 'y' will fix the error; 'n' will leave the error
 unfixed; and 'a' will fix the problem and all subsequent problems; pressing
 Enter will proceed with the default response, which is printed before the
 question mark.  Pressing Control-C terminates e2fsck immediately.
@@ -102,7 +102,7 @@
 .IR superblock .
 This option is normally used when the primary superblock has been
 corrupted.  The location of backup superblocks is dependent on the
-filesystem's blocksize, the number of blocks per group, and features
+file system's blocksize, the number of blocks per group, and features
 such as
 .BR sparse_super .
 .IP
@@ -112,15 +112,15 @@
 .B \-n
 option to print out where the superblocks exist, supposing
 .B mke2fs
-is supplied with arguments that are consistent with the filesystem's layout
+is supplied with arguments that are consistent with the file system's layout
 (e.g. blocksize, blocks per group,
 .BR sparse_super ,
 etc.).
 .IP
 If an alternative superblock is specified and
-the filesystem is not opened read-only, e2fsck will make sure that the
+the file system is not opened read-only, e2fsck will make sure that the
 primary superblock is updated appropriately upon completion of the
-filesystem check.
+file system check.
 .TP
 .BI \-B " blocksize"
 Normally,
@@ -149,7 +149,7 @@
 This option causes
 .B e2fsck
 to write completion information to the specified file descriptor
-so that the progress of the filesystem
+so that the progress of the file system
 check can be monitored.  This option is typically used by programs
 which are running
 .BR e2fsck .
@@ -168,10 +168,10 @@
 .BR e2fsck ).
 .TP
 .B \-D
-Optimize directories in filesystem.  This option causes e2fsck to
-try to optimize all directories, either by reindexing them if the
-filesystem supports directory indexing,  or by sorting and compressing
-directories for smaller directories, or for filesystems using
+Optimize directories in file system.  This option causes e2fsck to
+try to optimize all directories, either by re-indexing them if the
+file system supports directory indexing,  or by sorting and compressing
+directories for smaller directories, or for file systems using
 traditional linear directories.
 .IP
 Even without the
@@ -183,7 +183,7 @@
 benefit from being indexed, or if the index structures are corrupted
 and need to be rebuilt.  The
 .B \-D
-option forces all directories in the filesystem to be optimized.  This can
+option forces all directories in the file system to be optimized.  This can
 sometimes make them a little smaller and slightly faster to search, but
 in practice, you should rarely need to use this option.
 .IP
@@ -201,7 +201,7 @@
 .BI ea_ver= extended_attribute_version
 Set the version of the extended attribute blocks which
 .B e2fsck
-will require while checking the filesystem.  The version number may
+will require while checking the file system.  The version number may
 be 1 or 2.  The default extended attribute version format is 2.
 .TP
 .BI journal_only
@@ -210,13 +210,13 @@
 .TP
 .BI fragcheck
 During pass 1, print a detailed report of any discontiguous blocks for
-files in the filesystem.
+files in the file system.
 .TP
 .BI discard
 Attempt to discard free blocks and unused inode blocks after the full
-filesystem check (discarding blocks is useful on solid state devices and sparse
+file system check (discarding blocks is useful on solid state devices and sparse
 / thin-provisioned storage). Note that discard is done in pass 5 AFTER the
-filesystem has been fully checked and only if it does not contain recognizable
+file system has been fully checked and only if it does not contain recognizable
 errors. However there might be cases where
 .B e2fsck
 does not fully recognize a problem and hence in this case this
@@ -255,7 +255,7 @@
 .BI readahead_kb
 Use this many KiB of memory to pre-fetch metadata in the hopes of reducing
 e2fsck runtime.  By default, this is set to the size of two block groups' inode
-tables (typically 4MiB on a regular ext4 filesystem); if this amount is more
+tables (typically 4MiB on a regular ext4 file system); if this amount is more
 than 1/50th of total physical memory, readahead is disabled.  Set this to zero
 to disable readahead entirely.
 .TP
@@ -269,13 +269,13 @@
 .TP
 .BI check_encoding
 Force verification of encoded filenames in case-insensitive directories.
-This is the default mode if the filesystem has the strict flag enabled.
+This is the default mode if the file system has the strict flag enabled.
 .TP
 .BI unshare_blocks
-If the filesystem has shared blocks, with the shared blocks read-only feature
+If the file system has shared blocks, with the shared blocks read-only feature
 enabled, then this will unshare all shared blocks and unset the read-only
 feature bit. If there is not enough free space then the operation will fail.
-If the filesystem does not have the read-only feature bit, but has shared
+If the file system does not have the read-only feature bit, but has shared
 blocks anyway, then this option will have no effect. Note when using this
 option, if there is no free space to clone blocks, there is no prompt to
 delete files and instead the operation will fail.
@@ -290,13 +290,13 @@
 Force checking even if the file system seems clean.
 .TP
 .B \-F
-Flush the filesystem device's buffer caches before beginning.  Only
+Flush the file system device's buffer caches before beginning.  Only
 really useful for doing
 .B e2fsck
 time trials.
 @JDEV@.TP
 @JDEV@.BI \-j " external-journal"
-@JDEV@Set the pathname where the external-journal for this filesystem can be
+@JDEV@Set the pathname where the external-journal for this file system can be
 @JDEV@found.
 .TP
 .BI \-k
@@ -314,9 +314,9 @@
 one generated by the
 .BR badblocks (8)
 program.  Note that the block numbers are based on the blocksize
-of the filesystem.  Hence,
+of the file system.  Hence,
 .BR badblocks (8)
-must be given the blocksize of the filesystem in order to obtain correct
+must be given the blocksize of the file system in order to obtain correct
 results.  As a result, it is much simpler and safer to use the
 .B -c
 option to
@@ -334,7 +334,7 @@
 in the file are added to the bad blocks list.)
 .TP
 .B \-n
-Open the filesystem read-only, and assume an answer of `no' to all
+Open the file system read-only, and assume an answer of `no' to all
 questions.  Allows
 .B e2fsck
 to be used non-interactively.  This option
@@ -348,7 +348,7 @@
 Automatically repair ("preen") the file system.  This option will cause
 .B e2fsck
 to automatically
-fix any filesystem problems that can be safely fixed without human
+fix any file system problems that can be safely fixed without human
 intervention.  If
 .B e2fsck
 discovers a problem which may require the system administrator
@@ -439,7 +439,7 @@
 to stop displaying a completion bar or emitting progress information.
 .SH REPORTING BUGS
 Almost any piece of software will have bugs.  If you manage to find a
-filesystem which causes
+file system which causes
 .B e2fsck
 to crash, or which
 .B e2fsck
@@ -460,7 +460,7 @@
 .B C
 so that the transcript of e2fsck's output will be useful to me.)
 If you
-have a writable filesystem where the transcript can be stored, the
+have a writable file system where the transcript can be stored, the
 .BR script (1)
 program is a handy way to save the output of
 .B e2fsck
@@ -481,7 +481,7 @@
 which can sent to me after being first run through
 .BR uuencode (1).
 The most useful data you can send to help reproduce
-the bug is a compressed raw image dump of the filesystem, generated using
+the bug is a compressed raw image dump of the file system, generated using
 .BR e2image (8).
 See the
 .BR e2image (8)
diff --git a/e2fsck/e2fsck.conf.5.in b/e2fsck/e2fsck.conf.5.in
index 48ad0fd..e82610d 100644
--- a/e2fsck/e2fsck.conf.5.in
+++ b/e2fsck/e2fsck.conf.5.in
@@ -11,7 +11,7 @@
 .BR e2fsck (8).
 It controls the default behavior of
 .BR e2fsck (8)
-while it is checking ext2, ext3, or ext4 filesystems.
+while it is checking ext2, ext3, or ext4 file systems.
 .PP
 The
 .I e2fsck.conf
@@ -77,7 +77,7 @@
 .TP
 .I [problems]
 This stanza allows the administrator to reconfigure how e2fsck handles
-various filesystem inconsistencies.
+various file system inconsistencies.
 @TDB_MAN_COMMENT@.TP
 @TDB_MAN_COMMENT@.I [scratch_files]
 @TDB_MAN_COMMENT@This stanza controls when e2fsck will attempt to use
@@ -89,7 +89,7 @@
 .TP
 .I allow_cancellation
 If this relation is set to a boolean value of true, then if the user
-interrupts e2fsck using ^C, and the filesystem is not explicitly flagged
+interrupts e2fsck using ^C, and the file system is not explicitly flagged
 as containing errors, e2fsck will exit with an exit status of 0 instead
 of 32.  This setting defaults to false.
 .TP
@@ -144,12 +144,12 @@
 This boolean relation controls whether or not
 .BR e2fsck (8)
 will offer to clear
-the test_fs flag if the ext4 filesystem is available on the system.  It
+the test_fs flag if the ext4 file system is available on the system.  It
 defaults to true.
 .TP
 .I defer_check_on_battery
 This boolean relation controls whether or not the interval between
-filesystem checks (either based on time or number of mounts) should
+file system checks (either based on time or number of mounts) should
 be doubled if the system is running on battery.  This setting defaults to
 true.
 .TP
@@ -248,7 +248,7 @@
 Use this amount of memory to read in metadata blocks ahead of the main checking
 thread.  Setting this value to zero disables readahead entirely.  By default,
 this is set the size of two block groups' inode tables (typically 4MiB on a
-regular ext4 filesystem); if this amount is more than 1/50th of total physical
+regular ext4 file system); if this amount is more than 1/50th of total physical
 memory, readahead is disabled.
 .TP
 .I report_features
@@ -298,12 +298,12 @@
 Within each problem code's subsection, the following tags may be used:
 .TP
 .I description
-This relation allows the message which is printed when this filesystem
+This relation allows the message which is printed when this file system
 inconsistency is detected to be overridden.
 .TP
 .I preen_ok
 This boolean relation overrides the default behavior controlling
-whether this filesystem problem should be automatically fixed when
+whether this file system problem should be automatically fixed when
 .B e2fsck
 is running in preen mode.
 .TP
@@ -314,7 +314,7 @@
 .TP
 .I no_ok
 This boolean relation overrides the default behavior determining
-whether or not the filesystem will be marked as inconsistent if the user
+whether or not the file system will be marked as inconsistent if the user
 declines to fix the reported problem.
 .TP
 .I no_default
@@ -323,14 +323,14 @@
 .TP
 .I preen_nomessage
 This boolean relation overrides the default behavior controlling
-whether or not the description for this filesystem problem should
+whether or not the description for this file system problem should
 be suppressed when
 .B e2fsck
 is running in preen mode.
 .TP
 .I no_nomsg
 This boolean relation overrides the default behavior controlling
-whether or not the description for this filesystem problem should
+whether or not the description for this file system problem should
 be suppressed when a problem forced not to be fixed, either because
 .B e2fsck
 is run with the
@@ -367,7 +367,7 @@
 @TDB_MAN_COMMENT@.TP
 @TDB_MAN_COMMENT@.I numdirs_threshold
 @TDB_MAN_COMMENT@If this relation is set, then in-memory data structures
-@TDB_MAN_COMMENT@will be used if the number of directories in the filesystem
+@TDB_MAN_COMMENT@will be used if the number of directories in the file system
 @TDB_MAN_COMMENT@are fewer than amount specified.
 @TDB_MAN_COMMENT@.TP
 @TDB_MAN_COMMENT@.I dirinfo
@@ -453,7 +453,7 @@
 The current year (i.e., 2012).
 .SH EXAMPLES
 The following recipe will prevent e2fsck from aborting during the boot
-process when a filesystem contains orphaned files.  (Of course, this is
+process when a file system contains orphaned files.  (Of course, this is
 not always a good idea, since critical files that are needed for the
 security of the system could potentially end up in lost+found, and
 starting the system without first having a system administrator check
diff --git a/e2fsck/e2fsck.h b/e2fsck/e2fsck.h
index 15d043e..b8caa43 100644
--- a/e2fsck/e2fsck.h
+++ b/e2fsck/e2fsck.h
@@ -68,7 +68,14 @@
 #endif
 
 #include "support/quotaio.h"
+#if __GNUC_PREREQ (4, 6)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-function"
+#endif
 #include "ext2fs/fast_commit.h"
+#if __GNUC_PREREQ (4, 6)
+#pragma GCC diagnostic pop
+#endif
 
 /*
  * Exit codes used by fsck-type programs
@@ -226,10 +233,10 @@
  */
 typedef struct e2fsck_struct *e2fsck_t;
 
-#define MAX_EXTENT_DEPTH_COUNT 5
+#define MAX_EXTENT_DEPTH_COUNT 8
 
 /*
- * This strucutre is used to manage the list of extents in a file. Placing
+ * This structure is used to manage the list of extents in a file. Placing
  * it here since this is used by fast_commit.h.
  */
 struct extent_list {
@@ -247,9 +254,9 @@
 	struct extent_list fc_extent_list;
 	int fc_replay_num_tags;
 	int fc_replay_expected_off;
-	int fc_current_pass;
+	enum passtype fc_current_pass;
 	int fc_cur_tag;
-	int fc_crc;
+	unsigned int fc_crc;
 	__u16 fc_super_state;
 };
 
diff --git a/e2fsck/extents.c b/e2fsck/extents.c
index 0274e05..70798f3 100644
--- a/e2fsck/extents.c
+++ b/e2fsck/extents.c
@@ -196,7 +196,7 @@
 	return 0;
 }
 
-errcode_t rewrite_extent_replay(e2fsck_t ctx, struct extent_list *list,
+static errcode_t rewrite_extent_replay(e2fsck_t ctx, struct extent_list *list,
 				       struct ext2_inode_large *inode)
 {
 	errcode_t		retval;
@@ -526,7 +526,8 @@
 		 */
 		if (info.curr_entry == 1 &&
 		    !(extent.e_flags & EXT2_EXTENT_FLAGS_SECOND_VISIT) &&
-		    !eti.force_rebuild) {
+		    !eti.force_rebuild &&
+		    info.curr_level < MAX_EXTENT_DEPTH_COUNT) {
 			struct extent_tree_level *etl;
 
 			etl = eti.ext_info + info.curr_level;
@@ -580,6 +581,13 @@
 	extents_per_block = (ctx->fs->blocksize -
 			     sizeof(struct ext3_extent_header)) /
 			    sizeof(struct ext3_extent);
+
+	/* If the extent tree is too deep, then rebuild it. */
+	if (info->max_depth > MAX_EXTENT_DEPTH_COUNT-1) {
+		pctx->blk = info->max_depth;
+		op = PR_1E_CAN_COLLAPSE_EXTENT_TREE;
+		goto rebuild;
+	}
 	/*
 	 * If we can consolidate a level or shorten the tree, schedule the
 	 * extent tree to be rebuilt.
diff --git a/e2fsck/iscan.c b/e2fsck/iscan.c
index 607e475..33c6a4c 100644
--- a/e2fsck/iscan.c
+++ b/e2fsck/iscan.c
@@ -109,7 +109,16 @@
 		printf("%s: ", desc);
 
 #define kbytes(x)	(((unsigned long long)(x) + 1023) / 1024)
-#ifdef HAVE_MALLINFO
+#ifdef HAVE_MALLINFO2
+	if (1) {
+		struct mallinfo2 malloc_info = mallinfo2();
+
+		printf("Memory used: %lluk/%lluk (%lluk/%lluk), ",
+		       kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
+		       kbytes(malloc_info.uordblks),
+		       kbytes(malloc_info.fordblks));
+	} else
+#elif defined HAVE_MALLINFO
 	/* don't use mallinfo() if over 2GB used, since it returns "int" */
 	if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
 		struct mallinfo	malloc_info = mallinfo();
diff --git a/e2fsck/jfs_user.h b/e2fsck/jfs_user.h
index 3b91765..5928a8a 100644
--- a/e2fsck/jfs_user.h
+++ b/e2fsck/jfs_user.h
@@ -82,24 +82,9 @@
 #define buffer_req(bh) 1
 #define do_readahead(journal, start) do {} while (0)
 
-typedef struct kmem_cache {
-	int	object_length;
-} kmem_cache_t;
-
-#define kmem_cache_alloc(cache, flags) malloc((cache)->object_length)
-#define kmem_cache_free(cache, obj) free(obj)
-#define kmem_cache_create(name, len, a, b, c) do_cache_create(len)
-#define kmem_cache_destroy(cache) do_cache_destroy(cache)
-#define kmalloc(len, flags) malloc(len)
-#define kfree(p) free(p)
-
-static inline void *kmalloc_array(unsigned n, unsigned size,
-				  int flags EXT2FS_ATTR((unused)))
-{
-	if (n && (~0U)/n < size)
-		return NULL;
-	return malloc(n * size);
-}
+struct kmem_cache {
+	unsigned int	object_size;
+};
 
 #define cond_resched()	do { } while (0)
 
@@ -115,12 +100,25 @@
  * functions.
  */
 #ifdef NO_INLINE_FUNCS
-extern kmem_cache_t *do_cache_create(int len);
-extern void do_cache_destroy(kmem_cache_t *cache);
+extern struct kmem_cache *kmem_cache_create(const char *name,
+					    unsigned int size,
+					    unsigned int align,
+					    unsigned int flags,
+					    void (*ctor)(void *));
+extern void kmem_cache_destroy(struct kmem_cache *s);
+extern void *kmem_cache_alloc(struct kmem_cache *cachep, gfp_t flags);
+extern void kmem_cache_free(struct kmem_cache *s, void *objp);
+extern void *kmalloc(size_t size, gfp_t flags);
+extern void kfree(const void *objp);
 extern size_t journal_tag_bytes(journal_t *journal);
 extern __u32 __hash_32(__u32 val);
 extern __u32 hash_32(__u32 val, unsigned int bits);
 extern __u32 hash_64(__u64 val, unsigned int bits);
+extern void *kmalloc_array(unsigned n, unsigned size, int flags);
+extern __u32 jbd2_chksum(journal_t *j, __u32 crc, const void *address,
+			 unsigned int length);
+extern void jbd2_descriptor_block_csum_set(journal_t *j,
+					   struct buffer_head *bh);
 #endif
 
 #if (defined(E2FSCK_INCLUDE_INLINE_FUNCS) || !defined(NO_INLINE_FUNCS))
@@ -142,19 +140,56 @@
 #endif /* __STDC_VERSION__ >= 199901L */
 #endif /* E2FSCK_INCLUDE_INLINE_FUNCS */
 
-_INLINE_ kmem_cache_t *do_cache_create(int len)
+_INLINE_ struct kmem_cache *
+kmem_cache_create(const char *name EXT2FS_ATTR((unused)),
+		  unsigned int size,
+		  unsigned int align EXT2FS_ATTR((unused)),
+		  unsigned int flags EXT2FS_ATTR((unused)),
+		  void (*ctor)(void *) EXT2FS_ATTR((unused)))
 {
-	kmem_cache_t *new_cache;
+	struct kmem_cache *new_cache;
 
 	new_cache = malloc(sizeof(*new_cache));
 	if (new_cache)
-		new_cache->object_length = len;
+		new_cache->object_size = size;
 	return new_cache;
 }
 
-_INLINE_ void do_cache_destroy(kmem_cache_t *cache)
+_INLINE_ void kmem_cache_destroy(struct kmem_cache *s)
 {
-	free(cache);
+	free(s);
+}
+
+_INLINE_ void *kmem_cache_alloc(struct kmem_cache *cachep,
+				gfp_t flags EXT2FS_ATTR((unused)))
+{
+	return malloc(cachep->object_size);
+}
+
+_INLINE_ void kmem_cache_free(struct kmem_cache *s EXT2FS_ATTR((unused)),
+			      void *objp)
+{
+	free(objp);
+}
+
+_INLINE_ void *kmalloc(size_t size, gfp_t flags EXT2FS_ATTR((unused)))
+{
+	return malloc(size);
+}
+
+_INLINE_ void kfree(const void *objp)
+{
+#ifdef HAVE_INTPTR_T
+	/*
+	 * Work around a botch in the C standard, which triggers
+	 * compiler warnings.  For better or for worse, the kernel
+	 * uses const void * for kfree, while the C standard mandates
+	 * the use of void *.  See: https://yarchive.net/comp/const.html
+	 */
+	free((void *)(intptr_t)objp);
+#else
+	free((void *)objp);
+#endif
 }
 
 /* generic hashing taken from the Linux kernel */
@@ -183,6 +218,36 @@
 	}
 }
 
+_INLINE_ void *kmalloc_array(unsigned n, unsigned size,
+			     int flags EXT2FS_ATTR((unused)))
+{
+	if (n && (~0U)/n < size)
+		return NULL;
+	return malloc(n * size);
+}
+
+_INLINE_ __u32 jbd2_chksum(journal_t *j EXT2FS_ATTR((unused)),
+			   __u32 crc, const void *address,
+			   unsigned int length)
+{
+	return ext2fs_crc32c_le(crc, address, length);
+}
+
+_INLINE_ void jbd2_descriptor_block_csum_set(journal_t *j,
+					     struct buffer_head *bh)
+{
+	struct jbd2_journal_block_tail *tail;
+	__u32 csum;
+
+	if (!jbd2_journal_has_csum_v2or3(j))
+		return;
+
+	tail = (struct jbd2_journal_block_tail *)(bh->b_data + j->j_blocksize -
+			sizeof(struct jbd2_journal_block_tail));
+	tail->t_checksum = 0;
+	csum = jbd2_chksum(j, j->j_csum_seed, bh->b_data, j->j_blocksize);
+	tail->t_checksum = cpu_to_be32(csum);
+}
 #undef _INLINE_
 #endif
 
@@ -236,22 +301,6 @@
 #define EFSCORRUPTED	EXT2_ET_FILESYSTEM_CORRUPTED
 #endif
 
-static inline void jbd2_descriptor_block_csum_set(journal_t *j,
-						  struct buffer_head *bh)
-{
-	struct jbd2_journal_block_tail *tail;
-	__u32 csum;
-
-	if (!jbd2_journal_has_csum_v2or3(j))
-		return;
-
-	tail = (struct jbd2_journal_block_tail *)(bh->b_data + j->j_blocksize -
-			sizeof(struct jbd2_journal_block_tail));
-	tail->t_checksum = 0;
-	csum = jbd2_chksum(j, j->j_csum_seed, bh->b_data, j->j_blocksize);
-	tail->t_checksum = cpu_to_be32(csum);
-}
-
 /* recovery.c */
 extern int	jbd2_journal_recover    (journal_t *journal);
 extern int	jbd2_journal_skip_recovery (journal_t *);
diff --git a/e2fsck/journal.c b/e2fsck/journal.c
index 0aeaf41..8ae89bf 100644
--- a/e2fsck/journal.c
+++ b/e2fsck/journal.c
@@ -281,11 +281,11 @@
 	e2fsck_t ctx = j->j_fs_dev->k_ctx;
 	struct e2fsck_fc_replay_state *state;
 	int ret = JBD2_FC_REPLAY_CONTINUE;
-	struct ext4_fc_add_range *ext;
-	struct ext4_fc_tl *tl;
-	struct ext4_fc_tail *tail;
-	__u8 *start, *end;
-	struct ext4_fc_head *head;
+	struct ext4_fc_add_range ext;
+	struct ext4_fc_tl tl;
+	struct ext4_fc_tail tail;
+	__u8 *start, *cur, *end, *val;
+	struct ext4_fc_head head;
 	struct ext2fs_extent ext2fs_ex = {0};
 
 	state = &ctx->fc_replay_state;
@@ -310,14 +310,18 @@
 	}
 
 	state->fc_replay_expected_off++;
-	fc_for_each_tl(start, end, tl) {
+	for (cur = start; cur < end; cur = cur + le16_to_cpu(tl.fc_len) + sizeof(tl)) {
+		memcpy(&tl, cur, sizeof(tl));
+		val = cur + sizeof(tl);
+
 		jbd_debug(3, "Scan phase, tag:%s, blk %lld\n",
-			  tag2str(le16_to_cpu(tl->fc_tag)), bh->b_blocknr);
-		switch (le16_to_cpu(tl->fc_tag)) {
+			  tag2str(le16_to_cpu(tl.fc_tag)), bh->b_blocknr);
+		switch (le16_to_cpu(tl.fc_tag)) {
 		case EXT4_FC_TAG_ADD_RANGE:
-			ext = (struct ext4_fc_add_range *)ext4_fc_tag_val(tl);
-			ret = ext2fs_decode_extent(&ext2fs_ex, (void *)&ext->fc_ex,
-						   sizeof(ext->fc_ex));
+			memcpy(&ext, val, sizeof(ext));
+			ret = ext2fs_decode_extent(&ext2fs_ex,
+						   (void *)&ext.fc_ex,
+						   sizeof(ext.fc_ex));
 			if (ret)
 				ret = JBD2_FC_REPLAY_STOP;
 			else
@@ -330,21 +334,20 @@
 		case EXT4_FC_TAG_INODE:
 		case EXT4_FC_TAG_PAD:
 			state->fc_cur_tag++;
-			state->fc_crc = jbd2_chksum(j, state->fc_crc, tl,
-					sizeof(*tl) + ext4_fc_tag_len(tl));
+			state->fc_crc = jbd2_chksum(j, state->fc_crc, cur,
+					sizeof(tl) + ext4_fc_tag_len(&tl));
 			break;
 		case EXT4_FC_TAG_TAIL:
 			state->fc_cur_tag++;
-			tail = (struct ext4_fc_tail *)ext4_fc_tag_val(tl);
-			state->fc_crc = jbd2_chksum(j, state->fc_crc, tl,
-						sizeof(*tl) +
+			memcpy(&tail, val, sizeof(tail));
+			state->fc_crc = jbd2_chksum(j, state->fc_crc, cur,
+						sizeof(tl) +
 						offsetof(struct ext4_fc_tail,
 						fc_crc));
 			jbd_debug(1, "tail tid %d, expected %d\n",
-					le32_to_cpu(tail->fc_tid),
-					expected_tid);
-			if (le32_to_cpu(tail->fc_tid) == expected_tid &&
-				le32_to_cpu(tail->fc_crc) == state->fc_crc) {
+				  le32_to_cpu(tail.fc_tid), expected_tid);
+			if (le32_to_cpu(tail.fc_tid) == expected_tid &&
+			    le32_to_cpu(tail.fc_crc) == state->fc_crc) {
 				state->fc_replay_num_tags = state->fc_cur_tag;
 			} else {
 				ret = state->fc_replay_num_tags ?
@@ -353,19 +356,19 @@
 			state->fc_crc = 0;
 			break;
 		case EXT4_FC_TAG_HEAD:
-			head = (struct ext4_fc_head *)ext4_fc_tag_val(tl);
-			if (le32_to_cpu(head->fc_features) &
-				~EXT4_FC_SUPPORTED_FEATURES) {
+			memcpy(&head, val, sizeof(head));
+			if (le32_to_cpu(head.fc_features) &
+			    ~EXT4_FC_SUPPORTED_FEATURES) {
 				ret = -EOPNOTSUPP;
 				break;
 			}
-			if (le32_to_cpu(head->fc_tid) != expected_tid) {
+			if (le32_to_cpu(head.fc_tid) != expected_tid) {
 				ret = -EINVAL;
 				break;
 			}
 			state->fc_cur_tag++;
-			state->fc_crc = jbd2_chksum(j, state->fc_crc, tl,
-					sizeof(*tl) + ext4_fc_tag_len(tl));
+			state->fc_crc = jbd2_chksum(j, state->fc_crc, cur,
+					sizeof(tl) + ext4_fc_tag_len(&tl));
 			break;
 		default:
 			ret = state->fc_replay_num_tags ?
@@ -416,8 +419,8 @@
 
 static int ex_compar(const void *arg1, const void *arg2)
 {
-	struct ext2fs_extent *ex1 = (struct ext2fs_extent *)arg1;
-	struct ext2fs_extent *ex2 = (struct ext2fs_extent *)arg2;
+	const struct ext2fs_extent *ex1 = (const struct ext2fs_extent *)arg1;
+	const struct ext2fs_extent *ex2 = (const struct ext2fs_extent *)arg2;
 
 	if (ex1->e_lblk < ex2->e_lblk)
 		return -1;
@@ -428,8 +431,8 @@
 
 static int ex_len_compar(const void *arg1, const void *arg2)
 {
-	struct ext2fs_extent *ex1 = (struct ext2fs_extent *)arg1;
-	struct ext2fs_extent *ex2 = (struct ext2fs_extent *)arg2;
+	const struct ext2fs_extent *ex1 = (const struct ext2fs_extent *)arg1;
+	const struct ext2fs_extent *ex2 = (const struct ext2fs_extent *)arg2;
 
 	if (ex1->e_len < ex2->e_len)
 		return 1;
@@ -442,7 +445,7 @@
 
 static void ex_sort_and_merge(struct extent_list *list)
 {
-	int i, j;
+	unsigned int i, j;
 
 	if (list->count < 2)
 		return;
@@ -461,6 +464,9 @@
 		}
 	}
 
+	if (list->count == 0)
+		return;
+
 	/* Now sort by logical offset */
 	qsort(list->extents, list->count, sizeof(list->extents[0]),
 		ex_compar);
@@ -487,8 +493,8 @@
 static int ext4_modify_extent_list(e2fsck_t ctx, struct extent_list *list,
 					struct ext2fs_extent *ex, int del)
 {
-	int ret;
-	int i, offset;
+	int ret, offset;
+	unsigned int i;
 	struct ext2fs_extent add_ex = *ex;
 
 	/* First let's create a hole from ex->e_lblk of length ex->e_len */
@@ -572,7 +578,7 @@
 	return ext4_modify_extent_list(ctx, list, ex, 1 /* delete */);
 }
 
-static int ext4_fc_read_extents(e2fsck_t ctx, int ino)
+static int ext4_fc_read_extents(e2fsck_t ctx, ext2_ino_t ino)
 {
 	struct extent_list *extent_list = &ctx->fc_replay_state.fc_extent_list;
 
@@ -591,7 +597,7 @@
  * for the inode so that we can flush all of them at once and it also saves us
  * from continuously growing and shrinking the extent tree.
  */
-static void ext4_fc_flush_extents(e2fsck_t ctx, int ino)
+static void ext4_fc_flush_extents(e2fsck_t ctx, ext2_ino_t ino)
 {
 	struct extent_list *extent_list = &ctx->fc_replay_state.fc_extent_list;
 
@@ -604,56 +610,65 @@
 
 /* Helper struct for dentry replay routines */
 struct dentry_info_args {
-	int parent_ino, dname_len, ino, inode_len;
+	ext2_ino_t parent_ino;
+	int dname_len;
+	ext2_ino_t ino;
 	char *dname;
 };
 
-static inline void tl_to_darg(struct dentry_info_args *darg,
-				struct  ext4_fc_tl *tl)
+static inline int tl_to_darg(struct dentry_info_args *darg,
+			     struct  ext4_fc_tl *tl, __u8 *val)
 {
-	struct ext4_fc_dentry_info *fcd;
-	int tag = le16_to_cpu(tl->fc_tag);
+	struct ext4_fc_dentry_info fcd;
 
-	fcd = (struct ext4_fc_dentry_info *)ext4_fc_tag_val(tl);
+	memcpy(&fcd, val, sizeof(fcd));
 
-	darg->parent_ino = le32_to_cpu(fcd->fc_parent_ino);
-	darg->ino = le32_to_cpu(fcd->fc_ino);
-	darg->dname = (char *) fcd->fc_dname;
+	darg->parent_ino = le32_to_cpu(fcd.fc_parent_ino);
+	darg->ino = le32_to_cpu(fcd.fc_ino);
 	darg->dname_len = ext4_fc_tag_len(tl) -
 			sizeof(struct ext4_fc_dentry_info);
 	darg->dname = malloc(darg->dname_len + 1);
-	memcpy(darg->dname, fcd->fc_dname, darg->dname_len);
+	if (!darg->dname)
+		return -ENOMEM;
+	memcpy(darg->dname,
+	       val + sizeof(struct ext4_fc_dentry_info),
+	       darg->dname_len);
 	darg->dname[darg->dname_len] = 0;
-	jbd_debug(1, "%s: %s, ino %d, parent %d\n",
-		tag == EXT4_FC_TAG_CREAT ? "create" :
-		(tag == EXT4_FC_TAG_LINK ? "link" :
-		(tag == EXT4_FC_TAG_UNLINK ? "unlink" : "error")),
-		darg->dname, darg->ino, darg->parent_ino);
+	jbd_debug(1, "%s: %s, ino %u, parent %u\n",
+		  le16_to_cpu(tl->fc_tag) == EXT4_FC_TAG_CREAT ? "create" :
+		  (le16_to_cpu(tl->fc_tag) == EXT4_FC_TAG_LINK ? "link" :
+		   (le16_to_cpu(tl->fc_tag) == EXT4_FC_TAG_UNLINK ? "unlink" :
+		    "error")), darg->dname, darg->ino, darg->parent_ino);
+	return 0;
 }
 
-static int ext4_fc_handle_unlink(e2fsck_t ctx, struct ext4_fc_tl *tl)
+static int ext4_fc_handle_unlink(e2fsck_t ctx, struct ext4_fc_tl *tl, __u8 *val)
 {
 	struct dentry_info_args darg;
 	int ret;
 
-	tl_to_darg(&darg, tl);
+	ret = tl_to_darg(&darg, tl, val);
+	if (ret)
+		return ret;
 	ext4_fc_flush_extents(ctx, darg.ino);
-	ret = errcode_to_errno(
-		       ext2fs_unlink(ctx->fs, darg.parent_ino,
-				     darg.dname, darg.ino, 0));
+	ret = errcode_to_errno(ext2fs_unlink(ctx->fs, darg.parent_ino,
+					     darg.dname, darg.ino, 0));
 	/* It's okay if the above call fails */
 	free(darg.dname);
+
 	return ret;
 }
 
-static int ext4_fc_handle_link_and_create(e2fsck_t ctx, struct ext4_fc_tl *tl)
+static int ext4_fc_handle_link_and_create(e2fsck_t ctx, struct ext4_fc_tl *tl, __u8 *val)
 {
 	struct dentry_info_args darg;
 	ext2_filsys fs = ctx->fs;
 	struct ext2_inode_large inode_large;
 	int ret, filetype, mode;
 
-	tl_to_darg(&darg, tl);
+	ret = tl_to_darg(&darg, tl, val);
+	if (ret)
+		return ret;
 	ext4_fc_flush_extents(ctx, 0);
 	ret = errcode_to_errno(ext2fs_read_inode(fs, darg.ino,
 						 (struct ext2_inode *)&inode_large));
@@ -719,21 +734,32 @@
 	}
 }
 
-static int ext4_fc_handle_inode(e2fsck_t ctx, struct ext4_fc_tl *tl)
+static int ext4_fc_handle_inode(e2fsck_t ctx, __u8 *val)
 {
 	int ino, inode_len = EXT2_GOOD_OLD_INODE_SIZE;
 	struct ext2_inode_large *inode = NULL, *fc_inode = NULL;
-	struct ext4_fc_inode *fc_inode_val;
+	__le32 fc_ino;
+	__u8 *fc_raw_inode;
 	errcode_t err;
 	blk64_t blks;
 
-	fc_inode_val = (struct ext4_fc_inode *)ext4_fc_tag_val(tl);
-	ino = le32_to_cpu(fc_inode_val->fc_ino);
+	memcpy(&fc_ino, val, sizeof(fc_ino));
+	fc_raw_inode = val + sizeof(fc_ino);
+	ino = le32_to_cpu(fc_ino);
 
-	if (EXT2_INODE_SIZE(ctx->fs->super) > EXT2_GOOD_OLD_INODE_SIZE)
-		inode_len += ext2fs_le16_to_cpu(
-			((struct ext2_inode_large *)fc_inode_val->fc_raw_inode)
-				->i_extra_isize);
+	if (EXT2_INODE_SIZE(ctx->fs->super) > EXT2_GOOD_OLD_INODE_SIZE) {
+		__u16 extra_isize = ext2fs_le16_to_cpu(
+			((struct ext2_inode_large *)fc_raw_inode)->i_extra_isize);
+
+		if ((extra_isize < (sizeof(inode->i_extra_isize) +
+				    sizeof(inode->i_checksum_hi))) ||
+		    (extra_isize > (EXT2_INODE_SIZE(ctx->fs->super) -
+				    EXT2_GOOD_OLD_INODE_SIZE))) {
+			err = EFSCORRUPTED;
+			goto out;
+		}
+		inode_len += extra_isize;
+	}
 	err = ext2fs_get_mem(inode_len, &inode);
 	if (err)
 		goto out;
@@ -746,12 +772,9 @@
 					inode_len);
 	if (err)
 		goto out;
+	memcpy(fc_inode, fc_raw_inode, inode_len);
 #ifdef WORDS_BIGENDIAN
-	ext2fs_swap_inode_full(ctx->fs, fc_inode,
-			       (struct ext2_inode_large *)fc_inode_val->fc_raw_inode,
-			       0, sizeof(*inode));
-#else
-	memcpy(fc_inode, fc_inode_val->fc_raw_inode, inode_len);
+	ext2fs_swap_inode_full(ctx->fs, fc_inode, fc_inode, 0, inode_len);
 #endif
 	memcpy(inode, fc_inode, offsetof(struct ext2_inode_large, i_block));
 	memcpy(&inode->i_generation, &fc_inode->i_generation,
@@ -782,14 +805,15 @@
 /*
  * Handle add extent replay tag.
  */
-static int ext4_fc_handle_add_extent(e2fsck_t ctx, struct ext4_fc_tl *tl)
+static int ext4_fc_handle_add_extent(e2fsck_t ctx, __u8 *val)
 {
 	struct ext2fs_extent extent;
-	struct ext4_fc_add_range *add_range;
-	int ret = 0, ino;
+	struct ext4_fc_add_range add_range;
+	ext2_ino_t ino;
+	int ret = 0;
 
-	add_range = (struct ext4_fc_add_range *)ext4_fc_tag_val(tl);
-	ino = le32_to_cpu(add_range->fc_ino);
+	memcpy(&add_range, val, sizeof(add_range));
+	ino = le32_to_cpu(add_range.fc_ino);
 	ext4_fc_flush_extents(ctx, ino);
 
 	ret = ext4_fc_read_extents(ctx, ino);
@@ -797,8 +821,8 @@
 		return ret;
 	memset(&extent, 0, sizeof(extent));
 	ret = errcode_to_errno(ext2fs_decode_extent(
-			&extent, (void *)(add_range->fc_ex),
-			sizeof(add_range->fc_ex)));
+			&extent, (void *)add_range.fc_ex,
+			sizeof(add_range.fc_ex)));
 	if (ret)
 		return ret;
 	return ext4_add_extent_to_list(ctx,
@@ -808,19 +832,19 @@
 /*
  * Handle delete logical range replay tag.
  */
-static int ext4_fc_handle_del_range(e2fsck_t ctx, struct ext4_fc_tl *tl)
+static int ext4_fc_handle_del_range(e2fsck_t ctx, __u8 *val)
 {
 	struct ext2fs_extent extent;
-	struct ext4_fc_del_range *del_range;
+	struct ext4_fc_del_range del_range;
 	int ret, ino;
 
-	del_range = (struct ext4_fc_del_range *)ext4_fc_tag_val(tl);
-	ino = le32_to_cpu(del_range->fc_ino);
+	memcpy(&del_range, val, sizeof(del_range));
+	ino = le32_to_cpu(del_range.fc_ino);
 	ext4_fc_flush_extents(ctx, ino);
 
 	memset(&extent, 0, sizeof(extent));
-	extent.e_lblk = ext2fs_le32_to_cpu(del_range->fc_lblk);
-	extent.e_len = ext2fs_le32_to_cpu(del_range->fc_len);
+	extent.e_lblk = le32_to_cpu(del_range.fc_lblk);
+	extent.e_len = le32_to_cpu(del_range.fc_len);
 	ret = ext4_fc_read_extents(ctx, ino);
 	if (ret)
 		return ret;
@@ -839,8 +863,8 @@
 	e2fsck_t ctx = journal->j_fs_dev->k_ctx;
 	struct e2fsck_fc_replay_state *state = &ctx->fc_replay_state;
 	int ret = JBD2_FC_REPLAY_CONTINUE;
-	struct ext4_fc_tl *tl;
-	__u8 *start, *end;
+	struct ext4_fc_tl tl;
+	__u8 *start, *end, *cur, *val;
 
 	if (pass == PASS_SCAN) {
 		state->fc_current_pass = PASS_SCAN;
@@ -864,7 +888,7 @@
 		/*
 		 * Mark the file system to indicate it contains errors. That's
 		 * because the updates performed by fast commit replay code are
-		 * not atomic and may result in incosistent file system if it
+		 * not atomic and may result in inconsistent file system if it
 		 * crashes before the replay is complete.
 		 */
 		ctx->fs->super->s_state |= EXT2_ERROR_FS;
@@ -876,28 +900,31 @@
 	start = (__u8 *)bh->b_data;
 	end = (__u8 *)bh->b_data + journal->j_blocksize - 1;
 
-	fc_for_each_tl(start, end, tl) {
+	for (cur = start; cur < end; cur = cur + le16_to_cpu(tl.fc_len) + sizeof(tl)) {
+		memcpy(&tl, cur, sizeof(tl));
+		val = cur + sizeof(tl);
+
 		if (state->fc_replay_num_tags == 0)
 			goto replay_done;
 		jbd_debug(3, "Replay phase processing %s tag\n",
-				tag2str(le16_to_cpu(tl->fc_tag)));
+				tag2str(le16_to_cpu(tl.fc_tag)));
 		state->fc_replay_num_tags--;
-		switch (le16_to_cpu(tl->fc_tag)) {
+		switch (le16_to_cpu(tl.fc_tag)) {
 		case EXT4_FC_TAG_CREAT:
 		case EXT4_FC_TAG_LINK:
-			ret = ext4_fc_handle_link_and_create(ctx, tl);
+			ret = ext4_fc_handle_link_and_create(ctx, &tl, val);
 			break;
 		case EXT4_FC_TAG_UNLINK:
-			ret = ext4_fc_handle_unlink(ctx, tl);
+			ret = ext4_fc_handle_unlink(ctx, &tl, val);
 			break;
 		case EXT4_FC_TAG_ADD_RANGE:
-			ret = ext4_fc_handle_add_extent(ctx, tl);
+			ret = ext4_fc_handle_add_extent(ctx, val);
 			break;
 		case EXT4_FC_TAG_DEL_RANGE:
-			ret = ext4_fc_handle_del_range(ctx, tl);
+			ret = ext4_fc_handle_del_range(ctx, val);
 			break;
 		case EXT4_FC_TAG_INODE:
-			ret = ext4_fc_handle_inode(ctx, tl);
+			ret = ext4_fc_handle_inode(ctx, val);
 			break;
 		case EXT4_FC_TAG_TAIL:
 			ext4_fc_flush_extents(ctx, 0);
@@ -971,7 +998,14 @@
 	journal->j_blocksize = ctx->fs->blocksize;
 
 	if (uuid_is_null(sb->s_journal_uuid)) {
-		if (!sb->s_journal_inum) {
+		/*
+		 * The full set of superblock sanity checks haven't
+		 * been performed yet, so we need to do some basic
+		 * checks here to avoid potential array overruns.
+		 */
+		if (!sb->s_journal_inum ||
+		    (sb->s_journal_inum >
+		     (ctx->fs->group_desc_count * sb->s_inodes_per_group))) {
 			retval = EXT2_ET_BAD_INODE_NUM;
 			goto errout;
 		}
@@ -1005,7 +1039,8 @@
 			tried_backup_jnl++;
 		}
 		if (!j_inode->i_ext2.i_links_count ||
-		    !LINUX_S_ISREG(j_inode->i_ext2.i_mode)) {
+		    !LINUX_S_ISREG(j_inode->i_ext2.i_mode) ||
+		    (j_inode->i_ext2.i_flags & EXT4_ENCRYPT_FL)) {
 			retval = EXT2_ET_NO_JOURNAL;
 			goto try_backup_journal;
 		}
diff --git a/e2fsck/logfile.c b/e2fsck/logfile.c
index 63e9a12..9d79eed 100644
--- a/e2fsck/logfile.c
+++ b/e2fsck/logfile.c
@@ -32,7 +32,7 @@
 {
 	s->s = malloc(len);
 /* e2fsck_allocate_memory(ctx, len, "logfile name"); */
-	s->len = len;
+	s->len = s->s ? len : 0;
 	s->end = 0;
 }
 
@@ -155,6 +155,9 @@
 	case 'Y':
 		sprintf(buf, "%d", tm->tm_year + 1900);
 		break;
+	default:
+		sprintf(buf, "%%%c", ch);
+		break;
 	}
 	append_string(s, buf, 0);
 }
diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c
index 9d43089..7854011 100644
--- a/e2fsck/pass1.c
+++ b/e2fsck/pass1.c
@@ -79,8 +79,8 @@
 static void mark_table_blocks(e2fsck_t ctx);
 static void alloc_bb_map(e2fsck_t ctx);
 static void alloc_imagic_map(e2fsck_t ctx);
-static void mark_inode_bad(e2fsck_t ctx, ino_t ino);
-static void add_casefolded_dir(e2fsck_t ctx, ino_t ino);
+static void mark_inode_bad(e2fsck_t ctx, ext2_ino_t ino);
+static void add_casefolded_dir(e2fsck_t ctx, ext2_ino_t ino);
 static void handle_fs_bad_blocks(e2fsck_t ctx);
 static void process_inodes(e2fsck_t ctx, char *block_buf);
 static EXT2_QSORT_TYPE process_inode_cmp(const void *a, const void *b);
@@ -331,7 +331,7 @@
 				      blk64_t *quota_blocks)
 {
 	struct ext2_inode inode;
-	__u32 hash;
+	__u32 hash, signed_hash;
 	errcode_t retval;
 
 	/* Check if inode is within valid range */
@@ -343,7 +343,8 @@
 
 	e2fsck_read_inode(ctx, entry->e_value_inum, &inode, "pass1");
 
-	retval = ext2fs_ext_attr_hash_entry2(ctx->fs, entry, NULL, &hash);
+	retval = ext2fs_ext_attr_hash_entry3(ctx->fs, entry, NULL, &hash,
+					     &signed_hash);
 	if (retval) {
 		com_err("check_large_ea_inode", retval,
 			_("while hashing entry with e_value_inum = %u"),
@@ -351,7 +352,7 @@
 		fatal_error(ctx, 0);
 	}
 
-	if (hash == entry->e_hash) {
+	if ((hash == entry->e_hash) || (signed_hash == entry->e_hash)) {
 		*quota_blocks = size_to_quota_blocks(ctx->fs,
 						     entry->e_value_size);
 	} else {
@@ -389,13 +390,13 @@
 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;
+	struct ext2_ext_attr_entry *entry = first;
+	struct ext2_ext_attr_entry *np = EXT2_EXT_ATTR_NEXT(entry);
 
-	for (entry = first;
-	     (void *)entry < end && !EXT2_EXT_IS_LAST_ENTRY(entry);
-	     entry = EXT2_EXT_ATTR_NEXT(entry)) {
+	while ((void *) entry < end && (void *) np < end &&
+	       !EXT2_EXT_IS_LAST_ENTRY(entry)) {
 		if (!entry->e_value_inum)
-			continue;
+			goto next;
 		if (!ctx->ea_inode_refs) {
 			pctx->errcode = ea_refcount_create(0,
 							   &ctx->ea_inode_refs);
@@ -408,6 +409,9 @@
 		}
 		ea_refcount_increment(ctx->ea_inode_refs, entry->e_value_inum,
 				      0);
+	next:
+		entry = np;
+		np = EXT2_EXT_ATTR_NEXT(entry);
 	}
 }
 
@@ -492,7 +496,10 @@
 			}
 
 			hash = ext2fs_ext_attr_hash_entry(entry,
-							  start + entry->e_value_offs);
+						start + entry->e_value_offs);
+			if (entry->e_hash != 0 && entry->e_hash != hash)
+				hash = ext2fs_ext_attr_hash_entry_signed(entry,
+						start + entry->e_value_offs);
 
 			/* e_hash may be 0 in older inode's ea */
 			if (entry->e_hash != 0 && entry->e_hash != hash) {
@@ -1326,7 +1333,7 @@
 		goto endit;
 	}
 	block_buf = (char *) e2fsck_allocate_memory(ctx, fs->blocksize * 3,
-						    "block interate buffer");
+						    "block iterate buffer");
 	if (EXT2_INODE_SIZE(fs->super) == EXT2_GOOD_OLD_INODE_SIZE)
 		e2fsck_use_inode_shortcuts(ctx, 1);
 	e2fsck_intercept_block_allocations(ctx);
@@ -2058,9 +2065,7 @@
 		goto endit;
 	}
 
-	if (ctx->large_dirs && !ext2fs_has_feature_largedir(ctx->fs->super)) {
-		ext2_filsys fs = ctx->fs;
-
+	if (ctx->large_dirs && !ext2fs_has_feature_largedir(fs->super)) {
 		if (fix_problem(ctx, PR_2_FEATURE_LARGE_DIRS, &pctx)) {
 			ext2fs_set_feature_largedir(fs->super);
 			fs->flags &= ~EXT2_FLAG_MASTER_SB_ONLY;
@@ -2204,7 +2209,7 @@
 /*
  * Mark an inode as being bad in some what
  */
-static void mark_inode_bad(e2fsck_t ctx, ino_t ino)
+static void mark_inode_bad(e2fsck_t ctx, ext2_ino_t ino)
 {
 	struct		problem_context pctx;
 
@@ -2225,7 +2230,7 @@
 	ext2fs_mark_inode_bitmap2(ctx->inode_bad_map, ino);
 }
 
-static void add_casefolded_dir(e2fsck_t ctx, ino_t ino)
+static void add_casefolded_dir(e2fsck_t ctx, ext2_ino_t ino)
 {
 	struct		problem_context pctx;
 
@@ -2555,8 +2560,9 @@
 			break;
 		}
 		if (entry->e_value_inum == 0) {
-			if (entry->e_value_offs + entry->e_value_size >
-			    fs->blocksize) {
+			if (entry->e_value_size > EXT2_XATTR_SIZE_MAX ||
+			    (entry->e_value_offs + entry->e_value_size >
+			     fs->blocksize)) {
 				if (fix_problem(ctx, PR_1_EA_BAD_VALUE, pctx))
 					goto clear_extattr;
 				break;
@@ -2571,6 +2577,9 @@
 
 			hash = ext2fs_ext_attr_hash_entry(entry, block_buf +
 							  entry->e_value_offs);
+			if (entry->e_hash != hash)
+				hash = ext2fs_ext_attr_hash_entry_signed(entry,
+					block_buf + entry->e_value_offs);
 
 			if (entry->e_hash != hash) {
 				pctx->num = entry->e_hash;
@@ -2728,7 +2737,7 @@
 	if (root->indirect_levels > ext2_dir_htree_level(fs) &&
 	    !ext2fs_has_feature_largedir(fs->super)) {
 		int blockbits = EXT2_BLOCK_SIZE_BITS(fs->super) + 10;
-		int idx_pb = 1 << (blockbits - 3);
+		unsigned idx_pb = 1 << (blockbits - 3);
 
 		/* compare inode size/blocks vs. max-sized 2-level htree */
 		if (EXT2_I_SIZE(pctx->inode) <
@@ -2840,7 +2849,8 @@
 	if (pctx->errcode)
 		return;
 	if (!(ctx->options & E2F_OPT_FIXES_ONLY) &&
-	    !pb->eti.force_rebuild) {
+	    !pb->eti.force_rebuild &&
+	    info.curr_level < MAX_EXTENT_DEPTH_COUNT) {
 		struct extent_tree_level *etl;
 
 		etl = pb->eti.ext_info + info.curr_level;
@@ -4064,7 +4074,7 @@
 	 */
 	is_flexbg = ext2fs_has_feature_flex_bg(fs->super);
 	if (is_flexbg) {
-		flexbg_size = 1 << fs->super->s_log_groups_per_flex;
+		flexbg_size = 1U << fs->super->s_log_groups_per_flex;
 		flexbg = group / flexbg_size;
 		first_block = ext2fs_group_first_block2(fs,
 							flexbg_size * flexbg);
diff --git a/e2fsck/pass1b.c b/e2fsck/pass1b.c
index 92c746c..950af5b 100644
--- a/e2fsck/pass1b.c
+++ b/e2fsck/pass1b.c
@@ -90,7 +90,7 @@
 			struct dup_inode *dp, char *block_buf);
 static errcode_t clone_file(e2fsck_t ctx, ext2_ino_t ino,
 			    struct dup_inode *dp, char* block_buf);
-static int check_if_fs_block(e2fsck_t ctx, blk64_t test_block);
+static int check_if_fs_block(e2fsck_t ctx, blk64_t block);
 static int check_if_fs_cluster(e2fsck_t ctx, blk64_t cluster);
 
 static void pass1b(e2fsck_t ctx, char *block_buf);
@@ -815,8 +815,6 @@
 		should_write = 0;
 
 	c = EXT2FS_B2C(fs, blockcnt);
-	if (check_if_fs_cluster(ctx, EXT2FS_B2C(fs, *block_nr)))
-		is_meta = 1;
 
 	if (c == cs->dup_cluster && cs->alloc_block) {
 		new_block = cs->alloc_block;
@@ -894,6 +892,8 @@
 				return BLOCK_ABORT;
 			}
 		}
+		if (check_if_fs_cluster(ctx, EXT2FS_B2C(fs, *block_nr)))
+			is_meta = 1;
 		cs->save_dup_cluster = (is_meta ? NULL : p);
 		cs->save_blocknr = *block_nr;
 		*block_nr = new_block;
@@ -1021,37 +1021,9 @@
  * This routine returns 1 if a block overlaps with one of the superblocks,
  * group descriptors, inode bitmaps, or block bitmaps.
  */
-static int check_if_fs_block(e2fsck_t ctx, blk64_t test_block)
+static int check_if_fs_block(e2fsck_t ctx, blk64_t block)
 {
-	ext2_filsys fs = ctx->fs;
-	blk64_t	first_block;
-	dgrp_t	i;
-
-	first_block = fs->super->s_first_data_block;
-	for (i = 0; i < fs->group_desc_count; i++) {
-
-		/* Check superblocks/block group descriptors */
-		if (ext2fs_bg_has_super(fs, i)) {
-			if (test_block >= first_block &&
-			    (test_block <= first_block + fs->desc_blocks))
-				return 1;
-		}
-
-		/* Check the inode table */
-		if ((ext2fs_inode_table_loc(fs, i)) &&
-		    (test_block >= ext2fs_inode_table_loc(fs, i)) &&
-		    (test_block < (ext2fs_inode_table_loc(fs, i) +
-				   fs->inode_blocks_per_group)))
-			return 1;
-
-		/* Check the bitmap blocks */
-		if ((test_block == ext2fs_block_bitmap_loc(fs, i)) ||
-		    (test_block == ext2fs_inode_bitmap_loc(fs, i)))
-			return 1;
-
-		first_block += fs->super->s_blocks_per_group;
-	}
-	return 0;
+	return ext2fs_test_block_bitmap2(ctx->block_metadata_map, block);
 }
 
 /*
@@ -1061,37 +1033,14 @@
 static int check_if_fs_cluster(e2fsck_t ctx, blk64_t cluster)
 {
 	ext2_filsys fs = ctx->fs;
-	blk64_t	first_block;
-	dgrp_t	i;
+	blk64_t	block = EXT2FS_C2B(fs, cluster);
+	int i;
 
-	first_block = fs->super->s_first_data_block;
-	for (i = 0; i < fs->group_desc_count; i++) {
-
-		/* Check superblocks/block group descriptors */
-		if (ext2fs_bg_has_super(fs, i)) {
-			if (cluster >= EXT2FS_B2C(fs, first_block) &&
-			    (cluster <= EXT2FS_B2C(fs, first_block +
-						   fs->desc_blocks)))
-				return 1;
-		}
-
-		/* Check the inode table */
-		if ((ext2fs_inode_table_loc(fs, i)) &&
-		    (cluster >= EXT2FS_B2C(fs,
-					   ext2fs_inode_table_loc(fs, i))) &&
-		    (cluster <= EXT2FS_B2C(fs,
-					   ext2fs_inode_table_loc(fs, i) +
-					   fs->inode_blocks_per_group - 1)))
+	for (i = 0; i < EXT2FS_CLUSTER_RATIO(fs); i++) {
+		if (ext2fs_test_block_bitmap2(ctx->block_metadata_map,
+					      block + i))
 			return 1;
-
-		/* Check the bitmap blocks */
-		if ((cluster == EXT2FS_B2C(fs,
-					   ext2fs_block_bitmap_loc(fs, i))) ||
-		    (cluster == EXT2FS_B2C(fs,
-					   ext2fs_inode_bitmap_loc(fs, i))))
-			return 1;
-
-		first_block += fs->super->s_blocks_per_group;
 	}
+
 	return 0;
 }
diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
index 1b2cb94..2873609 100644
--- a/e2fsck/pass2.c
+++ b/e2fsck/pass2.c
@@ -150,6 +150,7 @@
 	mtrace_print("Pass 2");
 #endif
 
+	fs->flags |= EXT2_FLAG_IGNORE_SWAP_DIRENT;
 	if (!(ctx->options & E2F_OPT_PREEN))
 		fix_problem(ctx, PR_2_PASS_HEADER, &cd.pctx);
 
@@ -317,6 +318,7 @@
 	print_resource_track(ctx, _("Pass 2"), &rtrack, fs->io);
 cleanup:
 	ext2fs_free_mem(&buf);
+	fs->flags &= ~EXT2_FLAG_IGNORE_SWAP_DIRENT;
 }
 
 #define MAX_DEPTH 32000
@@ -360,8 +362,9 @@
 	de_b = (const struct ext2_dir_entry *) b;
 	b_len = ext2fs_dirent_name_len(de_b);
 
-	return ext2fs_casefold_cmp(tbl, (unsigned char *) de_a->name, a_len,
-				   (unsigned char *) de_b->name, b_len);
+	return ext2fs_casefold_cmp(tbl,
+				   (const unsigned char *) de_a->name, a_len,
+				   (const unsigned char *) de_b->name, b_len);
 }
 
 /*
@@ -406,6 +409,7 @@
 	int		status = 0;
 	int		created = 0;
 	problem_t	problem = 0;
+	int		ftype = EXT2_FT_DIR;
 
 	if (!dirent->inode)
 		problem = PR_2_MISSING_DOT;
@@ -417,12 +421,14 @@
 
 	(void) ext2fs_get_rec_len(ctx->fs, dirent, &rec_len);
 	if (problem) {
+		if (!ext2fs_has_feature_filetype(ctx->fs->super))
+			ftype = EXT2_FT_UNKNOWN;
 		if (fix_problem(ctx, problem, pctx)) {
 			if (rec_len < 12)
 				rec_len = dirent->rec_len = 12;
 			dirent->inode = ino;
 			ext2fs_dirent_set_name_len(dirent, 1);
-			ext2fs_dirent_set_file_type(dirent, EXT2_FT_UNKNOWN);
+			ext2fs_dirent_set_file_type(dirent, ftype);
 			dirent->name[0] = '.';
 			dirent->name[1] = '\0';
 			status = 1;
@@ -443,12 +449,24 @@
 				nextdir = (struct ext2_dir_entry *)
 					((char *) dirent + 12);
 				dirent->rec_len = 12;
-				(void) ext2fs_set_rec_len(ctx->fs, new_len,
-							  nextdir);
-				nextdir->inode = 0;
-				ext2fs_dirent_set_name_len(nextdir, 0);
-				ext2fs_dirent_set_file_type(nextdir,
-							    EXT2_FT_UNKNOWN);
+				/* if the next entry looks like "..", leave it
+				 * and let check_dotdot() verify the dirent,
+				 * otherwise zap the following entry. */
+				if (strncmp(nextdir->name, "..", 3) != 0) {
+					(void)ext2fs_set_rec_len(ctx->fs,
+								 new_len,
+								 nextdir);
+					nextdir->inode = 0;
+					ext2fs_dirent_set_name_len(nextdir, 0);
+					ext2fs_dirent_set_file_type(nextdir,
+								    ftype);
+#ifdef WORDS_BIGENDIAN
+				} else {
+					(void) ext2fs_dirent_swab_in2(ctx->fs,
+						(char *) nextdir,
+						ctx->fs->blocksize - 12, 0);
+#endif
+				}
 				status = 1;
 			}
 		}
@@ -467,6 +485,7 @@
 {
 	problem_t	problem = 0;
 	unsigned int	rec_len;
+	int		ftype = EXT2_FT_DIR;
 
 	if (!dirent->inode)
 		problem = PR_2_MISSING_DOT_DOT;
@@ -479,6 +498,8 @@
 
 	(void) ext2fs_get_rec_len(ctx->fs, dirent, &rec_len);
 	if (problem) {
+		if (!ext2fs_has_feature_filetype(ctx->fs->super))
+			ftype = EXT2_FT_UNKNOWN;
 		if (fix_problem(ctx, problem, pctx)) {
 			if (rec_len < 12)
 				dirent->rec_len = 12;
@@ -489,7 +510,7 @@
 			 */
 			dirent->inode = EXT2_ROOT_INO;
 			ext2fs_dirent_set_name_len(dirent, 2);
-			ext2fs_dirent_set_file_type(dirent, EXT2_FT_UNKNOWN);
+			ext2fs_dirent_set_file_type(dirent, ftype);
 			dirent->name[0] = '.';
 			dirent->name[1] = '.';
 			dirent->name[2] = '\0';
@@ -779,7 +800,7 @@
 	 * Special case of directory entry of size 8: copy what's left
 	 * of the directory block up to cover up the invalid hole.
 	 */
-	if ((left >= ext2fs_dir_rec_len(1, hash_in_dirent)) &&
+	if ((left >= (int) ext2fs_dir_rec_len(1, hash_in_dirent)) &&
 	     (rec_len == EXT2_DIR_ENTRY_HEADER_LEN)) {
 		memmove(cp, cp+EXT2_DIR_ENTRY_HEADER_LEN, left);
 		memset(cp + left, 0, EXT2_DIR_ENTRY_HEADER_LEN);
@@ -1285,7 +1306,7 @@
 
 	if (cf_dir) {
 		dict_init(&de_dict, DICTCOUNT_T_MAX, dict_de_cf_cmp);
-		dict_set_cmp_context(&de_dict, (void *)ctx->fs->encoding);
+		dict_set_cmp_context(&de_dict, (const void *)ctx->fs->encoding);
 	} else {
 		dict_init(&de_dict, DICTCOUNT_T_MAX, dict_de_cmp);
 	}
@@ -1301,7 +1322,7 @@
 		unsigned int name_len;
 		/* csum entry is not checked here, so don't worry about it */
 		int extended = (dot_state > 1) && hash_in_dirent;
-		int min_dir_len = ext2fs_dir_rec_len(1, extended);
+		unsigned int min_dir_len = ext2fs_dir_rec_len(1, extended);
 
 		problem = 0;
 		if (!inline_data_size || dot_state > 1) {
@@ -1357,12 +1378,14 @@
 							  hash_in_dirent);
 #ifdef WORDS_BIGENDIAN
 					if (need_reswab) {
+						unsigned int len;
+
 						(void) ext2fs_get_rec_len(fs,
-							dirent, &rec_len);
-						ext2fs_dirent_swab_in2(fs,
-							((char *)dirent) + offset + rec_len,
-							max_block_size - offset - rec_len,
-							0);
+							dirent, &len);
+						len += offset;
+						if (max_block_size > len)
+							ext2fs_dirent_swab_in2(fs,
+				((char *)dirent) + len, max_block_size - len, 0);
 					}
 #endif
 					dir_modified++;
@@ -1420,7 +1443,10 @@
 		name_len = ext2fs_dirent_name_len(dirent);
 		if (((dirent->inode != EXT2_ROOT_INO) &&
 		     (dirent->inode < EXT2_FIRST_INODE(fs->super))) ||
-		    (dirent->inode > fs->super->s_inodes_count)) {
+		    (dirent->inode > fs->super->s_inodes_count) ||
+		    (dirent->inode == fs->super->s_usr_quota_inum) ||
+		    (dirent->inode == fs->super->s_grp_quota_inum) ||
+		    (dirent->inode == fs->super->s_prj_quota_inum)) {
 			problem = PR_2_BAD_INO;
 		} else if (ctx->inode_bb_map &&
 			   (ext2fs_test_inode_bitmap2(ctx->inode_bb_map,
@@ -1515,6 +1541,7 @@
 					&cd->pctx)){
 				ext2fs_bg_flags_clear(fs, group,
 						      EXT2_BG_INODE_UNINIT);
+				ext2fs_group_desc_csum_set(fs, group);
 				ext2fs_mark_super_dirty(fs);
 				ctx->flags |= E2F_FLAG_RESTART_LATER;
 			} else {
@@ -1526,6 +1553,7 @@
 			pctx.num = dirent->inode;
 			if (fix_problem(ctx, PR_2_INOREF_IN_UNUSED, &cd->pctx)){
 				ext2fs_bg_itable_unused_set(fs, group, 0);
+				ext2fs_group_desc_csum_set(fs, group);
 				ext2fs_mark_super_dirty(fs);
 				ctx->flags |= E2F_FLAG_RESTART_LATER;
 			} else {
@@ -1783,7 +1811,7 @@
 };
 
 /*
- * This function is called to deallocate a block, and is an interator
+ * This function is called to deallocate a block, and is an iterator
  * functioned called by deallocate inode via ext2fs_iterate_block().
  */
 static int deallocate_inode_block(ext2_filsys fs,
diff --git a/e2fsck/pass3.c b/e2fsck/pass3.c
index cedaaf5..16d243f 100644
--- a/e2fsck/pass3.c
+++ b/e2fsck/pass3.c
@@ -22,7 +22,7 @@
  * will offer to reconnect it to /lost+found.  While it is chasing
  * parent pointers up the filesystem tree, if pass3 sees a directory
  * twice, then it has detected a filesystem loop, and it will again
- * offer to reconnect the directory to /lost+found in to break the
+ * offer to reconnect the directory to /lost+found in order to break the
  * filesystem loop.
  *
  * Pass 3 also contains the subroutine, e2fsck_reconnect_file() to
@@ -304,7 +304,7 @@
 		 * If it was marked done already, then we've reached a
 		 * parent we've already checked.
 		 */
-	  	if (ext2fs_mark_inode_bitmap2(inode_done_map, ino))
+		if (ext2fs_mark_inode_bitmap2(inode_done_map, ino))
 			break;
 
 		if (e2fsck_dir_info_get_parent(ctx, ino, &parent)) {
@@ -319,13 +319,18 @@
 		 */
 		if (!parent ||
 		    (loop_pass &&
-		     (ext2fs_test_inode_bitmap2(inode_loop_detect,
-					       parent)))) {
+		     ext2fs_test_inode_bitmap2(inode_loop_detect, parent))) {
 			pctx->ino = ino;
-			if (fix_problem(ctx, PR_3_UNCONNECTED_DIR, pctx)) {
-				if (e2fsck_reconnect_file(ctx, pctx->ino))
+			if (parent)
+				pctx->dir = parent;
+			else
+				(void) ext2fs_lookup(fs, ino, "..", 2, NULL,
+						     &pctx->dir);
+			if (fix_problem(ctx, !parent ? PR_3_UNCONNECTED_DIR :
+						       PR_3_LOOPED_DIR, pctx)) {
+				if (e2fsck_reconnect_file(ctx, pctx->ino)) {
 					ext2fs_unmark_valid(fs);
-				else {
+				} else {
 					fix_dotdot(ctx, pctx->ino,
 						   ctx->lost_and_found);
 					parent = ctx->lost_and_found;
diff --git a/e2fsck/problem.c b/e2fsck/problem.c
index eb2824f..e2572f5 100644
--- a/e2fsck/problem.c
+++ b/e2fsck/problem.c
@@ -50,29 +50,29 @@
  * to fix a problem.
  */
 static const char *prompt[] = {
-	N_("(no prompt)"),	/* 0 */
-	N_("Fix"),		/* 1 */
-	N_("Clear"),		/* 2 */
-	N_("Relocate"),		/* 3 */
-	N_("Allocate"),		/* 4 */
-	N_("Expand"),		/* 5 */
-	N_("Connect to /lost+found"), /* 6 */
-	N_("Create"),		/* 7 */
-	N_("Salvage"),		/* 8 */
-	N_("Truncate"),		/* 9 */
-	N_("Clear inode"),	/* 10 */
-	N_("Abort"),		/* 11 */
-	N_("Split"),		/* 12 */
-	N_("Continue"),		/* 13 */
-	N_("Clone multiply-claimed blocks"), /* 14 */
-	N_("Delete file"),	/* 15 */
-	N_("Suppress messages"),/* 16 */
-	N_("Unlink"),		/* 17 */
-	N_("Clear HTree index"),/* 18 */
-	N_("Recreate"),		/* 19 */
-	N_("Optimize"),		/* 20 */
-	N_("Clear flag"),	/* 21 */
-	"",			/* 22 */
+	N_("(no prompt)"),			/* PROMPT_NONE		=  0 */
+	N_("Fix"),				/* PROMPT_FIX		=  1 */
+	N_("Clear"),				/* PROMPT_CLEAR		=  2 */
+	N_("Relocate"),				/* PROMPT_RELOCATE	=  3 */
+	N_("Allocate"),				/* PROMPT_CREATE	=  4 */
+	N_("Expand"),				/* PROMPT_EXPAND	=  5 */
+	N_("Connect to /lost+found"),		/* PROMPT_CONNECT	=  6 */
+	N_("Create"),				/* PROMPT_CREATE	=  7 */
+	N_("Salvage"),				/* PROMPT_SALVAGE	=  8 */
+	N_("Truncate"),				/* PROMPT_TRUNCATE	=  9 */
+	N_("Clear inode"),			/* PROMPT_CLEAR_INODE	= 10 */
+	N_("Abort"),				/* PROMPT_ABORT		= 11 */
+	N_("Split"),				/* PROMPT_SPLIT		= 12 */
+	N_("Continue"),				/* PROMPT_CONTINUE	= 13 */
+	N_("Clone multiply-claimed blocks"),	/* PROMPT_CLONE		= 14 */
+	N_("Delete file"),			/* PROMPT_DELETE	= 15 */
+	N_("Suppress messages"),		/* PROMPT_SUPPRESS	= 16 */
+	N_("Unlink"),				/* PROMPT_UNLINK	= 17 */
+	N_("Clear HTree index"),		/* PROMPT_CLEAR_HTREE	= 18 */
+	N_("Recreate"),				/* PROMPT_RECREATE	= 19 */
+	N_("Optimize"),				/* PROMPT_OPTIMIZE	= 20 */
+	N_("Clear flag"),			/* PROMPT_CLEAR_FLAG	= 21 */
+	"",					/* PROMPT_NULL		= 22 */
 };
 
 /*
@@ -379,7 +379,7 @@
 	/* group descriptor N checksum is invalid, should be yyyy. */
 	{ PR_0_GDT_CSUM,
 	  N_("@g descriptor %g checksum is %04x, should be %04y.  "),
-	     PROMPT_FIX, PR_LATCH_BG_CHECKSUM, 0, 0, 0 },
+	     PROMPT_FIX, PR_PREEN_OK | PR_LATCH_BG_CHECKSUM, 0, 0, 0 },
 
 	/* group descriptor N marked uninitialized without feature set. */
 	{ PR_0_GDT_UNINIT,
@@ -1852,7 +1852,7 @@
 	/* Unconnected directory inode */
 	{ PR_3_UNCONNECTED_DIR,
 	  /* xgettext:no-c-format */
-	  N_("Unconnected @d @i %i (%p)\n"),
+	  N_("Unconnected @d @i %i (was in %q)\n"),
 	  PROMPT_CONNECT, 0, 0, 0, 0 },
 
 	/* /lost+found not found */
@@ -1989,6 +1989,12 @@
 	  N_("/@l is encrypted\n"),
 	  PROMPT_CLEAR, 0, 0, 0, 0 },
 
+	/* Recursively looped directory inode */
+	{ PR_3_LOOPED_DIR,
+	  /* xgettext:no-c-format */
+	  N_("Recursively looped @d @i %i (%p)\n"),
+	  PROMPT_CONNECT, 0, 0, 0, 0 },
+
 	/* Pass 3A Directory Optimization	*/
 
 	/* Pass 3A: Optimizing directories */
@@ -2315,6 +2321,8 @@
 	int answer = -1;
 
 	ldesc = find_latch(mask);
+	if (!ldesc)
+		return answer;
 	if (ldesc->end_message && (ldesc->flags & PRL_LATCHED)) {
 		clear_problem_context(&pctx);
 		answer = fix_problem(ctx, ldesc->end_message, &pctx);
@@ -2461,8 +2469,8 @@
 	 * Do special latch processing.  This is where we ask the
 	 * latch question, if it exists
 	 */
-	if (ptr->flags & PR_LATCH_MASK) {
-		ldesc = find_latch(ptr->flags & PR_LATCH_MASK);
+	if (ptr->flags & PR_LATCH_MASK &&
+	    (ldesc = find_latch(ptr->flags & PR_LATCH_MASK)) != NULL) {
 		if (ldesc->question && !(ldesc->flags & PRL_LATCHED)) {
 			ans = fix_problem(ctx, ldesc->question, pctx);
 			if (ans == 1)
@@ -2486,8 +2494,7 @@
 		if ((ctx->options & E2F_OPT_PREEN) &&
 		    (ptr->flags & PR_PREEN_OK))
 			suppress++;
-		if ((ptr->flags & PR_LATCH_MASK) &&
-		    (ldesc->flags & (PRL_YES | PRL_NO)))
+		if (ldesc && (ldesc->flags & (PRL_YES | PRL_NO)))
 			suppress++;
 		if (ptr->count == ptr->max_count + 1) {
 			if (ctx->problem_logf)
@@ -2532,8 +2539,7 @@
 			answer = def_yn;
 			if (!(ptr->flags & PR_PREEN_NOMSG))
 				print_answer = 1;
-		} else if ((ptr->flags & PR_LATCH_MASK) &&
-			   (ldesc->flags & (PRL_YES | PRL_NO))) {
+		} else if (ldesc && (ldesc->flags & (PRL_YES | PRL_NO))) {
 			print_answer = 1;
 			if (ldesc->flags & PRL_YES)
 				answer = 1;
diff --git a/e2fsck/problem.h b/e2fsck/problem.h
index 24cdcf9..e86bc88 100644
--- a/e2fsck/problem.h
+++ b/e2fsck/problem.h
@@ -1132,6 +1132,9 @@
 /* Lost+found is encrypted */
 #define PR_3_LPF_ENCRYPTED		0x03001B
 
+/* Recursively looped directory inode */
+#define PR_3_LOOPED_DIR			0x03001D
+
 /*
  * Pass 3a --- rehashing directories
  */
diff --git a/e2fsck/recovery.c b/e2fsck/recovery.c
index 1e07dfa..8ca3527 100644
--- a/e2fsck/recovery.c
+++ b/e2fsck/recovery.c
@@ -179,8 +179,8 @@
 	if (!jbd2_journal_has_csum_v2or3(j))
 		return 1;
 
-	tail = (struct jbd2_journal_block_tail *)(buf + j->j_blocksize -
-			sizeof(struct jbd2_journal_block_tail));
+	tail = (struct jbd2_journal_block_tail *)((char *)buf +
+		j->j_blocksize - sizeof(struct jbd2_journal_block_tail));
 	provided = tail->t_checksum;
 	tail->t_checksum = 0;
 	calculated = jbd2_chksum(j, j->j_csum_seed, buf, j->j_blocksize);
@@ -196,7 +196,7 @@
 static int count_tags(journal_t *journal, struct buffer_head *bh)
 {
 	char *			tagp;
-	journal_block_tag_t *	tag;
+	journal_block_tag_t	tag;
 	int			nr = 0, size = journal->j_blocksize;
 	int			tag_bytes = journal_tag_bytes(journal);
 
@@ -206,14 +206,14 @@
 	tagp = &bh->b_data[sizeof(journal_header_t)];
 
 	while ((tagp - bh->b_data + tag_bytes) <= size) {
-		tag = (journal_block_tag_t *) tagp;
+		memcpy(&tag, tagp, sizeof(tag));
 
 		nr++;
 		tagp += tag_bytes;
-		if (!(tag->t_flags & cpu_to_be16(JBD2_FLAG_SAME_UUID)))
+		if (!(tag.t_flags & cpu_to_be16(JBD2_FLAG_SAME_UUID)))
 			tagp += 16;
 
-		if (tag->t_flags & cpu_to_be16(JBD2_FLAG_LAST_TAG))
+		if (tag.t_flags & cpu_to_be16(JBD2_FLAG_LAST_TAG))
 			break;
 	}
 
@@ -325,7 +325,7 @@
 		err = err2;
 	/* Make sure all replayed data is on permanent storage */
 	if (journal->j_flags & JBD2_BARRIER) {
-		err2 = blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL);
+		err2 = blkdev_issue_flush(journal->j_fs_dev);
 		if (!err)
 			err = err2;
 	}
@@ -433,9 +433,9 @@
 }
 
 static int jbd2_block_tag_csum_verify(journal_t *j, journal_block_tag_t *tag,
+				      journal_block_tag3_t *tag3,
 				      void *buf, __u32 sequence)
 {
-	journal_block_tag3_t *tag3 = (journal_block_tag3_t *)tag;
 	__u32 csum32;
 	__be32 seq;
 
@@ -496,7 +496,7 @@
 	while (1) {
 		int			flags;
 		char *			tagp;
-		journal_block_tag_t *	tag;
+		journal_block_tag_t	tag;
 		struct buffer_head *	obh;
 		struct buffer_head *	nbh;
 
@@ -613,8 +613,8 @@
 			       <= journal->j_blocksize - descr_csum_size) {
 				unsigned long io_block;
 
-				tag = (journal_block_tag_t *) tagp;
-				flags = be16_to_cpu(tag->t_flags);
+				memcpy(&tag, tagp, sizeof(tag));
+				flags = be16_to_cpu(tag.t_flags);
 
 				io_block = next_log_block++;
 				wrap(journal, next_log_block);
@@ -632,7 +632,7 @@
 
 					J_ASSERT(obh != NULL);
 					blocknr = read_tag_block(journal,
-								 tag);
+								 &tag);
 
 					/* If the block has been
 					 * revoked, then we're all done
@@ -647,8 +647,8 @@
 
 					/* Look for block corruption */
 					if (!jbd2_block_tag_csum_verify(
-						journal, tag, obh->b_data,
-						be32_to_cpu(tmp->h_sequence))) {
+			journal, &tag, (journal_block_tag3_t *)tagp,
+			obh->b_data, be32_to_cpu(tmp->h_sequence))) {
 						brelse(obh);
 						success = -EFSBADCRC;
 						printk(KERN_ERR "JBD2: Invalid "
@@ -760,7 +760,6 @@
 				 */
 				jbd_debug(1, "JBD2: Invalid checksum ignored in transaction %u, likely stale data\n",
 					  next_commit_ID);
-				err = 0;
 				brelse(bh);
 				goto done;
 			}
@@ -897,7 +896,7 @@
 {
 	jbd2_journal_revoke_header_t *header;
 	int offset, max;
-	int csum_size = 0;
+	unsigned csum_size = 0;
 	__u32 rcount;
 	int record_len = 4;
 
diff --git a/e2fsck/rehash.c b/e2fsck/rehash.c
index 7d30ff0..8235e46 100644
--- a/e2fsck/rehash.c
+++ b/e2fsck/rehash.c
@@ -91,7 +91,7 @@
 struct hash_entry {
 	ext2_dirhash_t	hash;
 	ext2_dirhash_t	minor_hash;
-	ino_t		ino;
+	ext2_ino_t	ino;
 	struct ext2_dir_entry	*dir;
 };
 
@@ -164,7 +164,7 @@
 	/* While the directory block is "hot", index it. */
 	dir_offset = 0;
 	while (dir_offset < fs->blocksize) {
-		int min_rec = EXT2_DIR_ENTRY_HEADER_LEN;
+		unsigned int min_rec = EXT2_DIR_ENTRY_HEADER_LEN;
 		int extended = hash_in_entry && !is_fake_entry(fs, blockcnt, dir_offset);
 
 		if (extended)
@@ -414,6 +414,8 @@
 			l += 2;
 		else
 			l = (l+3) & ~3;
+		if (l > 255)
+			l = 255;
 		str[l-2] = '~';
 		str[l-1] = '0';
 		*len = l;
@@ -548,7 +550,7 @@
 	int			csum_size = 0;
 	struct			ext2_dir_entry_tail *t;
 	int hash_in_entry = ext4_hash_in_dirent(fd->inode);
-	int min_rec_len = ext2fs_dir_rec_len(1, hash_in_entry);
+	unsigned int min_rec_len = ext2fs_dir_rec_len(1, hash_in_entry);
 
 	if (ctx->htree_slack_percentage == 255) {
 		profile_get_uint(ctx->profile, "options",
@@ -1051,13 +1053,11 @@
 	/* Sort the list */
 resort:
 	if (fd.compress && fd.num_array > 1)
-		sort_r_simple(fd.harray+2, fd.num_array-2,
-			      sizeof(struct hash_entry),
-			      hash_cmp, &name_cmp_ctx);
+		sort_r(fd.harray+2, fd.num_array-2, sizeof(struct hash_entry),
+		       hash_cmp, &name_cmp_ctx);
 	else
-		sort_r_simple(fd.harray, fd.num_array,
-			      sizeof(struct hash_entry),
-			      hash_cmp, &name_cmp_ctx);
+		sort_r(fd.harray, fd.num_array, sizeof(struct hash_entry),
+		       hash_cmp, &name_cmp_ctx);
 
 	/*
 	 * Look for duplicates
diff --git a/e2fsck/super.c b/e2fsck/super.c
index e1c3f93..123813b 100644
--- a/e2fsck/super.c
+++ b/e2fsck/super.c
@@ -281,7 +281,8 @@
 		if (qf_ino == 0)
 			continue;
 
-		retval = quota_update_limits(ctx->qctx, qf_ino, qtype);
+		retval = quota_read_all_dquots(ctx->qctx, qf_ino, qtype,
+					       QREAD_USAGE | QREAD_LIMITS);
 		if (retval)
 			break;
 	}
@@ -1038,9 +1039,9 @@
 	 * Check to see if the superblock last mount time or last
 	 * write time is in the future.
 	 */
-	if (!broken_system_clock && fs->super->s_checkinterval &&
-	    !(ctx->flags & E2F_FLAG_TIME_INSANE) &&
-	    fs->super->s_mtime > (__u32) ctx->now) {
+	if (((ctx->options & E2F_OPT_FORCE) || fs->super->s_checkinterval) &&
+	    !broken_system_clock && !(ctx->flags & E2F_FLAG_TIME_INSANE) &&
+	    (fs->super->s_mtime > (__u32) ctx->now)) {
 		pctx.num = fs->super->s_mtime;
 		problem = PR_0_FUTURE_SB_LAST_MOUNT;
 		if (fs->super->s_mtime <= (__u32) ctx->now + ctx->time_fudge)
@@ -1050,9 +1051,9 @@
 			fs->flags |= EXT2_FLAG_DIRTY;
 		}
 	}
-	if (!broken_system_clock && fs->super->s_checkinterval &&
-	    !(ctx->flags & E2F_FLAG_TIME_INSANE) &&
-	    fs->super->s_wtime > (__u32) ctx->now) {
+	if (((ctx->options & E2F_OPT_FORCE) || fs->super->s_checkinterval) &&
+	    !broken_system_clock && !(ctx->flags & E2F_FLAG_TIME_INSANE) &&
+	    (fs->super->s_wtime > (__u32) ctx->now)) {
 		pctx.num = fs->super->s_wtime;
 		problem = PR_0_FUTURE_SB_LAST_WRITE;
 		if (fs->super->s_wtime <= (__u32) ctx->now + ctx->time_fudge)
diff --git a/e2fsck/unix.c b/e2fsck/unix.c
index c5f9e44..853eb29 100644
--- a/e2fsck/unix.c
+++ b/e2fsck/unix.c
@@ -52,6 +52,7 @@
 #include "e2p/e2p.h"
 #include "uuid/uuid.h"
 #include "support/plausible.h"
+#include "support/devname.h"
 #include "e2fsck.h"
 #include "problem.h"
 #include "jfs_user.h"
@@ -78,7 +79,7 @@
 		_("Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
 		"\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n"
 		"\t\t[-E extended-options] [-z undo_file] device\n"),
-		ctx->program_name);
+		ctx->program_name ? ctx->program_name : "e2fsck");
 
 	fprintf(stderr, "%s", _("\nEmergency help:\n"
 		" -p                   Automatic repair (no questions)\n"
@@ -304,7 +305,7 @@
 	}
 	f = fopen("/proc/apm", "r");
 	if (f) {
-		if (fscanf(f, "%s %s %s %x", tmp, tmp, tmp, &acflag) != 4)
+		if (fscanf(f, "%79s %79s %79s %x", tmp, tmp, tmp, &acflag) != 4)
 			acflag = 1;
 		fclose(f);
 		return (acflag != 1);
@@ -320,7 +321,7 @@
 			f = fopen(fname, "r");
 			if (!f)
 				continue;
-			if (fscanf(f, "%s %s", tmp2, tmp) != 2)
+			if (fscanf(f, "%79s %79s", tmp2, tmp) != 2)
 				tmp[0] = 0;
 			fclose(f);
 			if (strncmp(tmp, "off-line", 8) == 0) {
@@ -849,7 +850,7 @@
 	if (argc && *argv)
 		ctx->program_name = *argv;
 	else
-		ctx->program_name = "e2fsck";
+		usage(NULL);
 
 	phys_mem_kb = get_memory_size() / 1024;
 	ctx->readahead_kb = ~0ULL;
@@ -939,8 +940,8 @@
 				goto sscanf_err;
 			break;
 		case 'j':
-			ctx->journal_name = blkid_get_devname(ctx->blkid,
-							      optarg, NULL);
+			ctx->journal_name = get_devname(ctx->blkid,
+							optarg, NULL);
 			if (!ctx->journal_name) {
 				com_err(ctx->program_name, 0,
 					_("Unable to resolve '%s'"),
@@ -1019,7 +1020,7 @@
 	ctx->io_options = strchr(argv[optind], '?');
 	if (ctx->io_options)
 		*ctx->io_options++ = 0;
-	ctx->filesystem_name = blkid_get_devname(ctx->blkid, argv[optind], 0);
+	ctx->filesystem_name = get_devname(ctx->blkid, argv[optind], 0);
 	if (!ctx->filesystem_name) {
 		com_err(ctx->program_name, 0, _("Unable to resolve '%s'"),
 			argv[optind]);
@@ -1171,25 +1172,32 @@
 	errcode_t retval;
 
 	*ret_fs = NULL;
-	if (ctx->superblock && ctx->blocksize) {
-		retval = ext2fs_open2(ctx->filesystem_name, ctx->io_options,
-				      flags, ctx->superblock, ctx->blocksize,
-				      io_ptr, ret_fs);
-	} else if (ctx->superblock) {
-		int blocksize;
-		for (blocksize = EXT2_MIN_BLOCK_SIZE;
-		     blocksize <= EXT2_MAX_BLOCK_SIZE; blocksize *= 2) {
-			if (*ret_fs) {
-				ext2fs_free(*ret_fs);
-				*ret_fs = NULL;
+
+	if (ctx->superblock) {
+		unsigned long blocksize = ctx->blocksize;
+
+		if (!blocksize) {
+			for (blocksize = EXT2_MIN_BLOCK_SIZE;
+			     blocksize <= EXT2_MAX_BLOCK_SIZE; blocksize *= 2) {
+
+				retval = ext2fs_open2(ctx->filesystem_name,
+						      ctx->io_options, flags,
+						      ctx->superblock, blocksize,
+						      unix_io_manager, ret_fs);
+				if (*ret_fs) {
+					ext2fs_free(*ret_fs);
+					*ret_fs = NULL;
+				}
+				if (!retval)
+					break;
 			}
-			retval = ext2fs_open2(ctx->filesystem_name,
-					      ctx->io_options, flags,
-					      ctx->superblock, blocksize,
-					      io_ptr, ret_fs);
-			if (!retval)
-				break;
+			if (retval)
+				return retval;
 		}
+
+		retval = ext2fs_open2(ctx->filesystem_name, ctx->io_options,
+				      flags, ctx->superblock, blocksize,
+				      io_ptr, ret_fs);
 	} else
 		retval = ext2fs_open2(ctx->filesystem_name, ctx->io_options,
 				      flags, 0, 0, io_ptr, ret_fs);
@@ -1619,7 +1627,8 @@
 			 * so that we are able to recover from more errors
 			 * (e.g. some tool messing up some value in the sb).
 			 */
-			if ((retval == EXT2_ET_CORRUPT_SUPERBLOCK) &&
+			if (((retval == EXT2_ET_CORRUPT_SUPERBLOCK) ||
+			     (retval == EXT2_ET_BAD_DESC_SIZE)) &&
 			    !(flags & EXT2_FLAG_IGNORE_SB_ERRORS)) {
 				if (fs)
 					ext2fs_close_free(&fs);
diff --git a/e2fsck/util.c b/e2fsck/util.c
index 3fe3c98..42740d9 100644
--- a/e2fsck/util.c
+++ b/e2fsck/util.c
@@ -430,7 +430,16 @@
 		log_out(ctx, "%s: ", desc);
 
 #define kbytes(x)	(((unsigned long long)(x) + 1023) / 1024)
-#ifdef HAVE_MALLINFO
+#ifdef HAVE_MALLINFO2
+	if (1) {
+		struct mallinfo2 malloc_info = mallinfo2();
+
+		log_out(ctx, _("Memory used: %lluk/%lluk (%lluk/%lluk), "),
+			kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
+			kbytes(malloc_info.uordblks),
+			kbytes(malloc_info.fordblks));
+	} else
+#elif defined HAVE_MALLINFO
 	/* don't use mallinfo() if over 2GB used, since it returns "int" */
 	if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
 		struct mallinfo	malloc_info = mallinfo();
diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm
index 9f99921..72ee4c8 100644
--- a/e2fsprogs.lsm
+++ b/e2fsprogs.lsm
@@ -1,16 +1,16 @@
 Begin3
 Title:          EXT2 Filesystem utilities
-Version:        1.46.2
-Entered-date:   2021-02-28
+Version:        1.46.6
+Entered-date:   2023-02-01
 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
-                9276kB e2fsprogs-1.46.2.tar.gz
-                1kB    e2fsprogs-1.46.2.lsm
-Alternate-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
+                9400kB e2fsprogs-1.46.6.tar.gz
+                1kB    e2fsprogs-1.46.6.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
 End
diff --git a/e2fsprogs.spec b/e2fsprogs.spec
index 9c6ebca..417be49 100644
--- a/e2fsprogs.spec
+++ b/e2fsprogs.spec
@@ -5,7 +5,7 @@
 
 Summary: Utilities for managing ext2/ext3/ext4 filesystems
 Name: e2fsprogs
-Version: 1.46.1
+Version: 1.46.6
 Release: 0
 License: GPLv2
 Group: System Environment/Base
diff --git a/ext2ed/doc/ext2ed-design.sgml b/ext2ed/doc/ext2ed-design.sgml
index e8052a9..b2cab37 100644
--- a/ext2ed/doc/ext2ed-design.sgml
+++ b/ext2ed/doc/ext2ed-design.sgml
@@ -1446,7 +1446,7 @@
 <ListItem>
 
 <Para>
-	Closes the window subsystem, and deattaches EXT2ED from the ncurses
+	Closes the window subsystem, and detaches EXT2ED from the ncurses
 library, through the use of the <Literal remap="tt">close&lowbar;windows</Literal> function,
 available in <Literal remap="tt">win.c</Literal>.
 </Para>
diff --git a/ext2ed/ext2ed.8.in b/ext2ed/ext2ed.8.in
index 008a125..e827277 100644
--- a/ext2ed/ext2ed.8.in
+++ b/ext2ed/ext2ed.8.in
@@ -9,8 +9,8 @@
 in an
 .B editor
 for the
-.B second extended filesystem.
-Its aim is to show you the various internal filesystem structures in an
+.B second extended file system.
+Its aim is to show you the various internal file system structures in an
 intuitive form so that you would be able to easily understand and modify
 them.
 .SH DOCUMENTATION
@@ -23,9 +23,9 @@
 
 The second article is
 .B The Ext2fs overview.
-This article gives an overview of internal structure of the ext2 filesystem.
+This article gives an overview of internal structure of the ext2 file system.
 You need to understand the internal layout in order to effectively edit
-your filesystem.
+your file system.
 
 The third article is
 .B EXT2ED - Design and implementation.
@@ -35,7 +35,7 @@
 .SH WARNING
 
 .B
-Do not use ext2ed on a mounted filesystem.
+Do not use ext2ed on a mounted file system.
 
 .SH FILES
 .TP
@@ -46,10 +46,10 @@
 ext2ed's configuration file.
 .TP
 .I @datadir@/ext2.descriptors
-Definition of the various objects for the ext2 filesystem.
+Definition of the various objects for the ext2 file system.
 .TP
 .I /var/log/ext2ed.log
-Log file of actual changes made to the filesystem.
+Log file of actual changes made to the file system.
 .TP
 .I /usr/man/man8/ext2ed.8
 The manual page.
@@ -58,13 +58,13 @@
 The user's guide.
 .TP
 .I @datadir@/doc/ext2ed/Ext2fs-overview-0.1.ps
-Technical overview of the ext2 filesystem.
+Technical overview of the ext2 file system.
 .TP
 .I @datadir@/doc/ext2ed/ext2ed-design-0.1.ps
 EXT2ED design notes.
 
 .SH BUGS
-Filesystems bigger than 2 GB aren't yet supported.
+File Systems bigger than 2 GB aren't yet supported.
 .SH AUTHOR
 Gadi Oxman <tgud@tochnapc2.technion.ac.il>
 .SH SEE ALSO
diff --git a/ext2ed/main.c b/ext2ed/main.c
index f7e7d7d..9d33a8e 100644
--- a/ext2ed/main.c
+++ b/ext2ed/main.c
@@ -524,6 +524,8 @@
 	char *ptr;
 
 	ptr=(char *) malloc (strlen (src)+1);
+	if (!ptr)
+		return NULL;
 	strcpy (ptr,src);
 	return (ptr);
 }
diff --git a/include/mingw/arpa/inet.h b/include/mingw/arpa/inet.h
new file mode 100644
index 0000000..55dfa36
--- /dev/null
+++ b/include/mingw/arpa/inet.h
@@ -0,0 +1,5 @@
+#pragma once
+
+/* Windows is always little endian. */
+#define htonl	__builtin_bswap32
+#define ntohl	__builtin_bswap32
diff --git a/include/mingw/sys/sysmacros.h b/include/mingw/sys/sysmacros.h
index 18fcaaa..a790cb2 100644
--- a/include/mingw/sys/sysmacros.h
+++ b/include/mingw/sys/sysmacros.h
@@ -1,11 +1,5 @@
-
 #pragma once
 
-/*
- * Fall back to Linux's definitions of makedev and major are needed.
- * The search_sysfs_block() function is highly unlikely to work on
- * non-Linux systems anyway.
- */
 #ifndef makedev
 #define makedev(maj, min) (((maj) << 8) + (min))
-#endif
\ No newline at end of file
+#endif
diff --git a/include/mingw/unistd.h b/include/mingw/unistd.h
index 9c0dc81..b201858 100644
--- a/include/mingw/unistd.h
+++ b/include/mingw/unistd.h
@@ -1,13 +1,54 @@
-
 #pragma once
 
+// Copyright transferred from Raider Solutions, Inc to
+//   Kern Sibbald and John Walker by express permission.
+//
+// Copyright (C) 2004-2006 Kern Sibbald
+// Copyright (C) 2014 Adam Kropelin
+//
+//   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; if not, write to the Free
+//   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+//   MA 02111-1307, USA.
+
+#ifndef __COMPAT_UNISTD_H_
+#define __COMPAT_UNISTD_H_
+
 #include_next <unistd.h>
 
-__inline __uid_t getuid(void){return 0;}
-__inline int geteuid(void){return 1;}
+#define _PC_PATH_MAX 1
+#define _PC_NAME_MAX 2
 
-__inline __gid_t getgid(void){return 0;}
-__inline __gid_t getegid(void){return 0;}
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+long pathconf(const char *, int);
+#define getpid _getpid
+#define getppid() 0
+
+unsigned int sleep(unsigned int seconds);
+
+#define getuid() 0
+#define getgid() 0
+#define geteuid() 1
+#define getegid() 0
 
 // no-oped sync
 __inline void sync(void){};
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* __COMPAT_UNISTD_H_ */
\ No newline at end of file
diff --git a/lib/Android.bp b/lib/Android.bp
index fb0ea07..529fa23 100644
--- a/lib/Android.bp
+++ b/lib/Android.bp
@@ -40,7 +40,6 @@
     ],
 }
 
-
 subdirs = [
     "*",
 ]
diff --git a/lib/Makefile.darwin-lib b/lib/Makefile.darwin-lib
index 95cdd4b..95e8ee0 100644
--- a/lib/Makefile.darwin-lib
+++ b/lib/Makefile.darwin-lib
@@ -24,7 +24,8 @@
 $(BSD_LIB): $(OBJS)
 	$(E) "	GEN_BSD_SOLIB $(BSD_LIB)"
 	$(Q) (cd pic; $(CC) -dynamiclib -compatibility_version 1.0 -current_version $(BSDLIB_VERSION) \
-		-flat_namespace -undefined warning -o $(BSD_LIB) $(OBJS))
+		-install_name $(BSDLIB_INSTALL_DIR)/$(BSD_LIB) \
+		-undefined dynamic_lookup -o $(BSD_LIB) $(OBJS))
 	$(Q) $(MV) pic/$(BSD_LIB) .
 	$(Q) $(RM) -f ../$(BSD_LIB)
 	$(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) \
diff --git a/lib/blkid/Android.bp b/lib/blkid/Android.bp
index eb5ae48..891c74a 100644
--- a/lib/blkid/Android.bp
+++ b/lib/blkid/Android.bp
@@ -39,25 +39,10 @@
 
     target: {
         windows: {
-            include_dirs: [ "external/e2fsprogs/include/mingw" ],
-            cflags: [
-                "-Wno-pointer-to-int-cast",
-                "-Wno-unused-variable",
-            ],
-            clang_cflags: [
-                "-Wno-error=typedef-redefinition",
-            ],
-            enabled: true
+            enabled: true,
         },
     },
 
-    cflags: [
-        "-Wno-error=attributes",
-        "-Wno-error=pointer-sign",
-        "-Wno-unused-parameter",
-        "-fno-strict-aliasing",
-    ],
-
     header_libs: ["libext2-headers"],
     export_include_dirs: ["."],
     export_header_lib_headers: ["libext2-headers"],
diff --git a/lib/blkid/devno.c b/lib/blkid/devno.c
index 34ceb3c..b1cadc9 100644
--- a/lib/blkid/devno.c
+++ b/lib/blkid/devno.c
@@ -37,6 +37,12 @@
 
 #include "blkidP.h"
 
+#if defined(__GNUC__) && __GNUC__ >= 8
+/* gcc incorrectly thinks the destination string is not being null-terminated */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wstringop-truncation"
+#endif
+
 char *blkid_strndup(const char *s, int length)
 {
 	char *ret;
@@ -55,6 +61,10 @@
 	return ret;
 }
 
+#if defined(__GNUC__) && __GNUC__ >= 8
+#pragma GCC diagnostic pop
+#endif
+
 char *blkid_strdup(const char *s)
 {
 	return blkid_strndup(s, 0);
diff --git a/lib/blkid/getsize.c b/lib/blkid/getsize.c
index 75f21d5..7a6e6fd 100644
--- a/lib/blkid/getsize.c
+++ b/lib/blkid/getsize.c
@@ -75,7 +75,7 @@
  */
 blkid_loff_t blkid_get_dev_size(int fd)
 {
-	unsigned long long size64;
+	unsigned long long size64 __BLKID_ATTR((unused));
 	blkid_loff_t high, low;
 
 #if defined DKIOCGETBLOCKCOUNT && defined DKIOCGETBLOCKSIZE	/* For Apple Darwin */
diff --git a/lib/blkid/libblkid.3.in b/lib/blkid/libblkid.3.in
index 2fea3a9..18c4a27 100644
--- a/lib/blkid/libblkid.3.in
+++ b/lib/blkid/libblkid.3.in
@@ -18,8 +18,8 @@
 The
 .B libblkid
 library is used to identify block devices (disks) as to their content (e.g.
-filesystem type) as well as extracting additional information such as
-filesystem labels/volume names, unique identifiers/serial numbers, etc.
+file system type) as well as extracting additional information such as
+file system labels/volume names, unique identifiers/serial numbers, etc.
 A common use is to allow use of LABEL= and UUID= tags instead of hard-coding
 specific block device names into configuration files.
 .P
@@ -47,7 +47,7 @@
 in this situation.
 .SH AUTHOR
 .B libblkid
-was written by Andreas Dilger for the ext2 filesystem utilities, with input
+was written by Andreas Dilger for the ext2 file system utilities, with input
 from Ted Ts'o.  The library was subsequently heavily modified by Ted Ts'o.
 .SH FILES
 .TP
diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c
index f8687cd..6a3bb24 100644
--- a/lib/blkid/probe.c
+++ b/lib/blkid/probe.c
@@ -17,6 +17,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
+#include <time.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <ctype.h>
@@ -1197,7 +1198,6 @@
 			 unsigned char *buf)
 {
 	struct hfs_mdb *hfs = (struct hfs_mdb *)buf;
-	unsigned long long *uuid_ptr;
 	char	uuid_str[17];
 	__u64	uuid;
 
@@ -1205,8 +1205,8 @@
 	    (memcmp(hfs->embed_sig, "HX", 2) == 0))
 		return 1;	/* Not hfs, but an embedded HFS+ */
 
-	uuid_ptr = (unsigned long long *)hfs->finder_info.id;
-	uuid = blkid_le64(*uuid_ptr);
+	memcpy(&uuid, hfs->finder_info.id, 8);
+	uuid = blkid_le64(uuid);
 	if (uuid) {
 		sprintf(uuid_str, "%016llX", uuid);
 		blkid_set_tag(probe->dev, "UUID", uuid_str, 0);
@@ -1242,7 +1242,6 @@
 	unsigned int leaf_node_size;
 	unsigned int leaf_block;
 	unsigned int label_len;
-	unsigned long long *uuid_ptr;
 	__u64 leaf_off, uuid;
 	char	uuid_str[17], label[512];
 	int ext;
@@ -1273,8 +1272,8 @@
 	    (memcmp(hfsplus->signature, "HX", 2) != 0))
 		return 1;
 
-	uuid_ptr = (unsigned long long *)hfsplus->finder_info.id;
-	uuid = blkid_le64(*uuid_ptr);
+	memcpy(&uuid, hfsplus->finder_info.id, 8);
+	uuid = blkid_le64(uuid);
 	if (uuid) {
 		sprintf(uuid_str, "%016llX", uuid);
 		blkid_set_tag(probe->dev, "UUID", uuid_str, 0);
diff --git a/lib/blkid/probe.h b/lib/blkid/probe.h
index dea4081..063a5b5 100644
--- a/lib/blkid/probe.h
+++ b/lib/blkid/probe.h
@@ -814,46 +814,6 @@
 #define _INLINE_ static inline
 #endif
 
-static __u16 blkid_swab16(__u16 val);
-static __u32 blkid_swab32(__u32 val);
-static __u64 blkid_swab64(__u64 val);
-
-#if ((defined __GNUC__) && \
-     (defined(__i386__) || defined(__i486__) || defined(__i586__)))
-
-#define _BLKID_HAVE_ASM_BITOPS_
-
-_INLINE_ __u32 blkid_swab32(__u32 val)
-{
-#ifdef EXT2FS_REQUIRE_486
-	__asm__("bswap %0" : "=r" (val) : "0" (val));
-#else
-	__asm__("xchgb %b0,%h0\n\t"	/* swap lower bytes	*/
-		"rorl $16,%0\n\t"	/* swap words		*/
-		"xchgb %b0,%h0"		/* swap higher bytes	*/
-		:"=q" (val)
-		: "0" (val));
-#endif
-	return val;
-}
-
-_INLINE_ __u16 blkid_swab16(__u16 val)
-{
-	__asm__("xchgb %b0,%h0"		/* swap bytes		*/ \
-		: "=q" (val) \
-		:  "0" (val)); \
-		return val;
-}
-
-_INLINE_ __u64 blkid_swab64(__u64 val)
-{
-	return (blkid_swab32(val >> 32) |
-		(((__u64) blkid_swab32(val & 0xFFFFFFFFUL)) << 32));
-}
-#endif
-
-#if !defined(_BLKID_HAVE_ASM_BITOPS_)
-
 _INLINE_  __u16 blkid_swab16(__u16 val)
 {
 	return (val >> 8) | (val << 8);
@@ -870,9 +830,6 @@
 	return (blkid_swab32(val >> 32) |
 		(((__u64) blkid_swab32(val & 0xFFFFFFFFUL)) << 32));
 }
-#endif
-
-
 
 #ifdef WORDS_BIGENDIAN
 #define blkid_le16(x) blkid_swab16(x)
diff --git a/lib/blkid/save.c b/lib/blkid/save.c
index 036f07a..6f4499c 100644
--- a/lib/blkid/save.c
+++ b/lib/blkid/save.c
@@ -154,7 +154,15 @@
 			if (backup) {
 				sprintf(backup, "%s.old", filename);
 				unlink(backup);
+#if defined(__GNUC__) && __GNUC__ >= 5
+/* explicit (void) cast is not enough with glibc and _FORTIFY_SOURCE */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-result"
+#endif
 				(void) link(filename, backup);
+#if defined(__GNUC__) && __GNUC__ >= 5
+#pragma GCC diagnostic pop
+#endif
 				free(backup);
 			}
 			if (rename(opened, filename) < 0)
diff --git a/lib/config.h b/lib/config.h
index 6ac16fe..c228860 100644
--- a/lib/config.h
+++ b/lib/config.h
@@ -36,7 +36,6 @@
 
 #if defined(_WIN32)
 # define HAVE_LINUX_TYPES_H 1
-# define HAVE_WINSOCK_H 1
 #endif
 #if defined(__APPLE__) || defined(__linux__)
 # define HAVE_FCNTL 1
@@ -55,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/lib/config.h.in b/lib/config.h.in
index 4bc7e8e..ab38266 100644
--- a/lib/config.h.in
+++ b/lib/config.h.in
@@ -55,6 +55,9 @@
 /* Define to 1 if blkid has blkid_topology_get_dax */
 #undef HAVE_BLKID_TOPOLOGY_GET_DAX
 
+/* Define to 1 if you have the BSD-style 'qsort_r' function. */
+#undef HAVE_BSD_QSORT_R
+
 /* Define to 1 if you have the Mac OS X function
    CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
 #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES
@@ -127,6 +130,9 @@
 /* Define to 1 if you have the `getdtablesize' function. */
 #undef HAVE_GETDTABLESIZE
 
+/* Define to 1 if you have the `getentropy' function. */
+#undef HAVE_GETENTROPY
+
 /* Define to 1 if you have the `gethostname' function. */
 #undef HAVE_GETHOSTNAME
 
@@ -139,6 +145,9 @@
 /* Define to 1 if you have the `getpwuid_r' function. */
 #undef HAVE_GETPWUID_R
 
+/* Define to 1 if you have the `getrandom' function. */
+#undef HAVE_GETRANDOM
+
 /* Define to 1 if you have the `getrlimit' function. */
 #undef HAVE_GETRLIMIT
 
@@ -148,6 +157,9 @@
 /* Define if the GNU gettext() function is already present or preinstalled. */
 #undef HAVE_GETTEXT
 
+/* Define to 1 if you have the GNU-style 'qsort_r' function. */
+#undef HAVE_GNU_QSORT_R
+
 /* Define if you have the iconv() function and it works. */
 #undef HAVE_ICONV
 
@@ -202,6 +214,9 @@
 /* Define to 1 if you have the `mallinfo' function. */
 #undef HAVE_MALLINFO
 
+/* Define to 1 if you have the `mallinfo2' function. */
+#undef HAVE_MALLINFO2
+
 /* Define to 1 if you have the <malloc.h> header file. */
 #undef HAVE_MALLOC_H
 
@@ -211,12 +226,12 @@
 /* Define to 1 if you have the `memalign' function. */
 #undef HAVE_MEMALIGN
 
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
 /* Define to 1 if you have the `mempcpy' function. */
 #undef HAVE_MEMPCPY
 
+/* Define to 1 if you have the <minix/config.h> header file. */
+#undef HAVE_MINIX_CONFIG_H
+
 /* Define to 1 if you have the `mmap' function. */
 #undef HAVE_MMAP
 
@@ -289,6 +304,9 @@
 /* Define to 1 if you have the `pwrite64' function. */
 #undef HAVE_PWRITE64
 
+/* Define to 1 if you have the `qsort_r' function. */
+#undef HAVE_QSORT_R
+
 /* Define to 1 if dirent has d_reclen */
 #undef HAVE_RECLEN_DIRENT
 
@@ -334,6 +352,9 @@
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
+/* Define to 1 if you have the <stdio.h> header file. */
+#undef HAVE_STDIO_H
+
 /* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H
 
@@ -400,6 +421,9 @@
 /* Define to 1 if you have the <sys/prctl.h> header file. */
 #undef HAVE_SYS_PRCTL_H
 
+/* Define to 1 if you have the <sys/random.h> header file. */
+#undef HAVE_SYS_RANDOM_H
+
 /* Define to 1 if you have the <sys/resource.h> header file. */
 #undef HAVE_SYS_RESOURCE_H
 
@@ -466,6 +490,9 @@
 /* Define to 1 if you have the `vprintf' function. */
 #undef HAVE_VPRINTF
 
+/* Define to 1 if you have the <wchar.h> header file. */
+#undef HAVE_WCHAR_H
+
 /* Define to 1 if you have the `__secure_getenv' function. */
 #undef HAVE___SECURE_GETENV
 
@@ -512,7 +539,9 @@
 /* The size of `time_t', as computed by sizeof. */
 #undef SIZEOF_TIME_T
 
-/* Define to 1 if you have the ANSI C header files. */
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
 #undef STDC_HEADERS
 
 /* If the compiler supports a TLS storage class define it to that here */
@@ -522,21 +551,87 @@
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
+/* Enable general extensions on macOS.  */
+#ifndef _DARWIN_C_SOURCE
+# undef _DARWIN_C_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
 /* Enable GNU extensions on systems that have them.  */
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
-/* Enable threading extensions on Solaris.  */
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# undef _HPUX_ALT_XOPEN_SOCKET_API
+#endif
+/* Identify the host operating system as Minix.
+   This macro does not affect the system headers' behavior.
+   A future release of Autoconf may stop defining this macro.  */
+#ifndef _MINIX
+# undef _MINIX
+#endif
+/* Enable general extensions on NetBSD.
+   Enable NetBSD compatibility extensions on Minix.  */
+#ifndef _NETBSD_SOURCE
+# undef _NETBSD_SOURCE
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+   Oddly enough, this does nothing on OpenBSD.  */
+#ifndef _OPENBSD_SOURCE
+# undef _OPENBSD_SOURCE
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_SOURCE
+# undef _POSIX_SOURCE
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_1_SOURCE
+# undef _POSIX_1_SOURCE
+#endif
+/* Enable POSIX-compatible threading on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
 #endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
 /* Enable extensions on HP NonStop.  */
 #ifndef _TANDEM_SOURCE
 # undef _TANDEM_SOURCE
 #endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
+/* Enable X/Open extensions.  Define to 500 only if necessary
+   to make mbstate_t available.  */
+#ifndef _XOPEN_SOURCE
+# undef _XOPEN_SOURCE
 #endif
 
 
@@ -558,17 +653,13 @@
 # endif
 #endif
 
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
 /* Define to 1 if Apple Darwin libintl workaround is needed */
 #undef _INTL_REDIRECT_MACROS
 
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
 
 #include <dirpaths.h>
diff --git a/lib/e2p/Android.bp b/lib/e2p/Android.bp
index 7be2d80..bed92c1 100644
--- a/lib/e2p/Android.bp
+++ b/lib/e2p/Android.bp
@@ -46,24 +46,9 @@
         "percent.c",
     ],
 
-    cflags: [
-        "-Wno-error=attributes",
-        "-Wno-unused-parameter",
-    ],
-
     target: {
         windows: {
-            include_dirs: [ "external/e2fsprogs/include/mingw" ],
             enabled: true,
-            cflags: [
-                "-Wno-unused-variable",
-            ],
-            clang_cflags: [
-                "-Wno-error=typedef-redefinition",
-            ],
-            host_ldlibs: [
-                "-lws2_32",
-            ],
         },
     },
 
diff --git a/lib/e2p/Makefile.in b/lib/e2p/Makefile.in
index cd23511..92d9c01 100644
--- a/lib/e2p/Makefile.in
+++ b/lib/e2p/Makefile.in
@@ -219,4 +219,5 @@
  $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \
  $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h
 errcode.o: $(srcdir)/errcode.c $(top_builddir)/lib/config.h \
- $(top_builddir)/lib/dirpaths.h
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \
+ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h
diff --git a/lib/e2p/e2p.h b/lib/e2p/e2p.h
index 65702a7..5f4793e 100644
--- a/lib/e2p/e2p.h
+++ b/lib/e2p/e2p.h
@@ -89,4 +89,4 @@
 int e2p_get_encoding_flags(int encoding);
 int e2p_str2encoding_flags(int encoding, char *param, __u16 *flags);
 
-const char *e2p_errcode2str(int err);
+const char *e2p_errcode2str(unsigned int err);
diff --git a/lib/e2p/errcode.c b/lib/e2p/errcode.c
index 7e42655..1627c9d 100644
--- a/lib/e2p/errcode.c
+++ b/lib/e2p/errcode.c
@@ -7,6 +7,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "e2p.h"
+
 static const char *err_string[] = {
 	"",
 	"UNKNOWN",		/*  1 */
@@ -32,14 +34,14 @@
         (sizeof(array) / sizeof(array[0]))
 
 /* Return the name of an encoding or NULL */
-const char *e2p_errcode2str(int err)
+const char *e2p_errcode2str(unsigned int err)
 {
 	static char buf[32];
 
 	if (err < ARRAY_SIZE(err_string))
 		return err_string[err];
 
-	sprintf(buf, "UNKNOWN_ERRCODE_%d", err);
+	sprintf(buf, "UNKNOWN_ERRCODE_%u", err);
 	return buf;
 }
 
diff --git a/lib/e2p/fgetflags.c b/lib/e2p/fgetflags.c
index 93e130c..24a7166 100644
--- a/lib/e2p/fgetflags.c
+++ b/lib/e2p/fgetflags.c
@@ -79,14 +79,26 @@
 	*flags = f;
 	return (save_errno);
 #elif HAVE_EXT2_IOCTLS
+	struct stat buf;
 	int fd, r, f, save_errno = 0;
 
+	if (!stat(name, &buf) &&
+	    !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) {
+		errno = EOPNOTSUPP;
+		return -1;
+	}
 	fd = open(name, OPEN_FLAGS);
 	if (fd == -1) {
 		if (errno == ELOOP || errno == ENXIO)
 			errno = EOPNOTSUPP;
 		return -1;
 	}
+	if (!fstat(fd, &buf) &&
+	    !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) {
+		close(fd);
+		errno = EOPNOTSUPP;
+		return -1;
+	}
 	r = ioctl(fd, EXT2_IOC_GETFLAGS, &f);
 	if (r == -1) {
 		if (errno == ENOTTY)
diff --git a/lib/e2p/fgetversion.c b/lib/e2p/fgetversion.c
index a65e9a5..f3a5b4c 100644
--- a/lib/e2p/fgetversion.c
+++ b/lib/e2p/fgetversion.c
@@ -65,8 +65,6 @@
 	rc = syscall(SYS_fsctl, name, EXT2_IOC_GETVERSION, &ver, 0);
 # endif /* !APPLE_DARWIN */
 #else /* ! HAVE_EXT2_IOCTLS */
-	extern int errno;
-
 	errno = EOPNOTSUPP;
 #endif /* ! HAVE_EXT2_IOCTLS */
 	if (rc == 0)
diff --git a/lib/e2p/fsetflags.c b/lib/e2p/fsetflags.c
index 6455e38..d865d24 100644
--- a/lib/e2p/fsetflags.c
+++ b/lib/e2p/fsetflags.c
@@ -80,14 +80,26 @@
 	int f = (int) flags;
 	return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0);
 #elif HAVE_EXT2_IOCTLS
+	struct stat buf;
 	int fd, r, f, save_errno = 0;
 
+	if (!stat(name, &buf) &&
+	    !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) {
+		errno = EOPNOTSUPP;
+		return -1;
+	}
 	fd = open(name, OPEN_FLAGS);
 	if (fd == -1) {
 		if (errno == ELOOP || errno == ENXIO)
 			errno = EOPNOTSUPP;
 		return -1;
 	}
+	if (!fstat(fd, &buf) &&
+	    !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) {
+		close(fd);
+		errno = EOPNOTSUPP;
+		return -1;
+	}
 	f = (int) flags;
 	r = ioctl(fd, EXT2_IOC_SETFLAGS, &f);
 	if (r == -1) {
diff --git a/lib/e2p/fsetversion.c b/lib/e2p/fsetversion.c
index c2e0455..5f844b5 100644
--- a/lib/e2p/fsetversion.c
+++ b/lib/e2p/fsetversion.c
@@ -65,7 +65,6 @@
    return syscall(SYS_fsctl, name, EXT2_IOC_SETVERSION, &ver, 0);
 #endif
 #else /* ! HAVE_EXT2_IOCTLS */
-	extern int errno;
 	errno = EOPNOTSUPP;
 	return -1;
 #endif /* ! HAVE_EXT2_IOCTLS */
diff --git a/lib/e2p/getflags.c b/lib/e2p/getflags.c
index e4e2ad7..6708cd6 100644
--- a/lib/e2p/getflags.c
+++ b/lib/e2p/getflags.c
@@ -30,8 +30,8 @@
 
 int getflags (int fd, unsigned long * flags)
 {
-	struct stat buf;
 #if HAVE_STAT_FLAGS
+	struct stat buf;
 
 	if (fstat (fd, &buf) == -1)
 		return -1;
@@ -53,6 +53,7 @@
 	return 0;
 #else
 #if HAVE_EXT2_IOCTLS
+	struct stat buf;
 	int r, f;
 
 	if (!fstat(fd, &buf) &&
diff --git a/lib/e2p/getversion.c b/lib/e2p/getversion.c
index 9f719b4..d374a0e 100644
--- a/lib/e2p/getversion.c
+++ b/lib/e2p/getversion.c
@@ -35,7 +35,6 @@
 	*version = ver;
 	return r;
 #else /* ! HAVE_EXT2_IOCTLS */
-	extern int errno;
 	errno = EOPNOTSUPP;
 	return -1;
 #endif /* ! HAVE_EXT2_IOCTLS */
diff --git a/lib/e2p/ls.c b/lib/e2p/ls.c
index 176bee0..9511d2c 100644
--- a/lib/e2p/ls.c
+++ b/lib/e2p/ls.c
@@ -312,7 +312,7 @@
 			sb->s_first_meta_bg);
 	if (sb->s_log_groups_per_flex)
 		fprintf(f, "Flex block group size:    %u\n",
-			1 << sb->s_log_groups_per_flex);
+			1U << sb->s_log_groups_per_flex);
 	if (sb->s_mkfs_time) {
 		tm = sb->s_mkfs_time;
 		fprintf(f, "Filesystem created:       %s", ctime(&tm));
diff --git a/lib/e2p/setversion.c b/lib/e2p/setversion.c
index 2bc9337..dd4a3f0 100644
--- a/lib/e2p/setversion.c
+++ b/lib/e2p/setversion.c
@@ -34,7 +34,6 @@
 	ver = (int) version;
 	return ioctl (fd, EXT2_IOC_SETVERSION, &ver);
 #else /* ! HAVE_EXT2_IOCTLS */
-	extern int errno;
 	errno = EOPNOTSUPP;
 	return -1;
 #endif /* ! HAVE_EXT2_IOCTLS */
diff --git a/lib/et/Android.bp b/lib/et/Android.bp
index 07f3c27..565feb5 100644
--- a/lib/et/Android.bp
+++ b/lib/et/Android.bp
@@ -31,9 +31,6 @@
     target: {
         windows: {
             enabled: true,
-            cflags: [
-                "-Wno-unused-variable",
-            ],
         },
     },
 
diff --git a/lib/et/com_err.c b/lib/et/com_err.c
index d38998a..7294c6d 100644
--- a/lib/et/com_err.c
+++ b/lib/et/com_err.c
@@ -62,7 +62,8 @@
     fflush(stderr);
 }
 
-typedef void (*errf) (const char *, errcode_t, const char *, va_list);
+typedef void (*errf) (const char *, errcode_t, const char *, va_list)
+        COM_ERR_ATTR((format(printf, 3, 0)));
 
 errf com_err_hook = default_com_err_proc;
 
diff --git a/lib/et/error_message.c b/lib/et/error_message.c
index cd9f57f..8b9474f 100644
--- a/lib/et/error_message.c
+++ b/lib/et/error_message.c
@@ -235,7 +235,6 @@
 static void init_debug(void)
 {
 	char	*dstr, *fn, *tmp;
-	int	fd, flags;
 
 	if (debug_mask & DEBUG_INIT)
 		return;
@@ -257,10 +256,12 @@
 	if (!debug_f)
 		debug_f = fopen("/dev/tty", "a");
 	if (debug_f) {
-		fd = fileno(debug_f);
-#if defined(HAVE_FCNTL)
+#ifdef HAVE_FCNTL
+		int fd = fileno(debug_f);
+
 		if (fd >= 0) {
-			flags = fcntl(fd, F_GETFD);
+			int flags = fcntl(fd, F_GETFD);
+
 			if (flags >= 0)
 				flags = fcntl(fd, F_SETFD, flags | FD_CLOEXEC);
 			if (flags < 0) {
@@ -274,7 +275,6 @@
 #endif
 	} else
 		debug_mask = DEBUG_INIT;
-
 }
 
 /*
diff --git a/lib/et/texinfo.tex b/lib/et/texinfo.tex
index dddd014..dd52615 100644
--- a/lib/et/texinfo.tex
+++ b/lib/et/texinfo.tex
@@ -404,7 +404,7 @@
 \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
 \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
 
-% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
+% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
 %
 % \argremovec might leave us with trailing space, e.g.,
 %    @end itemize  @c foo
@@ -430,7 +430,7 @@
 % to get _exactly_ the rest of the line, we had to prevent such situation.
 % We prepended an \empty token at the very beginning and we expand it now,
 % just before passing the control to \next.
-% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
+% (Similarly, we have to think about #3 of \argcheckspacesY above: it is
 % either the null string, or it ends with \^^M---thus there is no danger
 % that a pair of braces would be stripped.
 %
@@ -487,7 +487,7 @@
 % used to check whether the current environment is the one expected.
 %
 % Non-false conditionals (@iftex, @ifset) don't fit into this, so they
-% are not treated as enviroments; they don't open a group.  (The
+% are not treated as environments; they don't open a group.  (The
 % implementation of @end takes care not to call \endgroup in this
 % special case.)
 
@@ -510,7 +510,7 @@
   \fi
 }
 
-% Evironment mismatch, #1 expected:
+% Environment mismatch, #1 expected:
 \def\badenverr{%
   \errhelp = \EMsimple
   \errmessage{This command can appear only \inenvironment\temp,
@@ -4045,7 +4045,7 @@
 \chardef\maxseclevel = 3
 %
 % A numbered section within an unnumbered changes to unnumbered too.
-% To achive this, remember the "biggest" unnum. sec. we are currently in:
+% To achieve this, remember the "biggest" unnum. sec. we are currently in:
 \chardef\unmlevel = \maxseclevel
 %
 % Trace whether the current chapter is an appendix or not:
@@ -6417,7 +6417,7 @@
 % In case a @footnote appears in a vbox, save the footnote text and create
 % the real \insert just after the vbox finished.  Otherwise, the insertion
 % would be lost.
-% Similarily, if a @footnote appears inside an alignment, save the footnote
+% Similarly, if a @footnote appears inside an alignment, save the footnote
 % text to a box and make the \insert when a row of the table is finished.
 % And the same can be done for other insert classes.  --kasal, 16nov03.
 
diff --git a/lib/ext2fs/Android.bp b/lib/ext2fs/Android.bp
index 919adb1..db8b3b7 100644
--- a/lib/ext2fs/Android.bp
+++ b/lib/ext2fs/Android.bp
@@ -112,23 +112,14 @@
         "libsparse",
         "libz",
     ],
-    cflags: ["-Wno-unused-parameter"],
     target: {
         android: {
-            shared_libs: [ "libext2_uuid" ],
+            shared_libs: ["libext2_uuid"],
         },
         windows: {
             enabled: true,
-            include_dirs: [ "external/e2fsprogs/include/mingw" ],
-            cflags: [
-                "-Wno-error=cpp",
-                "-Wno-format",
-                "-Wno-unused-variable",
-            ],
-            clang_cflags: [
-                "-Wno-error=typedef-redefinition",
-            ],
-            host_ldlibs: ["-lws2_32"],
+            srcs: ["windows_io.c"],
+            exclude_srcs: ["unix_io.c"],
         },
     },
 
diff --git a/lib/ext2fs/Makefile.in b/lib/ext2fs/Makefile.in
index 5d9af86..1b6a74b 100644
--- a/lib/ext2fs/Makefile.in
+++ b/lib/ext2fs/Makefile.in
@@ -127,7 +127,7 @@
 	symlink.o \
 	$(TDB_OBJ) \
 	undo_io.o \
-	unix_io.o \
+	@OS_IO_FILE@.o \
 	sparse_io.o \
 	unlink.o \
 	valid_blk.o \
@@ -217,7 +217,7 @@
 	$(srcdir)/tst_getsize.c \
 	$(srcdir)/tst_iscan.c \
 	$(srcdir)/undo_io.c \
-	$(srcdir)/unix_io.c \
+	$(srcdir)/@OS_IO_FILE@.c \
 	$(srcdir)/sparse_io.c \
 	$(srcdir)/unlink.c \
 	$(srcdir)/valid_blk.c \
@@ -630,6 +630,19 @@
 		-t $(top_srcdir)/util/ucd/NormalizationTest-11.0.0.txt \
 		-o $@
 
+#
+# This needs to be manually maintained since "make depend" on a
+# Linux system is going to blow up due to the lack of windows.h
+# header file.  If someone on Windows tries to run "make depend",
+# they will need to comment this chunk below.
+#
+windows_io.o: $(srcdir)/windows_io.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
+ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/ext2fsP.h
+
 # +++ Dependency line eater +++
 # 
 # Makefile dependencies follow.  This must be the last section in
@@ -1414,6 +1427,7 @@
  $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/kernel-jbd.h \
  $(srcdir)/jfs_compat.h $(srcdir)/kernel-list.h $(srcdir)/compiler.h
 revoke.o: $(top_srcdir)/e2fsck/revoke.c $(top_srcdir)/e2fsck/jfs_user.h \
+ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \
  $(srcdir)/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
  $(srcdir)/ext2fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
  $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
@@ -1421,6 +1435,7 @@
  $(srcdir)/kernel-jbd.h $(srcdir)/jfs_compat.h $(srcdir)/kernel-list.h \
  $(srcdir)/compiler.h
 recovery.o: $(top_srcdir)/e2fsck/recovery.c $(top_srcdir)/e2fsck/jfs_user.h \
+ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \
  $(srcdir)/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
  $(srcdir)/ext2fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
  $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
diff --git a/lib/ext2fs/alloc_stats.c b/lib/ext2fs/alloc_stats.c
index 3949f61..6f98bcc 100644
--- a/lib/ext2fs/alloc_stats.c
+++ b/lib/ext2fs/alloc_stats.c
@@ -62,7 +62,8 @@
 {
 	int	group = ext2fs_group_of_blk2(fs, blk);
 
-	if (blk >= ext2fs_blocks_count(fs->super)) {
+	if (blk < fs->super->s_first_data_block ||
+	    blk >= ext2fs_blocks_count(fs->super)) {
 #ifndef OMIT_COM_ERR
 		com_err("ext2fs_block_alloc_stats", 0,
 			"Illegal block number: %lu", (unsigned long) blk);
diff --git a/lib/ext2fs/alloc_tables.c b/lib/ext2fs/alloc_tables.c
index 971a6ce..e8a1fef 100644
--- a/lib/ext2fs/alloc_tables.c
+++ b/lib/ext2fs/alloc_tables.c
@@ -43,7 +43,7 @@
 	blk64_t		last_blk, first_free = 0;
 	dgrp_t	       	last_grp;
 
-	flexbg_size = 1 << fs->super->s_log_groups_per_flex;
+	flexbg_size = 1U << fs->super->s_log_groups_per_flex;
 	flexbg = group / flexbg_size;
 	size = rem_grp * elem_size;
 
@@ -97,7 +97,7 @@
 
 	if (ext2fs_has_feature_flex_bg(fs->super) &&
 	    fs->super->s_log_groups_per_flex) {
-		flexbg_size = 1 << fs->super->s_log_groups_per_flex;
+		flexbg_size = 1U << fs->super->s_log_groups_per_flex;
 		last_grp = group | (flexbg_size - 1);
 		if (last_grp > fs->group_desc_count-1)
 			last_grp = fs->group_desc_count-1;
diff --git a/lib/ext2fs/bitmaps.c b/lib/ext2fs/bitmaps.c
index 834a396..8bfa24b 100644
--- a/lib/ext2fs/bitmaps.c
+++ b/lib/ext2fs/bitmaps.c
@@ -58,6 +58,9 @@
 
 	EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
 
+	if (ext2fs_has_feature_journal_dev(fs->super))
+		return EXT2_ET_EXTERNAL_JOURNAL_NOSUPP;
+
 	fs->write_bitmaps = ext2fs_write_bitmaps;
 
 	start = 1;
@@ -91,6 +94,9 @@
 
 	EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
 
+	if (ext2fs_has_feature_journal_dev(fs->super))
+		return EXT2_ET_EXTERNAL_JOURNAL_NOSUPP;
+
 	fs->write_bitmaps = ext2fs_write_bitmaps;
 
 	start = EXT2FS_B2C(fs, fs->super->s_first_data_block);
@@ -131,6 +137,9 @@
 
 	EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
 
+	if (ext2fs_has_feature_journal_dev(fs->super))
+		return EXT2_ET_EXTERNAL_JOURNAL_NOSUPP;
+
 	fs->write_bitmaps = ext2fs_write_bitmaps;
 
 	if (!fs->cluster_ratio_bits)
diff --git a/lib/ext2fs/bitops.c b/lib/ext2fs/bitops.c
index c4a1d4e..ce2acc4 100644
--- a/lib/ext2fs/bitops.c
+++ b/lib/ext2fs/bitops.c
@@ -19,14 +19,8 @@
 #include "ext2_fs.h"
 #include "ext2fs.h"
 
-#ifndef _EXT2_HAVE_ASM_BITOPS_
-
 /*
- * For the benefit of those who are trying to port Linux to another
- * architecture, here are some C-language equivalents.  You should
- * recode these in the native assembly language, if at all possible.
- *
- * C language equivalents written by Theodore Ts'o, 9/26/92.
+ * C language bitmap functions written by Theodore Ts'o, 9/26/92.
  * Modified by Pete A. Zaitcev 7/14/95 to be portable to big endian
  * systems, as well as non-32 bit systems.
  */
@@ -65,8 +59,6 @@
 	return (mask & *ADDR);
 }
 
-#endif	/* !_EXT2_HAVE_ASM_BITOPS_ */
-
 void ext2fs_warn_bitmap(errcode_t errcode, unsigned long arg,
 			const char *description)
 {
@@ -78,9 +70,7 @@
 #endif
 }
 
-/*
- * C-only 64 bit ops.
- */
+/* Bitmap functions that take a 64-bit offset */
 
 int ext2fs_set_bit64(__u64 nr, void * addr)
 {
diff --git a/lib/ext2fs/bitops.h b/lib/ext2fs/bitops.h
index 505b3c9..9edf594 100644
--- a/lib/ext2fs/bitops.h
+++ b/lib/ext2fs/bitops.h
@@ -219,14 +219,6 @@
  * functions at all; they will be included as normal functions in
  * inline.c
  */
-#ifdef NO_INLINE_FUNCS
-#if (defined(__GNUC__) && (defined(__i386__) || defined(__i486__) || \
-			   defined(__i586__)))
-	/* This prevents bitops.c from trying to include the C */
-	/* function version of these functions */
-#define _EXT2_HAVE_ASM_BITOPS_
-#endif
-#endif /* NO_INLINE_FUNCS */
 
 #if (defined(INCLUDE_INLINE_FUNCS) || !defined(NO_INLINE_FUNCS))
 #ifdef INCLUDE_INLINE_FUNCS
@@ -285,90 +277,6 @@
 	*ADDR &= (unsigned char) ~(1 << (nr & 0x07));
 }
 
-
-#if ((defined __GNUC__) && !defined(_EXT2_USE_C_VERSIONS_) && \
-     (defined(__i386__) || defined(__i486__) || defined(__i586__)))
-
-#define _EXT2_HAVE_ASM_BITOPS_
-#define _EXT2_HAVE_ASM_SWAB_
-
-/*
- * These are done by inline assembly for speed reasons.....
- *
- * All bitoperations return 0 if the bit was cleared before the
- * operation and != 0 if it was not.  Bit 0 is the LSB of addr; bit 32
- * is the LSB of (addr+1).
- */
-
-/*
- * Some hacks to defeat gcc over-optimizations..
- */
-struct __dummy_h { unsigned long a[100]; };
-#define EXT2FS_ADDR (*(struct __dummy_h *) addr)
-#define EXT2FS_CONST_ADDR (*(const struct __dummy_h *) addr)
-
-_INLINE_ int ext2fs_set_bit(unsigned int nr, void * addr)
-{
-	int oldbit;
-
-	addr = (void *) (((unsigned char *) addr) + (nr >> 3));
-	__asm__ __volatile__("btsl %2,%1\n\tsbbl %0,%0"
-		:"=r" (oldbit),"+m" (EXT2FS_ADDR)
-		:"r" (nr & 7));
-	return oldbit;
-}
-
-_INLINE_ int ext2fs_clear_bit(unsigned int nr, void * addr)
-{
-	int oldbit;
-
-	addr = (void *) (((unsigned char *) addr) + (nr >> 3));
-	__asm__ __volatile__("btrl %2,%1\n\tsbbl %0,%0"
-		:"=r" (oldbit),"+m" (EXT2FS_ADDR)
-		:"r" (nr & 7));
-	return oldbit;
-}
-
-_INLINE_ int ext2fs_test_bit(unsigned int nr, const void * addr)
-{
-	int oldbit;
-
-	addr = (const void *) (((const unsigned char *) addr) + (nr >> 3));
-	__asm__ __volatile__("btl %2,%1\n\tsbbl %0,%0"
-		:"=r" (oldbit)
-		:"m" (EXT2FS_CONST_ADDR),"r" (nr & 7));
-	return oldbit;
-}
-
-_INLINE_ __u32 ext2fs_swab32(__u32 val)
-{
-#ifdef EXT2FS_REQUIRE_486
-	__asm__("bswap %0" : "=r" (val) : "0" (val));
-#else
-	__asm__("xchgb %b0,%h0\n\t"	/* swap lower bytes	*/
-		"rorl $16,%0\n\t"	/* swap words		*/
-		"xchgb %b0,%h0"		/* swap higher bytes	*/
-		:"=q" (val)
-		: "0" (val));
-#endif
-	return val;
-}
-
-_INLINE_ __u16 ext2fs_swab16(__u16 val)
-{
-	__asm__("xchgb %b0,%h0"		/* swap bytes		*/ \
-		: "=q" (val) \
-		:  "0" (val)); \
-		return val;
-}
-
-#undef EXT2FS_ADDR
-
-#endif	/* i386 */
-
-
-#if !defined(_EXT2_HAVE_ASM_SWAB_)
-
 _INLINE_ __u16 ext2fs_swab16(__u16 val)
 {
 	return (val >> 8) | (__u16) (val << 8);
@@ -380,8 +288,6 @@
 		((val<<8)&0xFF0000) | (val<<24));
 }
 
-#endif /* !_EXT2_HAVE_ASM_SWAB */
-
 _INLINE_ __u64 ext2fs_swab64(__u64 val)
 {
 	return (ext2fs_swab32((__u32) (val >> 32)) |
@@ -691,12 +597,9 @@
 #undef _INLINE_
 #endif
 
-#ifndef _EXT2_HAVE_ASM_BITOPS_
 extern int ext2fs_set_bit(unsigned int nr,void * addr);
 extern int ext2fs_clear_bit(unsigned int nr, void * addr);
 extern int ext2fs_test_bit(unsigned int nr, const void * addr);
-#endif
-
 extern int ext2fs_set_bit64(__u64 nr,void * addr);
 extern int ext2fs_clear_bit64(__u64 nr, void * addr);
 extern int ext2fs_test_bit64(__u64 nr, const void * addr);
diff --git a/lib/ext2fs/blknum.c b/lib/ext2fs/blknum.c
index 3458b12..04839d8 100644
--- a/lib/ext2fs/blknum.c
+++ b/lib/ext2fs/blknum.c
@@ -204,7 +204,7 @@
 	struct ext2_group_desc *ret_gdp;
 	errcode_t	retval;
 	static char	*buf = 0;
-	static int	bufsize = 0;
+	static unsigned	bufsize = 0;
 	blk64_t		blk;
 	int		desc_size = EXT2_DESC_SIZE(fs->super) & ~7;
 	int		desc_per_blk = EXT2_DESC_PER_BLOCK(fs->super);
diff --git a/lib/ext2fs/compiler.h b/lib/ext2fs/compiler.h
index 9aa9b4e..3bb3521 100644
--- a/lib/ext2fs/compiler.h
+++ b/lib/ext2fs/compiler.h
@@ -1,22 +1,26 @@
 #ifndef _EXT2FS_COMPILER_H
 #define _EXT2FS_COMPILER_H
 
-#ifndef __has_builtin
-#define __has_builtin(x) 0
-#endif
+#include <stddef.h>
 
-#undef offsetof
-#if __has_builtin(__builtin_offsetof)
-#define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
-#elif defined(__compiler_offsetof)
-#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
+#ifdef __GNUC__
+
+#ifndef __GNUC_PREREQ
+#if defined(__GNUC__) && defined(__GNUC_MINOR__)
+#define __GNUC_PREREQ(maj, min) \
+	((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
 #else
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#define __GNUC_PREREQ(maj, min) 0
+#endif
 #endif
 
-#define container_of(ptr, type, member) ({			\
-	const __typeof__( ((type *)0)->member ) *__mptr = (ptr);	\
+#define container_of(ptr, type, member) ({				\
+	__typeof__( ((type *)0)->member ) *__mptr = (ptr);	\
 	(type *)( (char *)__mptr - offsetof(type,member) );})
+#else
+#define container_of(ptr, type, member)				\
+	((type *)((char *)(ptr) - offsetof(type, member)))
+#endif
 
 
 #endif /* _EXT2FS_COMPILER_H */
diff --git a/lib/ext2fs/crc32c.c b/lib/ext2fs/crc32c.c
index 8ad0050..df5cf9b 100644
--- a/lib/ext2fs/crc32c.c
+++ b/lib/ext2fs/crc32c.c
@@ -72,8 +72,14 @@
 
 #if CRC_LE_BITS > 8 || CRC_BE_BITS > 8
 
+#if CRC_LE_BITS < 64 && CRC_BE_BITS < 64
+#define CRC_INLINE inline
+#else
+#define CRC_INLINE
+#endif
+
 /* implements slicing-by-4 or slicing-by-8 algorithm */
-static inline uint32_t
+static CRC_INLINE uint32_t
 crc32_body(uint32_t crc, unsigned char const *buf, size_t len,
 	   const uint32_t (*tab)[256])
 {
diff --git a/lib/ext2fs/dir_iterate.c b/lib/ext2fs/dir_iterate.c
index b2b7769..7798a48 100644
--- a/lib/ext2fs/dir_iterate.c
+++ b/lib/ext2fs/dir_iterate.c
@@ -221,6 +221,10 @@
 	if (ext2fs_has_feature_metadata_csum(fs->super))
 		csum_size = sizeof(struct ext2_dir_entry_tail);
 
+	if (buflen < 8) {
+		ctx->errcode = EXT2_ET_DIR_CORRUPTED;
+		return BLOCK_ABORT;
+	}
 	while (offset < buflen - 8) {
 		dirent = (struct ext2_dir_entry *) (ctx->buf + offset);
 		if (ext2fs_get_rec_len(fs, dirent, &rec_len))
diff --git a/lib/ext2fs/ext2_err.c b/lib/ext2fs/ext2_err.c
index 528fe9f..322361c 100644
--- a/lib/ext2fs/ext2_err.c
+++ b/lib/ext2fs/ext2_err.c
@@ -8,7 +8,7 @@
 #define N_(a) a
 
 static const char * const text[] = {
-	N_(	"EXT2FS Library version v1.46.2-1113-gb00aa279"),
+	N_(	"EXT2FS Library version android-t-qpr1-beta-2-gpl-369-g8ed4b2673"),
 	N_(	"Wrong magic number for ext2_filsys structure"),
 	N_(	"Wrong magic number for badblocks_list structure"),
 	N_(	"Wrong magic number for badblocks_iterate structure"),
@@ -189,6 +189,8 @@
 	N_(	"Inode containing extended attribute value is corrupted"),
 	N_(	"Group descriptors not loaded"),
 	N_(	"The internal ext2_filsys data structure appears to be corrupted"),
+	N_(	"Found cyclic loop in extent tree"),
+	N_(	"Operation not supported on an external journal"),
     0
 };
 
@@ -203,7 +205,7 @@
 };
 extern struct et_list *_et_list;
 
-const struct error_table et_ext2_error_table = { text, 2133571328L, 181 };
+const struct error_table et_ext2_error_table = { text, 2133571328L, 183 };
 
 static struct et_list link = { 0, 0 };
 
diff --git a/lib/ext2fs/ext2_err.et.in b/lib/ext2fs/ext2_err.et.in
index cf0e00e..de14019 100644
--- a/lib/ext2fs/ext2_err.et.in
+++ b/lib/ext2fs/ext2_err.et.in
@@ -551,4 +551,10 @@
 ec	EXT2_FILSYS_CORRUPTED,
 	"The internal ext2_filsys data structure appears to be corrupted"
 
+ec	EXT2_ET_EXTENT_CYCLE,
+	"Found cyclic loop in extent tree"
+
+ec	EXT2_ET_EXTERNAL_JOURNAL_NOSUPP,
+	"Operation not supported on an external journal"
+
 	end
diff --git a/lib/ext2fs/ext2_err.h b/lib/ext2fs/ext2_err.h
index bfae93d..3575af0 100644
--- a/lib/ext2fs/ext2_err.h
+++ b/lib/ext2fs/ext2_err.h
@@ -186,6 +186,8 @@
 #define EXT2_ET_EA_INODE_CORRUPTED               (2133571506L)
 #define EXT2_ET_NO_GDESC                         (2133571507L)
 #define EXT2_FILSYS_CORRUPTED                    (2133571508L)
+#define EXT2_ET_EXTENT_CYCLE                     (2133571509L)
+#define EXT2_ET_EXTERNAL_JOURNAL_NOSUPP          (2133571510L)
 extern const struct error_table et_ext2_error_table;
 extern void initialize_ext2_error_table(void);
 
diff --git a/lib/ext2fs/ext2_ext_attr.h b/lib/ext2fs/ext2_ext_attr.h
index f2042ed..c6068c4 100644
--- a/lib/ext2fs/ext2_ext_attr.h
+++ b/lib/ext2fs/ext2_ext_attr.h
@@ -57,6 +57,17 @@
 #define EXT2_XATTR_SIZE(size) \
 	(((size) + EXT2_EXT_ATTR_ROUND) & ~EXT2_EXT_ATTR_ROUND)
 
+/*
+ * XATTR_SIZE_MAX is currently 64k, but for the purposes of checking
+ * for file system consistency errors, we use a somewhat bigger value.
+ * This allows XATTR_SIZE_MAX to grow in the future, but by using this
+ * instead of INT_MAX for certain consistency checks, we don't need to
+ * worry about arithmetic overflows.  (Actually XATTR_SIZE_MAX is
+ * defined in include/uapi/linux/limits.h, so changing it is going
+ * not going to be trivial....)
+ */
+#define EXT2_XATTR_SIZE_MAX (1 << 24)
+
 #ifdef __KERNEL__
 # ifdef CONFIG_EXT2_FS_EXT_ATTR
 extern int ext2_get_ext_attr(struct inode *, const char *, char *, size_t, int);
diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h
index e92a045..01d2573 100644
--- a/lib/ext2fs/ext2_fs.h
+++ b/lib/ext2fs/ext2_fs.h
@@ -27,6 +27,18 @@
 #endif
 #endif
 
+#ifndef __nonstring
+#ifdef __has_attribute
+#if __has_attribute(__nonstring__)
+#define __nonstring                    __attribute__((__nonstring__))
+#else
+#define __nonstring
+#endif /* __has_attribute(__nonstring__) */
+#else
+# define __nonstring
+#endif /* __has_attribute */
+#endif /* __nonstring */
+
 /*
  * The second extended filesystem constants/structures
  */
@@ -525,8 +537,8 @@
 #endif  /* __GNU__ */
 #endif	/* defined(__KERNEL__) || defined(__linux__) */
 
-#define inode_uid(inode)	((inode).i_uid | (inode).osd2.linux2.l_i_uid_high << 16)
-#define inode_gid(inode)	((inode).i_gid | (inode).osd2.linux2.l_i_gid_high << 16)
+#define inode_uid(inode)	((inode).i_uid | (unsigned)(inode).osd2.linux2.l_i_uid_high << 16)
+#define inode_gid(inode)	((inode).i_gid | (unsigned)(inode).osd2.linux2.l_i_gid_high << 16)
 #define inode_projid(inode)	((inode).i_projid)
 #define ext2fs_set_i_uid_high(inode,x) ((inode).osd2.linux2.l_i_uid_high = (x))
 #define ext2fs_set_i_gid_high(inode,x) ((inode).osd2.linux2.l_i_gid_high = (x))
@@ -683,9 +695,9 @@
 	__u32	s_feature_compat;	/* compatible feature set */
 /*060*/	__u32	s_feature_incompat;	/* incompatible feature set */
 	__u32	s_feature_ro_compat;	/* readonly-compatible feature set */
-/*068*/	__u8	s_uuid[16];		/* 128-bit uuid for volume */
-/*078*/	__u8	s_volume_name[EXT2_LABEL_LEN];	/* volume name, no NUL? */
-/*088*/	__u8	s_last_mounted[64];	/* directory last mounted on, no NUL? */
+/*068*/	__u8	s_uuid[16] __nonstring;		/* 128-bit uuid for volume */
+/*078*/	__u8	s_volume_name[EXT2_LABEL_LEN] __nonstring;	/* volume name, no NUL? */
+/*088*/	__u8	s_last_mounted[64] __nonstring;	/* directory last mounted on, no NUL? */
 /*0c8*/	__u32	s_algorithm_usage_bitmap; /* For compression */
 	/*
 	 * Performance hints.  Directory preallocation should only
@@ -697,7 +709,7 @@
 	/*
 	 * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set.
 	 */
-/*0d0*/	__u8	s_journal_uuid[16];	/* uuid of journal superblock */
+/*0d0*/	__u8	s_journal_uuid[16] __nonstring;	/* uuid of journal superblock */
 /*0e0*/	__u32	s_journal_inum;		/* inode number of journal file */
 	__u32	s_journal_dev;		/* device number of journal file */
 	__u32	s_last_orphan;		/* start of list of inodes to delete */
@@ -733,15 +745,15 @@
 	__u32	s_first_error_time;	/* first time an error happened */
 	__u32	s_first_error_ino;	/* inode involved in first error */
 /*1a0*/	__u64	s_first_error_block;	/* block involved in first error */
-	__u8	s_first_error_func[32];	/* function where error hit, no NUL? */
+	__u8	s_first_error_func[32] __nonstring;	/* function where error hit, no NUL? */
 /*1c8*/	__u32	s_first_error_line;	/* line number where error happened */
 	__u32	s_last_error_time;	/* most recent time of an error */
 /*1d0*/	__u32	s_last_error_ino;	/* inode involved in last error */
 	__u32	s_last_error_line;	/* line number where error happened */
 	__u64	s_last_error_block;	/* block involved of last error */
-/*1e0*/	__u8	s_last_error_func[32];	/* function where error hit, no NUL? */
+/*1e0*/	__u8	s_last_error_func[32] __nonstring;	/* function where error hit, no NUL? */
 #define EXT4_S_ERR_END ext4_offsetof(struct ext2_super_block, s_mount_opts)
-/*200*/	__u8	s_mount_opts[64];	/* default mount options, no NUL? */
+/*200*/	__u8	s_mount_opts[64] __nonstring;	/* default mount options, no NUL? */
 /*240*/	__u32	s_usr_quota_inum;	/* inode number of user quota file */
 	__u32	s_grp_quota_inum;	/* inode number of group quota file */
 	__u32	s_overhead_clusters;	/* overhead blocks/clusters in fs */
@@ -1137,8 +1149,8 @@
 	__u32	mmp_magic;		/* Magic number for MMP */
 	__u32	mmp_seq;		/* Sequence no. updated periodically */
 	__u64	mmp_time;		/* Time last updated (seconds) */
-	__u8	mmp_nodename[64];	/* Node updating MMP block, no NUL? */
-	__u8	mmp_bdevname[32];	/* Bdev updating MMP block, no NUL? */
+	__u8	mmp_nodename[64] __nonstring;	/* Node updating MMP block, no NUL? */
+	__u8	mmp_bdevname[32] __nonstring;	/* Bdev updating MMP block, no NUL? */
 	__u16	mmp_check_interval;	/* Changed mmp_check_interval */
 	__u16	mmp_pad1;
 	__u32	mmp_pad2[226];
diff --git a/lib/ext2fs/ext2_io.h b/lib/ext2fs/ext2_io.h
index 95c25a7..679184e 100644
--- a/lib/ext2fs/ext2_io.h
+++ b/lib/ext2fs/ext2_io.h
@@ -142,9 +142,16 @@
 					    unsigned long long block,
 					    unsigned long long count);
 
+#ifdef _WIN32
+/* windows_io.c */
+extern io_manager windows_io_manager;
+#define default_io_manager windows_io_manager
+#else
 /* unix_io.c */
 extern io_manager unix_io_manager;
 extern io_manager unixfd_io_manager;
+#define default_io_manager unix_io_manager
+#endif
 
 /* sparse_io.c */
 extern io_manager sparse_io_manager;
diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
index df150f0..b5477c1 100644
--- a/lib/ext2fs/ext2fs.h
+++ b/lib/ext2fs/ext2fs.h
@@ -18,6 +18,18 @@
 #define EXT2FS_ATTR(x)
 #endif
 
+#ifndef __nonstring
+#ifdef __has_attribute
+#if __has_attribute(__nonstring__)
+#define __nonstring                    __attribute__((__nonstring__))
+#else
+#define __nonstring
+#endif /* __has_attribute(__nonstring__) */
+#else
+# define __nonstring
+#endif /* __has_attribute */
+#endif /* __nonstring */
+
 #ifdef CONFIG_TDB
 #define EXT2FS_NO_TDB_UNUSED
 #else
@@ -207,6 +219,7 @@
 #define EXT2_FLAG_BBITMAP_TAIL_PROBLEM	0x1000000
 #define EXT2_FLAG_IBITMAP_TAIL_PROBLEM	0x2000000
 #define EXT2_FLAG_THREADS		0x4000000
+#define EXT2_FLAG_IGNORE_SWAP_DIRENT	0x8000000
 
 /*
  * Special flag in the ext2 inode i_flag field that means that this is
@@ -342,9 +355,9 @@
 #define BLOCK_INLINE_DATA_CHANGED	8
 
 /*
- * Block interate flags
+ * Block iterate flags
  *
- * BLOCK_FLAG_APPEND, or BLOCK_FLAG_HOLE, indicates that the interator
+ * BLOCK_FLAG_APPEND, or BLOCK_FLAG_HOLE, indicates that the iterator
  * function should be called on blocks where the block number is zero.
  * This is used by ext2fs_expand_dir() to be able to add a new block
  * to an inode.  It can also be used for programs that want to be able
@@ -1250,9 +1263,15 @@
 /* ext_attr.c */
 extern __u32 ext2fs_ext_attr_hash_entry(struct ext2_ext_attr_entry *entry,
 					void *data);
+extern __u32 ext2fs_ext_attr_hash_entry_signed(struct ext2_ext_attr_entry *entry,
+					       void *data);
 extern errcode_t ext2fs_ext_attr_hash_entry2(ext2_filsys fs,
 					     struct ext2_ext_attr_entry *entry,
 					     void *data, __u32 *hash);
+extern errcode_t ext2fs_ext_attr_hash_entry3(ext2_filsys fs,
+					     struct ext2_ext_attr_entry *entry,
+					     void *data, __u32 *hash,
+					     __u32 *signed_hash);
 extern errcode_t ext2fs_read_ext_attr(ext2_filsys fs, blk_t block, void *buf);
 extern errcode_t ext2fs_read_ext_attr2(ext2_filsys fs, blk64_t block,
 				       void *buf);
diff --git a/lib/ext2fs/ext2fsP.h b/lib/ext2fs/ext2fsP.h
index a20a050..0687384 100644
--- a/lib/ext2fs/ext2fsP.h
+++ b/lib/ext2fs/ext2fsP.h
@@ -93,7 +93,7 @@
 };
 
 /*
- * NLS defintions
+ * NLS definitions
  */
 struct ext2fs_nls_table {
 	int version;
diff --git a/lib/ext2fs/ext_attr.c b/lib/ext2fs/ext_attr.c
index 148fae5..5525045 100644
--- a/lib/ext2fs/ext_attr.c
+++ b/lib/ext2fs/ext_attr.c
@@ -48,7 +48,8 @@
 __u32 ext2fs_ext_attr_hash_entry(struct ext2_ext_attr_entry *entry, void *data)
 {
 	__u32 hash = 0;
-	char *name = ((char *) entry) + sizeof(struct ext2_ext_attr_entry);
+	unsigned char *name = (((unsigned char *) entry) +
+			       sizeof(struct ext2_ext_attr_entry));
 	int n;
 
 	for (n = 0; n < entry->e_name_len; n++) {
@@ -71,18 +72,51 @@
 	return hash;
 }
 
+__u32 ext2fs_ext_attr_hash_entry_signed(struct ext2_ext_attr_entry *entry,
+					void *data)
+{
+	__u32 hash = 0;
+	signed char *name = (((signed char *) entry) +
+			     sizeof(struct ext2_ext_attr_entry));
+	int n;
+
+	for (n = 0; n < entry->e_name_len; n++) {
+		hash = (hash << NAME_HASH_SHIFT) ^
+		       (hash >> (8*sizeof(hash) - NAME_HASH_SHIFT)) ^
+		       *name++;
+	}
+
+	/* The hash needs to be calculated on the data in little-endian. */
+	if (entry->e_value_inum == 0 && entry->e_value_size != 0) {
+		__u32 *value = (__u32 *)data;
+		for (n = (entry->e_value_size + EXT2_EXT_ATTR_ROUND) >>
+			 EXT2_EXT_ATTR_PAD_BITS; n; n--) {
+			hash = (hash << VALUE_HASH_SHIFT) ^
+			       (hash >> (8*sizeof(hash) - VALUE_HASH_SHIFT)) ^
+			       ext2fs_le32_to_cpu(*value++);
+		}
+	}
+
+	return hash;
+}
+
+
 /*
- * ext2fs_ext_attr_hash_entry2()
+ * ext2fs_ext_attr_hash_entry3()
  *
- * Compute the hash of an extended attribute.
- * This version of the function supports hashing entries that reference
- * external inodes (ea_inode feature).
+ * Compute the hash of an extended attribute.  This version of the
+ * function supports hashing entries that reference external inodes
+ * (ea_inode feature) as well as calculating the old legacy signed
+ * hash variant.
  */
-errcode_t ext2fs_ext_attr_hash_entry2(ext2_filsys fs,
+errcode_t ext2fs_ext_attr_hash_entry3(ext2_filsys fs,
 				      struct ext2_ext_attr_entry *entry,
-				      void *data, __u32 *hash)
+				      void *data, __u32 *hash,
+				      __u32 *signed_hash)
 {
 	*hash = ext2fs_ext_attr_hash_entry(entry, data);
+	if (signed_hash)
+		*signed_hash = ext2fs_ext_attr_hash_entry_signed(entry, data);
 
 	if (entry->e_value_inum) {
 		__u32 ea_inode_hash;
@@ -96,10 +130,29 @@
 		*hash = (*hash << VALUE_HASH_SHIFT) ^
 			(*hash >> (8*sizeof(*hash) - VALUE_HASH_SHIFT)) ^
 			ea_inode_hash;
+		if (signed_hash)
+			*signed_hash = (*signed_hash << VALUE_HASH_SHIFT) ^
+				(*signed_hash >> (8*sizeof(*hash) -
+						  VALUE_HASH_SHIFT)) ^
+				ea_inode_hash;
 	}
 	return 0;
 }
 
+/*
+ * ext2fs_ext_attr_hash_entry2()
+ *
+ * Compute the hash of an extended attribute.
+ * This version of the function supports hashing entries that reference
+ * external inodes (ea_inode feature).
+ */
+errcode_t ext2fs_ext_attr_hash_entry2(ext2_filsys fs,
+				      struct ext2_ext_attr_entry *entry,
+				      void *data, __u32 *hash)
+{
+	return ext2fs_ext_attr_hash_entry3(fs, entry, data, hash, NULL);
+}
+
 #undef NAME_HASH_SHIFT
 #undef VALUE_HASH_SHIFT
 
@@ -556,10 +609,10 @@
 	s = sizeof(ext4_acl_header);
 	for (end = entry + count; entry != end;entry++) {
 		ext4_acl_entry *disk_entry = (ext4_acl_entry*) e;
-		disk_entry->e_tag = ext2fs_cpu_to_le16(entry->e_tag);
-		disk_entry->e_perm = ext2fs_cpu_to_le16(entry->e_perm);
+		disk_entry->e_tag = entry->e_tag;
+		disk_entry->e_perm = entry->e_perm;
 
-		switch(entry->e_tag) {
+		switch(ext2fs_le16_to_cpu(entry->e_tag)) {
 			case ACL_USER_OBJ:
 			case ACL_GROUP_OBJ:
 			case ACL_MASK:
@@ -569,10 +622,12 @@
 				break;
 			case ACL_USER:
 			case ACL_GROUP:
-				disk_entry->e_id =  ext2fs_cpu_to_le32(entry->e_id);
+				disk_entry->e_id = entry->e_id;
 				e += sizeof(ext4_acl_entry);
 				s += sizeof(ext4_acl_entry);
 				break;
+			default:
+				return EINVAL;
 		}
 	}
 	*size_out = s;
@@ -608,10 +663,10 @@
 	while (size > 0) {
 		const ext4_acl_entry *disk_entry = (const ext4_acl_entry *) cp;
 
-		entry->e_tag = ext2fs_le16_to_cpu(disk_entry->e_tag);
-		entry->e_perm = ext2fs_le16_to_cpu(disk_entry->e_perm);
+		entry->e_tag = disk_entry->e_tag;
+		entry->e_perm = disk_entry->e_perm;
 
-		switch(entry->e_tag) {
+		switch(ext2fs_le16_to_cpu(entry->e_tag)) {
 			case ACL_USER_OBJ:
 			case ACL_GROUP_OBJ:
 			case ACL_MASK:
@@ -622,13 +677,13 @@
 				break;
 			case ACL_USER:
 			case ACL_GROUP:
-				entry->e_id = ext2fs_le32_to_cpu(disk_entry->e_id);
+				entry->e_id = disk_entry->e_id;
 				cp += sizeof(ext4_acl_entry);
 				size -= sizeof(ext4_acl_entry);
 				break;
-		default:
-			ext2fs_free_mem(&out);
-			return EINVAL;
+			default:
+				ext2fs_free_mem(&out);
+				return EINVAL;
 		}
 		entry++;
 	}
@@ -938,15 +993,18 @@
 
 		/* e_hash may be 0 in older inode's ea */
 		if (entry->e_hash != 0) {
-			__u32 hash;
+			__u32 hash, signed_hash;
+
 			void *data = (entry->e_value_inum != 0) ?
 					0 : value_start + entry->e_value_offs;
 
-			err = ext2fs_ext_attr_hash_entry2(handle->fs, entry,
-							  data, &hash);
+			err = ext2fs_ext_attr_hash_entry3(handle->fs, entry,
+							  data, &hash,
+							  &signed_hash);
 			if (err)
 				return err;
-			if (entry->e_hash != hash) {
+			if ((entry->e_hash != hash) &&
+			    (entry->e_hash != signed_hash)) {
 				struct ext2_inode child;
 
 				/* Check whether this is an old Lustre-style
diff --git a/lib/ext2fs/extent.c b/lib/ext2fs/extent.c
index b324c7b..82e75cc 100644
--- a/lib/ext2fs/extent.c
+++ b/lib/ext2fs/extent.c
@@ -47,6 +47,7 @@
 	int		visit_num;
 	int		flags;
 	blk64_t		end_blk;
+	blk64_t		blk;
 	void		*curr;
 };
 
@@ -286,6 +287,7 @@
 	handle->path[0].end_blk =
 		(EXT2_I_SIZE(handle->inode) + fs->blocksize - 1) >>
 		 EXT2_BLOCK_SIZE_BITS(fs->super);
+	handle->path[0].blk = 0;
 	handle->path[0].visit_num = 1;
 	handle->level = 0;
 	handle->magic = EXT2_ET_MAGIC_EXTENT_HANDLE;
@@ -305,14 +307,14 @@
 errcode_t ext2fs_extent_get(ext2_extent_handle_t handle,
 			    int flags, struct ext2fs_extent *extent)
 {
-	struct extent_path	*path, *newpath;
+	struct extent_path	*path, *newpath, *tp;
 	struct ext3_extent_header	*eh;
 	struct ext3_extent_idx		*ix = 0;
 	struct ext3_extent		*ex;
 	errcode_t			retval;
 	blk64_t				blk;
 	blk64_t				end_blk;
-	int				orig_op, op;
+	int				orig_op, op, l;
 	int				failed_csum = 0;
 
 	EXT2_CHECK_MAGIC(handle, EXT2_ET_MAGIC_EXTENT_HANDLE);
@@ -467,6 +469,11 @@
 		}
 		blk = ext2fs_le32_to_cpu(ix->ei_leaf) +
 			((__u64) ext2fs_le16_to_cpu(ix->ei_leaf_hi) << 32);
+		for (l = handle->level, tp = path; l > 0; l--, tp--) {
+			if (blk == tp->blk)
+				return EXT2_ET_EXTENT_CYCLE;
+		}
+		newpath->blk = blk;
 		if ((handle->fs->flags & EXT2_FLAG_IMAGE_FILE) &&
 		    (handle->fs->io != handle->fs->image_io))
 			memset(newpath->buf, 0, handle->fs->blocksize);
@@ -495,6 +502,10 @@
 			ext2fs_le16_to_cpu(eh->eh_entries);
 		newpath->max_entries = ext2fs_le16_to_cpu(eh->eh_max);
 
+		/* Make sure there is at least one extent present */
+		if (newpath->left <= 0)
+			return EXT2_ET_EXTENT_NO_DOWN;
+
 		if (path->left > 0) {
 			ix++;
 			newpath->end_blk = ext2fs_le32_to_cpu(ix->ei_block);
@@ -1630,6 +1641,10 @@
 
 	cp = path->curr;
 
+	/* Sanity check before memmove() */
+	if (path->left < 0)
+		return EXT2_ET_EXTENT_LEAF_BAD;
+
 	if (path->left) {
 		memmove(cp, cp + sizeof(struct ext3_extent_idx),
 			path->left * sizeof(struct ext3_extent_idx));
diff --git a/lib/ext2fs/fast_commit.h b/lib/ext2fs/fast_commit.h
index b83e181..4ad38f1 100644
--- a/lib/ext2fs/fast_commit.h
+++ b/lib/ext2fs/fast_commit.h
@@ -155,13 +155,6 @@
 #define region_last(__region) (((__region)->lblk) + ((__region)->len) - 1)
 #endif
 
-#define fc_for_each_tl(__start, __end, __tl)				\
-	for (tl = (struct ext4_fc_tl *)(__start);			\
-	     (__u8 *)tl < (__u8 *)(__end);				\
-		tl = (struct ext4_fc_tl *)((__u8 *)tl +			\
-					sizeof(struct ext4_fc_tl) +	\
-					+ le16_to_cpu(tl->fc_len)))
-
 static inline const char *tag2str(__u16 tag)
 {
 	switch (tag) {
@@ -194,10 +187,4 @@
 	return le16_to_cpu(tl->fc_len);
 }
 
-/* Get a pointer to "value" of a tlv */
-static inline __u8 *ext4_fc_tag_val(struct ext4_fc_tl *tl)
-{
-	return (__u8 *)tl + sizeof(*tl);
-}
-
 #endif /* __FAST_COMMIT_H__ */
diff --git a/lib/ext2fs/fileio.c b/lib/ext2fs/fileio.c
index a0b5d97..818f7f0 100644
--- a/lib/ext2fs/fileio.c
+++ b/lib/ext2fs/fileio.c
@@ -475,8 +475,14 @@
 
 			if (new_block) {
 				new_block->physblock = file->physblock;
-				ext2fs_hashmap_add(fs->block_sha_map, new_block,
-					new_block->sha, sizeof(new_block->sha));
+				int ret = ext2fs_hashmap_add(fs->block_sha_map,
+						new_block, new_block->sha,
+						sizeof(new_block->sha));
+				if (ret) {
+					retval = EXT2_ET_NO_MEMORY;
+					free(new_block);
+					goto fail;
+				}
 			}
 
 			if (bmap_flags & BMAP_SET) {
diff --git a/lib/ext2fs/gen_bitmap64.c b/lib/ext2fs/gen_bitmap64.c
index a2b8989..4289e81 100644
--- a/lib/ext2fs/gen_bitmap64.c
+++ b/lib/ext2fs/gen_bitmap64.c
@@ -183,11 +183,9 @@
 #ifdef ENABLE_BMAP_STATS_OPS
 	float mark_seq_perc = 0.0, test_seq_perc = 0.0;
 	float mark_back_perc = 0.0, test_back_perc = 0.0;
-#endif
-	double inuse;
 	struct timeval now;
+	double inuse;
 
-#ifdef ENABLE_BMAP_STATS_OPS
 	if (stats->test_count) {
 		test_seq_perc = ((float)stats->test_seq /
 				 stats->test_count) * 100;
@@ -201,7 +199,6 @@
 		mark_back_perc = ((float)stats->mark_back /
 				  stats->mark_count) * 100;
 	}
-#endif
 
 	if (gettimeofday(&now, (struct timezone *) NULL) == -1) {
 		perror("gettimeofday");
@@ -212,6 +209,7 @@
 		(((double) now.tv_usec) * 0.000001);
 	inuse -= (double) stats->created.tv_sec + \
 		(((double) stats->created.tv_usec) * 0.000001);
+#endif /* ENABLE_BMAP_STATS_OPS */
 
 	fprintf(stderr, "\n[+] %s bitmap (type %d)\n", bitmap->description,
 		stats->type);
@@ -629,10 +627,14 @@
 	    (bm1->end != bm2->end))
 		return neq;
 
-	for (i = bm1->end - ((bm1->end - bm1->start) % 8); i <= bm1->end; i++)
-		if (ext2fs_test_generic_bmap(gen_bm1, i) !=
-		    ext2fs_test_generic_bmap(gen_bm2, i))
+	for (i = bm1->start; i < bm1->end; i++) {
+		int ret1, ret2;
+		ret1 = !!ext2fs_test_generic_bmap(gen_bm1, i);
+		ret2 = !!ext2fs_test_generic_bmap(gen_bm2, i);
+		if (ret1 != ret2) {
 			return neq;
+		}
+	}
 
 	return 0;
 }
@@ -684,7 +686,7 @@
 
 	/* convert to clusters if necessary */
 	block >>= bmap->cluster_bits;
-	end += (1 << bmap->cluster_bits) - 1;
+	end += (1ULL << bmap->cluster_bits) - 1;
 	end >>= bmap->cluster_bits;
 	num = end - block;
 
@@ -725,7 +727,7 @@
 
 	/* convert to clusters if necessary */
 	block >>= bmap->cluster_bits;
-	end += (1 << bmap->cluster_bits) - 1;
+	end += (1ULL << bmap->cluster_bits) - 1;
 	end >>= bmap->cluster_bits;
 	num = end - block;
 
@@ -766,7 +768,7 @@
 
 	/* convert to clusters if necessary */
 	block >>= bmap->cluster_bits;
-	end += (1 << bmap->cluster_bits) - 1;
+	end += (1ULL << bmap->cluster_bits) - 1;
 	end >>= bmap->cluster_bits;
 	num = end - block;
 
@@ -948,7 +950,7 @@
 {
 	blk64_t		next;
 	blk64_t		tot_set = 0;
-	errcode_t	retval;
+	errcode_t	retval = 0;
 
 	while (start < end) {
 		retval = ext2fs_find_first_set_block_bitmap2(fs->block_map,
diff --git a/lib/ext2fs/getsectsize.c b/lib/ext2fs/getsectsize.c
index d6bc376..bd978c5 100644
--- a/lib/ext2fs/getsectsize.c
+++ b/lib/ext2fs/getsectsize.c
@@ -51,6 +51,11 @@
  */
 errcode_t ext2fs_get_device_sectsize(const char *file, int *sectsize)
 {
+#ifdef _WIN32
+	*sectsize = 512; // just guessing
+	return 0;
+#else // not _WIN32
+
 	int	fd;
 
 	fd = ext2fs_open_file(file, O_RDONLY, 0);
@@ -72,6 +77,8 @@
 	*sectsize = 0;
 	close(fd);
 	return 0;
+
+#endif // ifdef _WIN32
 }
 
 /*
@@ -110,6 +117,12 @@
  */
 errcode_t ext2fs_get_device_phys_sectsize(const char *file, int *sectsize)
 {
+#ifdef _WIN32
+
+	return ext2fs_get_device_sectsize(file, sectsize);
+
+#else // not _WIN32
+
 	int	fd;
 
 	fd = ext2fs_open_file(file, O_RDONLY, 0);
@@ -133,4 +146,6 @@
 	*sectsize = 0;
 	close(fd);
 	return 0;
+
+#endif // ifdef _WIN32
 }
diff --git a/lib/ext2fs/getsize.c b/lib/ext2fs/getsize.c
index be06775..a028634 100644
--- a/lib/ext2fs/getsize.c
+++ b/lib/ext2fs/getsize.c
@@ -74,7 +74,8 @@
 errcode_t ext2fs_get_device_size2(const char *file, int blocksize,
 				  blk64_t *retblocks)
 {
-	HANDLE dev;
+	int fd;
+	HANDLE h;
 	PARTITION_INFORMATION pi;
 	DISK_GEOMETRY gi;
 	DWORD retbytes;
@@ -84,20 +85,18 @@
 	DWORD filesize;
 #endif /* HAVE_GET_FILE_SIZE_EX */
 
-	dev = CreateFile(file, GENERIC_READ,
-			 FILE_SHARE_READ | FILE_SHARE_WRITE ,
-                	 NULL,  OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,  NULL);
-
-	if (dev == INVALID_HANDLE_VALUE)
-		return EBADF;
-	if (DeviceIoControl(dev, IOCTL_DISK_GET_PARTITION_INFO,
+	fd = ext2fs_open_file(file, O_RDONLY, 0);
+	if (fd < 0)
+		return errno;
+	h = (HANDLE)_get_osfhandle(fd);
+	if (DeviceIoControl(h, IOCTL_DISK_GET_PARTITION_INFO,
 			    &pi, sizeof(PARTITION_INFORMATION),
 			    &pi, sizeof(PARTITION_INFORMATION),
 			    &retbytes, NULL)) {
 
 		*retblocks = pi.PartitionLength.QuadPart / blocksize;
 
-	} else if (DeviceIoControl(dev, IOCTL_DISK_GET_DRIVE_GEOMETRY,
+	} else if (DeviceIoControl(h, IOCTL_DISK_GET_DRIVE_GEOMETRY,
 				&gi, sizeof(DISK_GEOMETRY),
 				&gi, sizeof(DISK_GEOMETRY),
 				&retbytes, NULL)) {
@@ -108,19 +107,19 @@
 			     gi.Cylinders.QuadPart / blocksize;
 
 #ifdef HAVE_GET_FILE_SIZE_EX
-	} else if (GetFileSizeEx(dev, &filesize)) {
+	} else if (GetFileSizeEx(h, &filesize)) {
 		*retblocks = filesize.QuadPart / blocksize;
 	}
 #else
 	} else {
-		filesize = GetFileSize(dev, NULL);
+		filesize = GetFileSize(h, NULL);
 		if (INVALID_FILE_SIZE != filesize) {
 			*retblocks = filesize / blocksize;
 		}
 	}
 #endif /* HAVE_GET_FILE_SIZE_EX */
 
-	CloseHandle(dev);
+	close(fd);
 	return 0;
 }
 
@@ -295,7 +294,7 @@
 #ifdef DEBUG
 int main(int argc, char **argv)
 {
-	blk_t	blocks;
+	blk64_t	blocks;
 	int	retval;
 
 	if (argc < 2) {
@@ -303,13 +302,14 @@
 		exit(1);
 	}
 
-	retval = ext2fs_get_device_size(argv[1], 1024, &blocks);
+	retval = ext2fs_get_device_size2(argv[1], 1024, &blocks);
 	if (retval) {
 		com_err(argv[0], retval,
 			"while calling ext2fs_get_device_size");
 		exit(1);
 	}
-	printf("Device %s has %u 1k blocks.\n", argv[1], blocks);
+	printf("Device %s has %llu 1k blocks.\n", argv[1],
+	       (unsigned long long) locks);
 	exit(0);
 }
 #endif
diff --git a/lib/ext2fs/hashmap.c b/lib/ext2fs/hashmap.c
index ffe61ce..697b2bc 100644
--- a/lib/ext2fs/hashmap.c
+++ b/lib/ext2fs/hashmap.c
@@ -36,6 +36,9 @@
 {
 	struct ext2fs_hashmap *h = calloc(sizeof(struct ext2fs_hashmap) +
 				sizeof(struct ext2fs_hashmap_entry) * size, 1);
+	if (!h)
+		return NULL;
+
 	h->size = size;
 	h->free = free_fct;
 	h->hash = hash_fct;
@@ -43,12 +46,15 @@
 	return h;
 }
 
-void ext2fs_hashmap_add(struct ext2fs_hashmap *h, void *data, const void *key,
-			size_t key_len)
+int ext2fs_hashmap_add(struct ext2fs_hashmap *h,
+		       void *data, const void *key, size_t key_len)
 {
 	uint32_t hash = h->hash(key, key_len) % h->size;
 	struct ext2fs_hashmap_entry *e = malloc(sizeof(*e));
 
+	if (!e)
+		return -1;
+
 	e->data = data;
 	e->key = key;
 	e->key_len = key_len;
@@ -62,6 +68,8 @@
 	h->first = e;
 	if (!h->last)
 		h->last = e;
+
+	return 0;
 }
 
 void *ext2fs_hashmap_lookup(struct ext2fs_hashmap *h, const void *key,
diff --git a/lib/ext2fs/hashmap.h b/lib/ext2fs/hashmap.h
index dcfa745..0c09d2b 100644
--- a/lib/ext2fs/hashmap.h
+++ b/lib/ext2fs/hashmap.h
@@ -27,8 +27,8 @@
 struct ext2fs_hashmap *ext2fs_hashmap_create(
 				uint32_t(*hash_fct)(const void*, size_t),
 				void(*free_fct)(void*), size_t size);
-void ext2fs_hashmap_add(struct ext2fs_hashmap *h, void *data, const void *key,
-			size_t key_len);
+int ext2fs_hashmap_add(struct ext2fs_hashmap *h,
+		       void *data, const void *key,size_t key_len);
 void *ext2fs_hashmap_lookup(struct ext2fs_hashmap *h, const void *key,
 			    size_t key_len);
 void *ext2fs_hashmap_iter_in_order(struct ext2fs_hashmap *h,
diff --git a/lib/ext2fs/imager.c b/lib/ext2fs/imager.c
index 586227f..23290a6 100644
--- a/lib/ext2fs/imager.c
+++ b/lib/ext2fs/imager.c
@@ -80,6 +80,11 @@
 			goto errout;
 		}
 		left = fs->inode_blocks_per_group;
+		if ((blk < fs->super->s_first_data_block) ||
+		    (blk + left - 1 >= ext2fs_blocks_count(fs->super))) {
+			retval = EXT2_ET_GDESC_BAD_INODE_TABLE;
+			goto errout;
+		}
 		while (left) {
 			c = BUF_BLOCKS;
 			if (c > left)
@@ -272,7 +277,7 @@
 		retval = errno;
 		goto errout;
 	}
-	if (actual != (ssize_t)fs->blocksize * fs->desc_blocks) {
+	if (actual != (ssize_t)(fs->blocksize * fs->desc_blocks)) {
 		retval = EXT2_ET_SHORT_WRITE;
 		goto errout;
 	}
@@ -367,6 +372,8 @@
 		size = sizeof(buf);
 		if (size > (cnt >> 3))
 			size = (cnt >> 3);
+		if (size == 0)
+			break;
 
 		retval = ext2fs_get_generic_bmap_range(bmap, itr,
 						       size << 3, buf);
@@ -442,6 +449,8 @@
 		size = sizeof(buf);
 		if (size > (cnt >> 3))
 			size = (cnt >> 3);
+		if (size == 0)
+			break;
 
 		actual = read(fd, buf, size);
 		if (actual == -1)
diff --git a/lib/ext2fs/inline_data.c b/lib/ext2fs/inline_data.c
index b62fb67..bd52e37 100644
--- a/lib/ext2fs/inline_data.c
+++ b/lib/ext2fs/inline_data.c
@@ -653,7 +653,7 @@
 
 	if (size != BUFF_SIZE) {
 		fprintf(stderr,
-			"tst_inline_data: size %lu != buflen %u\n",
+			"tst_inline_data: size %zu != buflen %u\n",
 			size, BUFF_SIZE);
 		retval = 1;
 		goto err;
diff --git a/lib/ext2fs/inode.c b/lib/ext2fs/inode.c
index 6f42882..957d5aa 100644
--- a/lib/ext2fs/inode.c
+++ b/lib/ext2fs/inode.c
@@ -144,6 +144,10 @@
 	errcode_t (*save_get_blocks)(ext2_filsys f, ext2_ino_t ino, blk_t *blocks);
 
 	EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
+
+	if (ext2fs_has_feature_journal_dev(fs->super))
+		return EXT2_ET_EXTERNAL_JOURNAL_NOSUPP;
+
 	if (fs->blocksize < 1024)
 		return EXT2_FILSYS_CORRUPTED; /* Should never happen */
 
@@ -766,6 +770,10 @@
 	int		cache_slot, fail_csum;
 
 	EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
+
+	if (ext2fs_has_feature_journal_dev(fs->super))
+		return EXT2_ET_EXTERNAL_JOURNAL_NOSUPP;
+
 	if (fs->blocksize < 1024)
 		return EXT2_FILSYS_CORRUPTED; /* Should never happen */
 
@@ -898,6 +906,9 @@
 
 	EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
 
+	if (ext2fs_has_feature_journal_dev(fs->super))
+		return EXT2_ET_EXTERNAL_JOURNAL_NOSUPP;
+
 	/* Check to see if user provided an override function */
 	if (fs->write_inode) {
 		retval = (fs->write_inode)(fs, ino, inode);
diff --git a/lib/ext2fs/io_manager.c b/lib/ext2fs/io_manager.c
index 996c31a..dca6af0 100644
--- a/lib/ext2fs/io_manager.c
+++ b/lib/ext2fs/io_manager.c
@@ -134,8 +134,8 @@
 	else
 		size = -count;
 
-	if (io->align) {
-		if (io->align > size)
+	if (io->align > 0) {
+		if ((unsigned) io->align > size)
 			size = io->align;
 		return ext2fs_get_memalign(size, io->align, ptr);
 	} else
diff --git a/lib/ext2fs/irel.h b/lib/ext2fs/irel.h
index 8aaa2d2..23741ba 100644
--- a/lib/ext2fs/irel.h
+++ b/lib/ext2fs/irel.h
@@ -73,7 +73,7 @@
 
 	/*
 	 * The iterator function for the inode references for an
-	 * inode.  The references for only one inode can be interator
+	 * inode.  The references for only one inode can be iterator
 	 * over at a time, as the iterator state is stored in ext2_irel.
 	 */
 	errcode_t (*next_ref)(ext2_irel irel,
diff --git a/lib/ext2fs/ismounted.c b/lib/ext2fs/ismounted.c
index c9e6a9d..8fc0b99 100644
--- a/lib/ext2fs/ismounted.c
+++ b/lib/ext2fs/ismounted.c
@@ -97,7 +97,7 @@
 				   int *mount_flags, char *mtpt, int mtlen)
 {
 	struct mntent 	*mnt;
-	struct stat	st_buf;
+	struct stat	st_buf, dir_st_buf;
 	errcode_t	retval = 0;
 	dev_t		file_dev=0, file_rdev=0;
 	ino_t		file_ino=0;
@@ -144,8 +144,14 @@
 		if (stat(mnt->mnt_fsname, &st_buf) == 0) {
 			if (ext2fsP_is_disk_device(st_buf.st_mode)) {
 #ifndef __GNU__
-				if (file_rdev && (file_rdev == st_buf.st_rdev))
-					break;
+				if (file_rdev &&
+				    (file_rdev == st_buf.st_rdev)) {
+					if (stat(mnt->mnt_dir,
+						 &dir_st_buf) != 0)
+						continue;
+					if (file_rdev == dir_st_buf.st_dev)
+						break;
+				}
 				if (check_loop_mounted(mnt->mnt_fsname,
 						st_buf.st_rdev, file_dev,
 						file_ino) == 1)
@@ -393,7 +399,8 @@
 
 	if (is_swap_device(device)) {
 		*mount_flags = EXT2_MF_MOUNTED | EXT2_MF_SWAP;
-		strncpy(mtpt, "<swap>", mtlen);
+		if (mtpt)
+			strncpy(mtpt, "<swap>", mtlen);
 	} else {
 #ifdef HAVE_SETMNTENT
 		retval = check_mntent(device, mount_flags, mtpt, mtlen);
@@ -401,7 +408,7 @@
 #ifdef HAVE_GETMNTINFO
 		retval = check_getmntinfo(device, mount_flags, mtpt, mtlen);
 #else
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(_WIN32)
  #warning "Can't use getmntent or getmntinfo to check for mounted filesystems!"
 #endif
 		*mount_flags = 0;
diff --git a/lib/ext2fs/jfs_compat.h b/lib/ext2fs/jfs_compat.h
index 96fe34a..0e96b56 100644
--- a/lib/ext2fs/jfs_compat.h
+++ b/lib/ext2fs/jfs_compat.h
@@ -7,11 +7,7 @@
 #ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
 #endif
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#else
 #include <arpa/inet.h>
-#endif
 #include <stdbool.h>
 
 #define printk printf
@@ -51,12 +47,6 @@
 typedef __u64 u64;
 #define put_bh(x)	brelse(x)
 
-static inline __u32 jbd2_chksum(journal_t *j EXT2FS_ATTR((unused)),
-				__u32 crc, const void *address,
-				unsigned int length)
-{
-	return ext2fs_crc32c_le(crc, address, length);
-}
 #define crc32_be(x, y, z)	ext2fs_crc32_be((x), (y), (z))
 #define spin_lock_init(x)
 #define spin_lock(x)
@@ -67,7 +57,7 @@
                 sizeof(struct __struct), __alignof__(struct __struct),\
                 (__flags), NULL)
 
-#define blkdev_issue_flush(kdev, a)	sync_blockdev(kdev)
+#define blkdev_issue_flush(kdev)	sync_blockdev(kdev)
 #define is_power_of_2(x)	((x) != 0 && (((x) & ((x) - 1)) == 0))
 #define pr_emerg(fmt)
 #define pr_err(...)
diff --git a/lib/ext2fs/kernel-jbd.h b/lib/ext2fs/kernel-jbd.h
index c94de23..e569500 100644
--- a/lib/ext2fs/kernel-jbd.h
+++ b/lib/ext2fs/kernel-jbd.h
@@ -263,6 +263,7 @@
 #ifdef NO_INLINE_FUNCS
 extern size_t journal_tag_bytes(journal_t *journal);
 extern int jbd2_journal_has_csum_v2or3(journal_t *journal);
+extern int jbd2_journal_get_num_fc_blks(journal_superblock_t *jsb);
 extern int tid_gt(tid_t x, tid_t y) EXT2FS_ATTR((unused));
 extern int tid_geq(tid_t x, tid_t y) EXT2FS_ATTR((unused));
 #endif
@@ -443,7 +444,7 @@
 #define BJ_SyncData	1	/* Normal data: flush before commit */
 #define BJ_AsyncData	2	/* writepage data: wait on it before commit */
 #define BJ_Metadata	3	/* Normal journaled metadata */
-#define BJ_Forget	4	/* Buffer superceded by this transaction */
+#define BJ_Forget	4	/* Buffer superseded by this transaction */
 #define BJ_IO		5	/* Buffer is for temporary IO use */
 #define BJ_Shadow	6	/* Buffer contents being shadowed to the log */
 #define BJ_LogCtl	7	/* Buffer contains log descriptors */
diff --git a/lib/ext2fs/link.c b/lib/ext2fs/link.c
index a2c34ac..d69b1e3 100644
--- a/lib/ext2fs/link.c
+++ b/lib/ext2fs/link.c
@@ -35,7 +35,7 @@
 	int namelen;
 	int hash_alg;
 	__u32 hash;
-	int levels;
+	unsigned levels;
 	struct dx_frame frames[EXT4_HTREE_LEVEL];
 };
 
@@ -46,7 +46,7 @@
 
 static void dx_release(struct dx_lookup_info *info)
 {
-	int level;
+	unsigned level;
 
 	for (level = 0; level < info->levels; level++) {
 		if (info->frames[level].buf == NULL)
@@ -110,7 +110,8 @@
 					 info->frames[0].buf);
 	if (errcode)
 		goto out_err;
-	root = info->frames[0].buf + EXT2_DX_ROOT_OFF;
+	root = (struct ext2_dx_root_info *) ((char *)info->frames[0].buf +
+					     EXT2_DX_ROOT_OFF);
 	hash_alg = root->hash_version;
 	if (hash_alg != EXT2_HASH_TEA && hash_alg != EXT2_HASH_HALF_MD4 &&
 	    hash_alg != EXT2_HASH_LEGACY) {
@@ -329,19 +330,19 @@
 		csum_size = sizeof(struct ext2_dir_entry_tail);
 
 	for (i = 0; i < count; i++) {
-		de = from + map[i].off;
+		de = (struct ext2_dir_entry *) ((char *)from + map[i].off);
 		rec_len = EXT2_DIR_REC_LEN(ext2fs_dirent_name_len(de));
 		memcpy(to, de, rec_len);
 		retval = ext2fs_set_rec_len(fs, rec_len, to);
 		if (retval)
 			return retval;
-		to += rec_len;
+		to = (char *)to + rec_len;
 	}
 	/*
 	 * Update rec_len of the last dir entry to stretch to the end of block
 	 */
-	to -= rec_len;
-	rec_len = fs->blocksize - (to - base) - csum_size;
+	to = (char *)to - rec_len;
+	rec_len = fs->blocksize - ((char *)to - (char *)base) - csum_size;
 	retval = ext2fs_set_rec_len(fs, rec_len, to);
 	if (retval)
 		return retval;
@@ -396,7 +397,7 @@
 		return retval;
 	}
 	for (offset = 0; offset < fs->blocksize; offset += rec_len) {
-		de = buf + offset;
+		de = (struct ext2_dir_entry *) ((char *)buf + offset);
 		retval = ext2fs_get_rec_len(fs, de, &rec_len);
 		if (retval)
 			goto out;
@@ -490,7 +491,7 @@
 	if (retval)
 		return retval;
 	/* Only leaf addition needed? */
-	if (i == info->levels - 1)
+	if (i == (int)info->levels - 1)
 		return dx_split_leaf(fs, dir, diri, info, buf, leaf_pblk,
 				     lblk, pblk);
 
@@ -501,7 +502,7 @@
 	retval = ext2fs_set_rec_len(fs, fs->blocksize, de);
 	if (retval)
 		return retval;
-	head = buf + 8;
+	head = (struct ext2_dx_countlimit *) ((char *)buf + 8);
 	count = ext2fs_le16_to_cpu(info->frames[i+1].head->count);
 	/* Growing tree depth? */
 	if (i < 0) {
@@ -517,7 +518,8 @@
 		/* Now update tree root */
 		info->frames[0].head->count = ext2fs_cpu_to_le16(1);
 		info->frames[0].entries[0].block = ext2fs_cpu_to_le32(lblk);
-		root = info->frames[0].buf + EXT2_DX_ROOT_OFF;
+		root = (struct ext2_dx_root_info *)
+			((char *)info->frames[0].buf + EXT2_DX_ROOT_OFF);
 		root->indirect_levels++;
 	} else {
 		/* Splitting internal node in two */
@@ -558,7 +560,7 @@
 	struct dx_lookup_info dx_info;
 	errcode_t retval;
 	void *blockbuf;
-	int restart = 0;
+	unsigned restart = 0;
 	blk64_t leaf_pblk;
 
 	retval = ext2fs_get_mem(fs->blocksize, &blockbuf);
diff --git a/lib/ext2fs/llseek.c b/lib/ext2fs/llseek.c
index 922a0d5..45f21d0 100644
--- a/lib/ext2fs/llseek.c
+++ b/lib/ext2fs/llseek.c
@@ -51,7 +51,7 @@
 
 #else	/* ! HAVE_LLSEEK */
 
-#if SIZEOF_LONG == SIZEOF_LONG_LONG
+#if SIZEOF_LONG == SIZEOF_LONG_LONG || _FILE_OFFSET_BITS+0 == 64
 
 #define my_llseek lseek
 
@@ -69,7 +69,7 @@
 
 static _syscall5(int,_llseek,unsigned int,fd,unsigned long,offset_high,
 		 unsigned long, offset_low,ext2_loff_t *,result,
-		 unsigned int, origin)
+		 unsigned int, origin);
 #endif
 
 static ext2_loff_t my_llseek (int fd, ext2_loff_t offset, int origin)
diff --git a/lib/ext2fs/mkjournal.c b/lib/ext2fs/mkjournal.c
index 11d73e3..54772dd 100644
--- a/lib/ext2fs/mkjournal.c
+++ b/lib/ext2fs/mkjournal.c
@@ -252,7 +252,7 @@
 
 	group = ext2fs_group_of_blk2(fs, (ext2fs_blocks_count(fs->super) -
 					 fs->super->s_first_data_block) / 2);
-	log_flex = 1 << fs->super->s_log_groups_per_flex;
+	log_flex = 1U << fs->super->s_log_groups_per_flex;
 	if (fs->super->s_log_groups_per_flex && (group > log_flex)) {
 		group = group & ~(log_flex - 1);
 		while ((group < fs->group_desc_count) &&
diff --git a/lib/ext2fs/mmp.c b/lib/ext2fs/mmp.c
index 9ef4580..eb94170 100644
--- a/lib/ext2fs/mmp.c
+++ b/lib/ext2fs/mmp.c
@@ -58,7 +58,7 @@
 	 * the MMP block by the io_manager or the VM.  It needs to be fresh. */
 	if (fs->mmp_fd <= 0) {
 		struct stat st;
-		int flags = O_RDWR | O_DIRECT;
+		int flags = O_RDONLY | O_DIRECT;
 
 		/*
 		 * There is no reason for using O_DIRECT if we're working with
@@ -356,7 +356,7 @@
 #ifdef HAVE_GETHOSTNAME
 	gethostname((char *) mmp_s->mmp_nodename, sizeof(mmp_s->mmp_nodename));
 #else
-	strcpy(mmp_s->mmp_nodename, "unknown host");
+	strcpy((char *) mmp_s->mmp_nodename, "unknown host");
 #endif
 	strncpy((char *) mmp_s->mmp_bdevname, fs->device_name,
 		sizeof(mmp_s->mmp_bdevname));
@@ -407,7 +407,7 @@
 	    (fs->mmp_buf == NULL) || (fs->mmp_cmp == NULL))
 		goto mmp_error;
 
-	retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, fs->mmp_buf);
+	retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, NULL);
 	if (retval)
 		goto mmp_error;
 
diff --git a/lib/ext2fs/nls_utf8.c b/lib/ext2fs/nls_utf8.c
index 43bab9a..b07e66e 100644
--- a/lib/ext2fs/nls_utf8.c
+++ b/lib/ext2fs/nls_utf8.c
@@ -709,7 +709,7 @@
 /*
  * Get one byte from the normalized form of the string described by u8c.
  *
- * Returns the byte cast to an unsigned char on succes, and -1 on failure.
+ * Returns the byte cast to an unsigned char on success, and -1 on failure.
  *
  * The cursor keeps track of the location in the string in u8c->s.
  * When a character is decomposed, the current location is stored in
diff --git a/lib/ext2fs/openfs.c b/lib/ext2fs/openfs.c
index 5ec8ed5..fd56a9a 100644
--- a/lib/ext2fs/openfs.c
+++ b/lib/ext2fs/openfs.c
@@ -295,8 +295,12 @@
 		}
 	}
 
-	if (fs->super->s_log_block_size >
-	    (unsigned) (EXT2_MAX_BLOCK_LOG_SIZE - EXT2_MIN_BLOCK_LOG_SIZE)) {
+	if ((fs->super->s_log_block_size >
+	     (unsigned) (EXT2_MAX_BLOCK_LOG_SIZE - EXT2_MIN_BLOCK_LOG_SIZE)) ||
+	    (fs->super->s_log_cluster_size >
+	     (unsigned) (EXT2_MAX_CLUSTER_LOG_SIZE - EXT2_MIN_CLUSTER_LOG_SIZE)) ||
+	    (fs->super->s_log_block_size > fs->super->s_log_cluster_size) ||
+	    (fs->super->s_log_groups_per_flex > 31)) {
 		retval = EXT2_ET_CORRUPT_SUPERBLOCK;
 		goto cleanup;
 	}
@@ -326,8 +330,13 @@
 	}
 
 	/* Enforce the block group descriptor size */
-	if (ext2fs_has_feature_64bit(fs->super)) {
-		if (fs->super->s_desc_size < EXT2_MIN_DESC_SIZE_64BIT) {
+	if (!(flags & EXT2_FLAG_IGNORE_SB_ERRORS) &&
+	    ext2fs_has_feature_64bit(fs->super)) {
+		unsigned desc_size = fs->super->s_desc_size;
+
+		if ((desc_size < EXT2_MIN_DESC_SIZE_64BIT) ||
+		    (desc_size > EXT2_MAX_DESC_SIZE) ||
+		    (desc_size & (desc_size - 1)) != 0) {
 			retval = EXT2_ET_BAD_DESC_SIZE;
 			goto cleanup;
 		}
@@ -376,7 +385,7 @@
 	 * Read group descriptors
 	 */
 	blocks_per_group = EXT2_BLOCKS_PER_GROUP(fs->super);
-	if (blocks_per_group == 0 ||
+	if (blocks_per_group < 8 ||
 	    blocks_per_group > EXT2_MAX_BLOCKS_PER_GROUP(fs->super) ||
 	    fs->inode_blocks_per_group > EXT2_MAX_INODES_PER_GROUP(fs->super) ||
            EXT2_DESC_PER_BLOCK(fs->super) == 0 ||
@@ -400,6 +409,12 @@
 	}
 	fs->desc_blocks = ext2fs_div_ceil(fs->group_desc_count,
 					  EXT2_DESC_PER_BLOCK(fs->super));
+	if (ext2fs_has_feature_meta_bg(fs->super) &&
+	    (fs->super->s_first_meta_bg > fs->desc_blocks) &&
+	    !(flags & EXT2_FLAG_IGNORE_SB_ERRORS)) {
+		retval = EXT2_ET_CORRUPT_SUPERBLOCK;
+		goto cleanup;
+	}
 	if (flags & EXT2_FLAG_SUPER_ONLY)
 		goto skip_read_bg;
 	retval = ext2fs_get_array(fs->desc_blocks, fs->blocksize,
diff --git a/lib/ext2fs/punch.c b/lib/ext2fs/punch.c
index effa1e2..e2543e1 100644
--- a/lib/ext2fs/punch.c
+++ b/lib/ext2fs/punch.c
@@ -200,6 +200,10 @@
 	__u32		cluster_freed;
 	errcode_t	retval = 0;
 
+	if (free_start < fs->super->s_first_data_block ||
+	    (free_start + free_count) >= ext2fs_blocks_count(fs->super))
+		return EXT2_ET_BAD_BLOCK_NUM;
+
 	/* No bigalloc?  Just free each block. */
 	if (EXT2FS_CLUSTER_RATIO(fs) == 1) {
 		*freed += free_count;
diff --git a/lib/ext2fs/qcow2.c b/lib/ext2fs/qcow2.c
index ee701f7..2082417 100644
--- a/lib/ext2fs/qcow2.c
+++ b/lib/ext2fs/qcow2.c
@@ -238,7 +238,7 @@
 			if (offset == 0)
 				continue;
 
-			off_out = (l1_index * img.l2_size) +
+			off_out = ((__u64)l1_index * img.l2_size) +
 				  l2_index;
 			off_out <<= img.cluster_bits;
 			ret = qcow2_copy_data(qcow2_fd, raw_fd, offset,
diff --git a/lib/ext2fs/rbtree.c b/lib/ext2fs/rbtree.c
index 5b92099..74426fa 100644
--- a/lib/ext2fs/rbtree.c
+++ b/lib/ext2fs/rbtree.c
@@ -280,74 +280,6 @@
 		__rb_erase_color(child, parent, root);
 }
 
-static void ext2fs_rb_augment_path(struct rb_node *node, rb_augment_f func, void *data)
-{
-	struct rb_node *parent;
-
-up:
-	func(node, data);
-	parent = ext2fs_rb_parent(node);
-	if (!parent)
-		return;
-
-	if (node == parent->rb_left && parent->rb_right)
-		func(parent->rb_right, data);
-	else if (parent->rb_left)
-		func(parent->rb_left, data);
-
-	node = parent;
-	goto up;
-}
-
-/*
- * after inserting @node into the tree, update the tree to account for
- * both the new entry and any damage done by rebalance
- */
-void ext2fs_rb_augment_insert(struct rb_node *node, rb_augment_f func, void *data)
-{
-	if (node->rb_left)
-		node = node->rb_left;
-	else if (node->rb_right)
-		node = node->rb_right;
-
-	ext2fs_rb_augment_path(node, func, data);
-}
-
-/*
- * before removing the node, find the deepest node on the rebalance path
- * that will still be there after @node gets removed
- */
-struct rb_node *ext2fs_rb_augment_erase_begin(struct rb_node *node)
-{
-	struct rb_node *deepest;
-
-	if (!node->rb_right && !node->rb_left)
-		deepest = ext2fs_rb_parent(node);
-	else if (!node->rb_right)
-		deepest = node->rb_left;
-	else if (!node->rb_left)
-		deepest = node->rb_right;
-	else {
-		deepest = ext2fs_rb_next(node);
-		if (deepest->rb_right)
-			deepest = deepest->rb_right;
-		else if (ext2fs_rb_parent(deepest) != node)
-			deepest = ext2fs_rb_parent(deepest);
-	}
-
-	return deepest;
-}
-
-/*
- * after removal, update the tree to account for the removed entry
- * and any rebalance damage.
- */
-void ext2fs_rb_augment_erase_end(struct rb_node *node, rb_augment_f func, void *data)
-{
-	if (node)
-		ext2fs_rb_augment_path(node, func, data);
-}
-
 /*
  * This function returns the first node (in sort order) of the tree.
  */
diff --git a/lib/ext2fs/rbtree.h b/lib/ext2fs/rbtree.h
index dfeeb23..790f5c1 100644
--- a/lib/ext2fs/rbtree.h
+++ b/lib/ext2fs/rbtree.h
@@ -98,6 +98,11 @@
 #include <stdint.h>
 #include "compiler.h"
 
+#if __GNUC_PREREQ (4, 6)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-function"
+#endif
+
 struct rb_node
 {
 	uintptr_t  rb_parent_color;
@@ -151,14 +156,6 @@
 extern void ext2fs_rb_insert_color(struct rb_node *, struct rb_root *);
 extern void ext2fs_rb_erase(struct rb_node *, struct rb_root *);
 
-typedef void (*rb_augment_f)(struct rb_node *node, void *data);
-
-extern void ext2fs_rb_augment_insert(struct rb_node *node,
-			      rb_augment_f func, void *data);
-extern struct rb_node *ext2fs_rb_augment_erase_begin(struct rb_node *node);
-extern void ext2fs_rb_augment_erase_end(struct rb_node *node,
-				 rb_augment_f func, void *data);
-
 /* Find logical next and previous nodes in a tree */
 extern struct rb_node *ext2fs_rb_next(struct rb_node *);
 extern struct rb_node *ext2fs_rb_prev(struct rb_node *);
@@ -179,4 +176,8 @@
 	*rb_link = node;
 }
 
+#if __GNUC_PREREQ (4, 6)
+#pragma GCC diagnostic pop
+#endif
+
 #endif	/* _LINUX_RBTREE_H */
diff --git a/lib/ext2fs/rw_bitmaps.c b/lib/ext2fs/rw_bitmaps.c
index d760064..1fe65f7 100644
--- a/lib/ext2fs/rw_bitmaps.c
+++ b/lib/ext2fs/rw_bitmaps.c
@@ -119,7 +119,7 @@
 		fs->flags |= EXT2_FLAG_DIRTY;
 
 		blk = ext2fs_block_bitmap_loc(fs, i);
-		if (blk) {
+		if (blk && blk < ext2fs_blocks_count(fs->super)) {
 			retval = io_channel_write_blk64(fs->io, blk, 1,
 							block_buf);
 			if (retval) {
@@ -151,7 +151,7 @@
 		fs->flags |= EXT2_FLAG_DIRTY;
 
 		blk = ext2fs_inode_bitmap_loc(fs, i);
-		if (blk) {
+		if (blk && blk < ext2fs_blocks_count(fs->super)) {
 			retval = io_channel_write_blk64(fs->io, blk, 1,
 						      inode_buf);
 			if (retval) {
@@ -204,14 +204,14 @@
 		 * Mark block used for the block bitmap
 		 */
 		blk = ext2fs_block_bitmap_loc(fs, i);
-		if (blk)
+		if (blk && blk < ext2fs_blocks_count(fs->super))
 			ext2fs_mark_block_bitmap2(bmap, blk);
 
 		/*
 		 * Mark block used for the inode bitmap
 		 */
 		blk = ext2fs_inode_bitmap_loc(fs, i);
-		if (blk)
+		if (blk && blk < ext2fs_blocks_count(fs->super))
 			ext2fs_mark_block_bitmap2(bmap, blk);
 	}
 	return 0;
@@ -527,7 +527,7 @@
 	pthread_mutex_t rbt_mutex = PTHREAD_MUTEX_INITIALIZER;
 	errcode_t retval;
 	errcode_t rc;
-	unsigned flexbg_size = 1 << fs->super->s_log_groups_per_flex;
+	unsigned flexbg_size = 1U << fs->super->s_log_groups_per_flex;
 	dgrp_t average_group;
 	int i, tail_flags = 0;
 #endif
@@ -535,6 +535,9 @@
 	if (flags & ~EXT2FS_BITMAPS_VALID_FLAGS)
 		return EXT2_ET_INVALID_ARGUMENT;
 
+	if (ext2fs_has_feature_journal_dev(fs->super))
+		return EXT2_ET_EXTERNAL_JOURNAL_NOSUPP;
+
 	if (flags & EXT2FS_BITMAPS_WRITE)
 		return write_bitmaps(fs, flags & EXT2FS_BITMAPS_INODE,
 				     flags & EXT2FS_BITMAPS_BLOCK);
@@ -557,13 +560,13 @@
 	if (num_threads < 0)
 		num_threads = 4;
 
-	if (num_threads > fs->group_desc_count)
+	if ((unsigned) num_threads > fs->group_desc_count)
 		num_threads = fs->group_desc_count;
 	average_group = fs->group_desc_count / num_threads;
 	if (ext2fs_has_feature_flex_bg(fs->super)) {
 		average_group = (average_group / flexbg_size) * flexbg_size;
 	}
-	if (average_group == 0)
+	if ((num_threads <= 1) || (average_group == 0))
 		goto fallback;
 
 	io_channel_set_options(fs->io, "cache=off");
diff --git a/lib/ext2fs/sha256.c b/lib/ext2fs/sha256.c
index f67848d..b1506e2 100644
--- a/lib/ext2fs/sha256.c
+++ b/lib/ext2fs/sha256.c
@@ -180,7 +180,7 @@
         md->sha256.curlen = 0;
     }
 
-    /* pad upto 56 bytes of zeroes */
+    /* pad up to 56 bytes of zeroes */
     while (md->sha256.curlen < 56) {
         md->sha256.buf[md->sha256.curlen++] = (unsigned char)0;
     }
diff --git a/lib/ext2fs/sha512.c b/lib/ext2fs/sha512.c
index fe2dd52..f246afb 100644
--- a/lib/ext2fs/sha512.c
+++ b/lib/ext2fs/sha512.c
@@ -185,7 +185,7 @@
 		md->sha512.curlen = 0;
 	}
 
-	/* pad upto 120 bytes of zeroes note: that from 112 to 120 is the 64 MSB
+	/* pad up to 120 bytes of zeroes note: that from 112 to 120 is the 64 MSB
 	 * of the length. We assume that you won't hash > 2^64 bits of data. */
 	while (md->sha512.curlen < 120) {
 		md->sha512.buf[md->sha512.curlen++] = (unsigned char)0;
diff --git a/lib/ext2fs/swapfs.c b/lib/ext2fs/swapfs.c
index 1006b2d..5e6b22f 100644
--- a/lib/ext2fs/swapfs.c
+++ b/lib/ext2fs/swapfs.c
@@ -244,7 +244,7 @@
 			    int bufsize)
 {
 	unsigned i, extra_isize, attr_magic;
-	int has_extents, has_inline_data, islnk, fast_symlink;
+	int has_extents = 0, has_inline_data = 0, islnk = 0, fast_symlink = 0;
 	unsigned int inode_size;
 	__u32 *eaf, *eat;
 
@@ -434,11 +434,14 @@
 			return retval;
 		if ((rec_len < 8) || (rec_len % 4)) {
 			rec_len = 8;
-			retval = EXT2_ET_DIR_CORRUPTED;
+			if (!(fs->flags & EXT2_FLAG_IGNORE_SWAP_DIRENT))
+				return EXT2_ET_DIR_CORRUPTED;
 		} else if (((name_len & 0xFF) + 8) > rec_len)
-			retval = EXT2_ET_DIR_CORRUPTED;
+			if (!(fs->flags & EXT2_FLAG_IGNORE_SWAP_DIRENT))
+				return EXT2_ET_DIR_CORRUPTED;
 		if (rec_len > left)
-			return EXT2_ET_DIR_CORRUPTED;
+			if (!(fs->flags & EXT2_FLAG_IGNORE_SWAP_DIRENT))
+				return EXT2_ET_DIR_CORRUPTED;
 		left -= rec_len;
 		p += rec_len;
 	}
diff --git a/lib/ext2fs/tdb.c b/lib/ext2fs/tdb.c
index 5091b12..b07b291 100644
--- a/lib/ext2fs/tdb.c
+++ b/lib/ext2fs/tdb.c
@@ -65,6 +65,12 @@
 #include <sys/mman.h>
 #endif
 
+#ifdef __GNUC__
+#define EXT2FS_ATTR(x) __attribute__(x)
+#else
+#define EXT2FS_ATTR(x)
+#endif
+
 #ifndef MAP_FILE
 #define MAP_FILE 0
 #endif
@@ -256,6 +262,7 @@
 static int tdb_munmap(struct tdb_context *tdb);
 static void tdb_mmap(struct tdb_context *tdb);
 static int tdb_lock(struct tdb_context *tdb, int list, int ltype);
+int tdb_lock_nonblock(struct tdb_context *tdb, int list, int ltype);
 static int tdb_unlock(struct tdb_context *tdb, int list, int ltype);
 static int tdb_brlock(struct tdb_context *tdb, tdb_off_t offset, int rw_type, int lck_type, int probe, size_t len);
 static int tdb_transaction_lock(struct tdb_context *tdb, int ltype);
@@ -410,7 +417,7 @@
 
 	/* a global lock allows us to avoid per chain locks */
 	if (tdb->global_lock.count &&
-	    (ltype == tdb->global_lock.ltype || ltype == F_RDLCK)) {
+	    ((u32)ltype == tdb->global_lock.ltype || ltype == F_RDLCK)) {
 		return 0;
 	}
 
@@ -505,7 +512,7 @@
 
 	/* a global lock allows us to avoid per chain locks */
 	if (tdb->global_lock.count &&
-	    (ltype == tdb->global_lock.ltype || ltype == F_RDLCK)) {
+	    ((u32)ltype == tdb->global_lock.ltype || ltype == F_RDLCK)) {
 		return 0;
 	}
 
@@ -626,7 +633,7 @@
 	if (tdb->read_only || tdb->traverse_read)
 		return TDB_ERRCODE(TDB_ERR_LOCK, -1);
 
-	if (tdb->global_lock.count && tdb->global_lock.ltype == ltype) {
+	if (tdb->global_lock.count && tdb->global_lock.ltype == (u32)ltype) {
 		tdb->global_lock.count++;
 		return 0;
 	}
@@ -670,7 +677,8 @@
 		return TDB_ERRCODE(TDB_ERR_LOCK, -1);
 	}
 
-	if (tdb->global_lock.ltype != ltype || tdb->global_lock.count == 0) {
+	if (tdb->global_lock.ltype != (u32)ltype ||
+	    tdb->global_lock.count == 0) {
 		return TDB_ERRCODE(TDB_ERR_LOCK, -1);
 	}
 
@@ -853,7 +861,7 @@
 		return TDB_ERRCODE(TDB_ERR_IO, -1);
 	}
 
-	if (st.st_size < (size_t)len) {
+	if (st.st_size < (off_t)len) {
 		if (!probe) {
 			/* Ensure ecode is set for log fn. */
 			tdb->ecode = TDB_ERR_IO;
@@ -1537,7 +1545,8 @@
 /*
   out of bounds check during a transaction
 */
-static int transaction_oob(struct tdb_context *tdb, tdb_off_t len, int probe)
+static int transaction_oob(struct tdb_context *tdb, tdb_off_t len,
+			   int probe EXT2FS_ATTR((unused)))
 {
 	if (len <= tdb->map_size) {
 		return 0;
@@ -1563,8 +1572,12 @@
 /*
   brlock during a transaction - ignore them
 */
-static int transaction_brlock(struct tdb_context *tdb, tdb_off_t offset,
-			      int rw_type, int lck_type, int probe, size_t len)
+static int transaction_brlock(struct tdb_context *tdb EXT2FS_ATTR((unused)),
+			      tdb_off_t offset EXT2FS_ATTR((unused)),
+			      int rw_type EXT2FS_ATTR((unused)),
+			      int lck_type EXT2FS_ATTR((unused)),
+			      int probe EXT2FS_ATTR((unused)),
+			      size_t len EXT2FS_ATTR((unused)))
 {
 	return 0;
 }
@@ -2186,6 +2199,7 @@
 				   rec.data_len, 0) == -1) {
 		TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_transaction_recover: failed to read recovery data\n"));
 		tdb->ecode = TDB_ERR_IO;
+		free(data);
 		return -1;
 	}
 
@@ -3006,7 +3020,7 @@
 void tdb_dump_all(struct tdb_context *tdb)
 {
 	int i;
-	for (i=0;i<tdb->header.hash_size;i++) {
+	for (i = 0; i < (int)tdb->header.hash_size; i++) {
 		tdb_dump_chain(tdb, i);
 	}
 	printf("freelist:\n");
@@ -3075,9 +3089,10 @@
 	/* we ignore errors from this, as we have no sane way of
 	   dealing with them.
 	*/
-	tdb_ofs_read(tdb, TDB_SEQNUM_OFS, &seqnum);
+	if (tdb_ofs_read(tdb, TDB_SEQNUM_OFS, &seqnum) == -1)
+		return;
 	seqnum++;
-	tdb_ofs_write(tdb, TDB_SEQNUM_OFS, &seqnum);
+	(void) tdb_ofs_write(tdb, TDB_SEQNUM_OFS, &seqnum);
 }
 
 /*
@@ -3099,7 +3114,8 @@
 	tdb_brlock(tdb, TDB_SEQNUM_OFS, F_UNLCK, F_SETLKW, 1, 1);
 }
 
-static int tdb_key_compare(TDB_DATA key, TDB_DATA data, void *private_data)
+static int tdb_key_compare(TDB_DATA key, TDB_DATA data,
+			   void *private_data EXT2FS_ATTR((unused)))
 {
 	return memcmp(data.dptr, key.dptr, data.dsize);
 }
@@ -3677,7 +3693,8 @@
 {
 	tdb_off_t seqnum=0;
 
-	tdb_ofs_read(tdb, TDB_SEQNUM_OFS, &seqnum);
+	if (tdb_ofs_read(tdb, TDB_SEQNUM_OFS, &seqnum) == -1)
+		return 0;
 	return seqnum;
 }
 
@@ -3803,7 +3820,9 @@
 
 /* a default logging function */
 static void null_log_fn(struct tdb_context *tdb, enum tdb_debug_level level, const char *fmt, ...) PRINTF_ATTRIBUTE(3, 4);
-static void null_log_fn(struct tdb_context *tdb, enum tdb_debug_level level, const char *fmt, ...)
+static void null_log_fn(struct tdb_context *tdb EXT2FS_ATTR((unused)),
+			enum tdb_debug_level level EXT2FS_ATTR((unused)),
+			const char *fmt EXT2FS_ATTR((unused)), ...)
 {
 }
 
@@ -3897,7 +3916,8 @@
 	}
 
 	if (read(tdb->fd, &tdb->header, sizeof(tdb->header)) != sizeof(tdb->header)
-	    || strcmp(tdb->header.magic_food, TDB_MAGIC_FOOD) != 0
+	    || memcmp(tdb->header.magic_food, TDB_MAGIC_FOOD,
+		      sizeof(TDB_MAGIC_FOOD)) != 0
 	    || (tdb->header.version != TDB_VERSION
 		&& !(rev = (tdb->header.version==TDB_BYTEREV(TDB_VERSION))))) {
 		/* its not a valid database - possibly initialise it */
diff --git a/lib/ext2fs/test_io.c b/lib/ext2fs/test_io.c
index 480e68f..6843edb 100644
--- a/lib/ext2fs/test_io.c
+++ b/lib/ext2fs/test_io.c
@@ -248,6 +248,8 @@
 	return 0;
 
 cleanup:
+	if (io && io->name)
+		ext2fs_free_mem(&io->name);
 	if (io)
 		ext2fs_free_mem(&io);
 	if (data)
diff --git a/lib/ext2fs/tst_bitops.c b/lib/ext2fs/tst_bitops.c
index 8262d3b..adef12d 100644
--- a/lib/ext2fs/tst_bitops.c
+++ b/lib/ext2fs/tst_bitops.c
@@ -104,7 +104,7 @@
 	bigarray = malloc(1 << 29);
 	if (!bigarray) {
 		fprintf(stderr, "Failed to allocate scratch memory!\n");
-		exit(1);
+		exit(0);
 	}
 
         bigarray[BIG_TEST_BIT >> 3] = 0;
diff --git a/lib/ext2fs/tst_getsize.c b/lib/ext2fs/tst_getsize.c
index 4ac2ea1..ba869dc 100644
--- a/lib/ext2fs/tst_getsize.c
+++ b/lib/ext2fs/tst_getsize.c
@@ -29,18 +29,19 @@
 int main(int argc, const char *argv[])
 {
 	errcode_t	retval;
-	blk_t		blocks;
+	blk64_t		blocks;
 
 	if (argc < 2) {
 		fprintf(stderr, "%s device\n", argv[0]);
 		exit(1);
 	}
 	add_error_table(&et_ext2_error_table);
-	retval = ext2fs_get_device_size(argv[1], 1024, &blocks);
+	retval = ext2fs_get_device_size2(argv[1], 1024, &blocks);
 	if (retval) {
 		com_err(argv[0], retval, "while getting device size");
 		exit(1);
 	}
-	printf("%s is device has %u blocks.\n", argv[1], blocks);
+	printf("%s is device has %llu blocks.\n", argv[1],
+	       (unsigned long long) blocks);
 	return 0;
 }
diff --git a/lib/ext2fs/undo_io.c b/lib/ext2fs/undo_io.c
index eb56f53..f4a6d52 100644
--- a/lib/ext2fs/undo_io.c
+++ b/lib/ext2fs/undo_io.c
@@ -790,6 +790,8 @@
 		io_channel_close(data->real);
 	if (data)
 		ext2fs_free_mem(&data);
+	if (io && io->name)
+		ext2fs_free_mem(&io->name);
 	if (io)
 		ext2fs_free_mem(&io);
 	return retval;
diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
index 3bb8d23..353d85a 100644
--- a/lib/ext2fs/unix_io.c
+++ b/lib/ext2fs/unix_io.c
@@ -94,6 +94,7 @@
 	int			access_time;
 	unsigned		dirty:1;
 	unsigned		in_use:1;
+	unsigned		write_err:1;
 };
 
 #define CACHE_SIZE 8
@@ -311,11 +312,11 @@
 			size += really_read;
 			goto short_read;
 		}
-		actual = size;
-		if (actual > align_size)
-			actual = align_size;
-		actual -= offset;
-		memcpy(buf, data->bounce + offset, actual);
+		if ((actual + offset) > align_size)
+			actual = align_size - offset;
+		if (actual > size)
+			actual = size;
+		memcpy(buf, (char *)data->bounce + offset, actual);
 
 		really_read += actual;
 		size -= actual;
@@ -337,10 +338,13 @@
 	return retval;
 }
 
+#define RAW_WRITE_NO_HANDLER	1
+
 static errcode_t raw_write_blk(io_channel channel,
 			       struct unix_private_data *data,
 			       unsigned long long block,
-			       int count, const void *bufv)
+			       int count, const void *bufv,
+			       int flags)
 {
 	ssize_t		size;
 	ext2_loff_t	location;
@@ -397,7 +401,7 @@
 		mutex_lock(data, BOUNCE_MTX);
 		if (ext2fs_llseek(data->dev, location, SEEK_SET) < 0) {
 			retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
-			goto error_out;
+			goto error_unlock;
 		}
 		actual = write(data->dev, buf, size);
 		mutex_unlock(data, BOUNCE_MTX);
@@ -454,9 +458,10 @@
 			}
 		}
 		actual = size;
-		if (actual > align_size)
-			actual = align_size;
-		actual -= offset;
+		if ((actual + offset) > align_size)
+			actual = align_size - offset;
+		if (actual > size)
+			actual = size;
 		memcpy(((char *)data->bounce) + offset, buf, actual);
 		if (ext2fs_llseek(data->dev, aligned_blk * align_size, SEEK_SET) < 0) {
 			retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
@@ -481,7 +486,7 @@
 error_unlock:
 	mutex_unlock(data, BOUNCE_MTX);
 error_out:
-	if (channel->write_error)
+	if (((flags & RAW_WRITE_NO_HANDLER) == 0) && channel->write_error)
 		retval = (channel->write_error)(channel, block, count, buf,
 						size, actual, retval);
 	return retval;
@@ -575,16 +580,27 @@
 /*
  * Reuse a particular cache entry for another block.
  */
-static void reuse_cache(io_channel channel, struct unix_private_data *data,
-		 struct unix_cache *cache, unsigned long long block)
+static errcode_t reuse_cache(io_channel channel,
+		struct unix_private_data *data, struct unix_cache *cache,
+		unsigned long long block)
 {
-	if (cache->dirty && cache->in_use)
-		raw_write_blk(channel, data, cache->block, 1, cache->buf);
+	if (cache->dirty && cache->in_use) {
+		errcode_t retval;
+
+		retval = raw_write_blk(channel, data, cache->block, 1,
+				       cache->buf, RAW_WRITE_NO_HANDLER);
+		if (retval) {
+			cache->write_err = 1;
+			return retval;
+		}
+	}
 
 	cache->in_use = 1;
 	cache->dirty = 0;
+	cache->write_err = 0;
 	cache->block = block;
 	cache->access_time = ++data->access_time;
+	return 0;
 }
 
 #define FLUSH_INVALIDATE	0x01
@@ -598,31 +614,66 @@
 				     int flags)
 {
 	struct unix_cache	*cache;
-	errcode_t		retval, retval2;
+	errcode_t		retval, retval2 = 0;
 	int			i;
+	int			errors_found = 0;
 
-	retval2 = 0;
 	if ((flags & FLUSH_NOLOCK) == 0)
 		mutex_lock(data, CACHE_MTX);
 	for (i=0, cache = data->cache; i < CACHE_SIZE; i++, cache++) {
-		if (!cache->in_use)
+		if (!cache->in_use || !cache->dirty)
 			continue;
-
-		if (flags & FLUSH_INVALIDATE)
-			cache->in_use = 0;
-
-		if (!cache->dirty)
-			continue;
-
 		retval = raw_write_blk(channel, data,
-				       cache->block, 1, cache->buf);
-		if (retval)
+				       cache->block, 1, cache->buf,
+				       RAW_WRITE_NO_HANDLER);
+		if (retval) {
+			cache->write_err = 1;
+			errors_found = 1;
 			retval2 = retval;
-		else
+		} else {
 			cache->dirty = 0;
+			cache->write_err = 0;
+			if (flags & FLUSH_INVALIDATE)
+				cache->in_use = 0;
+		}
 	}
 	if ((flags & FLUSH_NOLOCK) == 0)
 		mutex_unlock(data, CACHE_MTX);
+retry:
+	while (errors_found) {
+		if ((flags & FLUSH_NOLOCK) == 0)
+			mutex_lock(data, CACHE_MTX);
+		errors_found = 0;
+		for (i=0, cache = data->cache; i < CACHE_SIZE; i++, cache++) {
+			if (!cache->in_use || !cache->write_err)
+				continue;
+			errors_found = 1;
+			if (cache->write_err && channel->write_error) {
+				char *err_buf = NULL;
+				unsigned long long err_block = cache->block;
+
+				cache->dirty = 0;
+				cache->in_use = 0;
+				cache->write_err = 0;
+				if (io_channel_alloc_buf(channel, 0,
+							 &err_buf))
+					err_buf = NULL;
+				else
+					memcpy(err_buf, cache->buf,
+					       channel->block_size);
+				mutex_unlock(data, CACHE_MTX);
+				(channel->write_error)(channel, err_block,
+					1, err_buf, channel->block_size, -1,
+					retval2);
+				if (err_buf)
+					ext2fs_free_mem(&err_buf);
+				goto retry;
+			} else
+				cache->write_err = 0;
+		}
+		if ((flags & FLUSH_NOLOCK) == 0)
+			mutex_unlock(data, CACHE_MTX);
+	}
 	return retval2;
 }
 #endif /* NO_IO_CACHE */
@@ -956,8 +1007,11 @@
 		mutex_lock(data, CACHE_MTX);
 		mutex_lock(data, BOUNCE_MTX);
 #ifndef NO_IO_CACHE
-		if ((retval = flush_cached_blocks(channel, data, FLUSH_NOLOCK)))
+		if ((retval = flush_cached_blocks(channel, data, FLUSH_NOLOCK))){
+			mutex_unlock(data, BOUNCE_MTX);
+			mutex_unlock(data, CACHE_MTX);
 			return retval;
+		}
 #endif
 
 		channel->block_size = blksize;
@@ -973,8 +1027,8 @@
 			       int count, void *buf)
 {
 	struct unix_private_data *data;
-	struct unix_cache *cache, *reuse[READ_DIRECT_SIZE];
-	errcode_t	retval = 0;
+	struct unix_cache *cache;
+	errcode_t	retval;
 	char		*cp;
 	int		i, j;
 
@@ -1001,7 +1055,7 @@
 	mutex_lock(data, CACHE_MTX);
 	while (count > 0) {
 		/* If it's in the cache, use it! */
-		if ((cache = find_cached_block(data, block, &reuse[0]))) {
+		if ((cache = find_cached_block(data, block, NULL))) {
 #ifdef DEBUG
 			printf("Using cached block %lu\n", block);
 #endif
@@ -1011,46 +1065,59 @@
 			cp += channel->block_size;
 			continue;
 		}
-		if (count == 1) {
-			/*
-			 * Special case where we read directly into the
-			 * cache buffer; important in the O_DIRECT case
-			 */
-			cache = reuse[0];
-			reuse_cache(channel, data, cache, block);
-			if ((retval = raw_read_blk(channel, data, block, 1,
-						   cache->buf))) {
-				cache->in_use = 0;
-				break;
-			}
-			memcpy(cp, cache->buf, channel->block_size);
-			retval = 0;
-			break;
-		}
 
 		/*
 		 * Find the number of uncached blocks so we can do a
 		 * single read request
 		 */
 		for (i=1; i < count; i++)
-			if (find_cached_block(data, block+i, &reuse[i]))
+			if (find_cached_block(data, block+i, NULL))
 				break;
 #ifdef DEBUG
 		printf("Reading %d blocks starting at %lu\n", i, block);
 #endif
+		mutex_unlock(data, CACHE_MTX);
 		if ((retval = raw_read_blk(channel, data, block, i, cp)))
-			break;
+			return retval;
+		mutex_lock(data, CACHE_MTX);
 
 		/* Save the results in the cache */
 		for (j=0; j < i; j++) {
+			if (!find_cached_block(data, block, &cache)) {
+				retval = reuse_cache(channel, data,
+						     cache, block);
+				if (retval)
+					goto call_write_handler;
+				memcpy(cache->buf, cp, channel->block_size);
+			}
 			count--;
-			cache = reuse[j];
-			reuse_cache(channel, data, cache, block++);
-			memcpy(cache->buf, cp, channel->block_size);
+			block++;
 			cp += channel->block_size;
 		}
 	}
 	mutex_unlock(data, CACHE_MTX);
+	return 0;
+
+call_write_handler:
+	if (cache->write_err && channel->write_error) {
+		char *err_buf = NULL;
+		unsigned long long err_block = cache->block;
+
+		cache->dirty = 0;
+		cache->in_use = 0;
+		cache->write_err = 0;
+		if (io_channel_alloc_buf(channel, 0, &err_buf))
+			err_buf = NULL;
+		else
+			memcpy(err_buf, cache->buf, channel->block_size);
+		mutex_unlock(data, CACHE_MTX);
+		(channel->write_error)(channel, err_block, 1, err_buf,
+				       channel->block_size, -1,
+				       retval);
+		if (err_buf)
+			ext2fs_free_mem(&err_buf);
+	} else
+		mutex_unlock(data, CACHE_MTX);
 	return retval;
 #endif /* NO_IO_CACHE */
 }
@@ -1075,10 +1142,10 @@
 	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_UNIX_IO_CHANNEL);
 
 #ifdef NO_IO_CACHE
-	return raw_write_blk(channel, data, block, count, buf);
+	return raw_write_blk(channel, data, block, count, buf, 0);
 #else
 	if (data->flags & IO_FLAG_NOCACHE)
-		return raw_write_blk(channel, data, block, count, buf);
+		return raw_write_blk(channel, data, block, count, buf, 0);
 	/*
 	 * If we're doing an odd-sized write or a very large write,
 	 * flush out the cache completely and then do a direct write.
@@ -1087,7 +1154,7 @@
 		if ((retval = flush_cached_blocks(channel, data,
 						  FLUSH_INVALIDATE)))
 			return retval;
-		return raw_write_blk(channel, data, block, count, buf);
+		return raw_write_blk(channel, data, block, count, buf, 0);
 	}
 
 	/*
@@ -1097,15 +1164,19 @@
 	 */
 	writethrough = channel->flags & CHANNEL_FLAGS_WRITETHROUGH;
 	if (writethrough)
-		retval = raw_write_blk(channel, data, block, count, buf);
+		retval = raw_write_blk(channel, data, block, count, buf, 0);
 
 	cp = buf;
 	mutex_lock(data, CACHE_MTX);
 	while (count > 0) {
 		cache = find_cached_block(data, block, &reuse);
 		if (!cache) {
+			errcode_t err;
+
 			cache = reuse;
-			reuse_cache(channel, data, cache, block);
+			err = reuse_cache(channel, data, cache, block);
+			if (err)
+				goto call_write_handler;
 		}
 		if (cache->buf != cp)
 			memcpy(cache->buf, cp, channel->block_size);
@@ -1116,6 +1187,28 @@
 	}
 	mutex_unlock(data, CACHE_MTX);
 	return retval;
+
+call_write_handler:
+	if (cache->write_err && channel->write_error) {
+		char *err_buf = NULL;
+		unsigned long long err_block = cache->block;
+
+		cache->dirty = 0;
+		cache->in_use = 0;
+		cache->write_err = 0;
+		if (io_channel_alloc_buf(channel, 0, &err_buf))
+			err_buf = NULL;
+		else
+			memcpy(err_buf, cache->buf, channel->block_size);
+		mutex_unlock(data, CACHE_MTX);
+		(channel->write_error)(channel, err_block, 1, err_buf,
+				       channel->block_size, -1,
+				       retval);
+		if (err_buf)
+			ext2fs_free_mem(&err_buf);
+	} else
+		mutex_unlock(data, CACHE_MTX);
+	return retval;
 #endif /* NO_IO_CACHE */
 }
 
diff --git a/lib/ext2fs/windows_io.c b/lib/ext2fs/windows_io.c
new file mode 100644
index 0000000..f01bbb6
--- /dev/null
+++ b/lib/ext2fs/windows_io.c
@@ -0,0 +1,1020 @@
+/*
+ * windows_io.c --- This is the Windows implementation of the I/O manager.
+ *
+ * Implements a one-block write-through cache.
+ *
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ *	2002 by Theodore Ts'o.
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Library
+ * General Public License, version 2.
+ * %End-Header%
+ */
+
+#include <windows.h>
+#include <winioctl.h>
+#include <io.h>
+
+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
+#define _XOPEN_SOURCE 600
+#define _DARWIN_C_SOURCE
+#define _FILE_OFFSET_BITS 64
+#ifndef _LARGEFILE_SOURCE
+#define _LARGEFILE_SOURCE
+#endif
+#ifndef _LARGEFILE64_SOURCE
+#define _LARGEFILE64_SOURCE
+#endif
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#endif
+
+#include "config.h"
+#include <stdio.h>
+#include <string.h>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#if HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <fcntl.h>
+#include <time.h>
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#define PR_GET_DUMPABLE 3
+#if HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#include <fcntl.h>
+
+#undef ALIGN_DEBUG
+
+//#define DEBUG
+#ifdef DEBUG
+#define TRACE(...) {\
+		    char __log[256];\
+		    snprintf(__log, sizeof(__log), __VA_ARGS__);\
+		    __log[sizeof(__log)-1] = 0;\
+		    OutputDebugString(__log);\
+		}
+#else
+#define TRACE(...) do { } while (0);
+#endif
+
+#include "ext2_fs.h"
+#include "ext2fs.h"
+#include "ext2fsP.h"
+
+/*
+ * For checking structure magic numbers...
+ */
+
+#define EXT2_CHECK_MAGIC(struct, code) \
+	  if ((struct)->magic != (code)) return (code)
+#define EXT2_CHECK_MAGIC_RETURN(struct, code, ret) \
+	  if ((struct)->magic != (code)) return (ret)
+
+#define EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL  0x10ed
+
+struct windows_cache {
+	char			*buf;
+	unsigned long long	block;
+	int			access_time;
+	unsigned		dirty:1;
+	unsigned		in_use:1;
+};
+
+#define CACHE_SIZE 8
+#define WRITE_DIRECT_SIZE 4	/* Must be smaller than CACHE_SIZE */
+#define READ_DIRECT_SIZE 4	/* Should be smaller than CACHE_SIZE */
+
+struct windows_private_data {
+	int	magic;
+	char	name[MAX_PATH];
+	HANDLE	handle;
+	char	dos_device[MAX_PATH];
+	char	cf_device[MAX_PATH];
+	int	dev;
+	int	flags;
+	int	align;
+	int	access_time;
+	ext2_loff_t offset;
+	struct windows_cache cache[CACHE_SIZE];
+	void	*bounce;
+	struct struct_io_stats io_stats;
+};
+
+#define IS_ALIGNED(n, align) ((((uintptr_t) n) & \
+			       ((uintptr_t) ((align)-1))) == 0)
+
+static int fake_dos_name_for_device(struct windows_private_data *data)
+{
+	if (strncmp(data->name, "\\\\", 2) == 0) {
+		data->dos_device[0] = 0;
+		strcpy(data->cf_device, data->name);
+		return 0;
+	}
+
+	_snprintf(data->dos_device, MAX_PATH, "fakedevice%lu", GetCurrentProcessId());
+
+	if (!DefineDosDevice(DDD_RAW_TARGET_PATH, data->dos_device, data->name))
+		return 1;
+
+	_snprintf(data->cf_device, MAX_PATH, "\\\\.\\%s", data->dos_device);
+	TRACE("e2fsprogs::fake_dos_name_for_device::DefineDosDevice(\"%s\")", data->dos_device);
+
+	return 0;
+}
+
+static void remove_fake_dos_name(struct windows_private_data *data)
+{
+	if (*data->dos_device) {
+		TRACE("e2fsprogs::remove_fake_dos_name::DefineDosDevice(\"%s\")", data->dos_device);
+		DefineDosDevice(DDD_RAW_TARGET_PATH | DDD_EXACT_MATCH_ON_REMOVE | DDD_REMOVE_DEFINITION, data->dos_device, data->name);
+	}
+}
+
+static errcode_t windows_get_stats(io_channel channel, io_stats *stats)
+{
+	errcode_t	retval = 0;
+
+	struct windows_private_data *data;
+
+	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
+	data = (struct windows_private_data *) channel->private_data;
+	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL);
+
+	if (stats)
+		*stats = &data->io_stats;
+
+	return retval;
+}
+
+/*
+ * Here are the raw I/O functions
+ */
+static errcode_t raw_read_blk(io_channel channel,
+			      struct windows_private_data *data,
+			      unsigned long long block,
+			      int count, void *bufv)
+{
+	errcode_t	retval;
+	ssize_t	size;
+	ext2_loff_t	location;
+	DWORD		actual = 0;
+	unsigned char	*buf = bufv;
+	ssize_t		really_read = 0;
+
+	size = (count < 0) ? -count : count * channel->block_size;
+	data->io_stats.bytes_read += size;
+	location = ((ext2_loff_t) block * channel->block_size) + data->offset;
+
+	if (data->flags & IO_FLAG_FORCE_BOUNCE) {
+		if (SetFilePointer(data->handle, location, NULL, FILE_BEGIN) == INVALID_SET_FILE_POINTER) {
+			retval = GetLastError();
+			goto error_out;
+		}
+		goto bounce_read;
+	}
+
+	if (SetFilePointer(data->handle, location, NULL, FILE_BEGIN) == INVALID_SET_FILE_POINTER) {
+		retval = GetLastError();
+		goto error_out;
+	}
+	if ((channel->align == 0) || (IS_ALIGNED(buf, channel->align) && IS_ALIGNED(size, channel->align))) {
+		if (!ReadFile(data->handle, buf, size, &actual, NULL)) {
+			retval = GetLastError();
+			goto error_out;
+		}
+		if (actual != size) {
+	short_read:
+		if (actual < 0) {
+			retval = GetLastError();
+			actual = 0;
+		} else
+			retval = EXT2_ET_SHORT_READ;
+		goto error_out;
+		}
+	return 0;
+	}
+
+	/*
+	 * The buffer or size which we're trying to read isn't aligned
+	 * to the O_DIRECT rules, so we need to do this the hard way...
+	 */
+bounce_read:
+	while (size > 0) {
+		if (!ReadFile(data->handle, data->bounce, channel->block_size, &actual, NULL)) {
+			retval = GetLastError();
+			goto error_out;
+		}
+		if (actual != channel->block_size) {
+			actual = really_read;
+			buf -= really_read;
+			size += really_read;
+			goto short_read;
+		}
+		actual = size;
+		if (size > channel->block_size)
+			actual = channel->block_size;
+		memcpy(buf, data->bounce, actual);
+		really_read += actual;
+		size -= actual;
+		buf += actual;
+	}
+	return 0;
+
+error_out:
+	if (actual >= 0 && actual < size)
+		memset((char *) buf+actual, 0, size-actual);
+	if (channel->read_error)
+		retval = (channel->read_error)(channel, block, count, buf,
+					       size, actual, retval);
+	return retval;
+}
+
+static errcode_t raw_write_blk(io_channel channel,
+			       struct windows_private_data *data,
+			       unsigned long long block,
+			       int count, const void *bufv)
+{
+	ssize_t		size;
+	ext2_loff_t	location;
+	DWORD		actual = 0;
+	errcode_t	retval;
+	const unsigned char *buf = bufv;
+
+	if (count == 1)
+		size = channel->block_size;
+	else {
+		if (count < 0)
+			size = -count;
+		else
+			size = count * channel->block_size;
+	}
+	data->io_stats.bytes_written += size;
+
+	location = ((ext2_loff_t) block * channel->block_size) + data->offset;
+
+	if (data->flags & IO_FLAG_FORCE_BOUNCE) {
+		if (SetFilePointer(data->handle, location, NULL, FILE_BEGIN) == INVALID_SET_FILE_POINTER) {
+			retval = GetLastError();
+			goto error_out;
+		}
+	goto bounce_write;
+	}
+
+		if (SetFilePointer(data->handle, location, NULL, FILE_BEGIN) == INVALID_SET_FILE_POINTER) {
+			retval = GetLastError();
+		goto error_out;
+	}
+
+	SetLastError(0);
+
+	if ((channel->align == 0) || (IS_ALIGNED(buf, channel->align) && IS_ALIGNED(size, channel->align))) {
+		if (!WriteFile(data->handle, buf, size, &actual, NULL)) {
+			retval = GetLastError();
+			goto error_out;
+		}
+
+		if (actual != size) {
+		short_write:
+			retval = EXT2_ET_SHORT_WRITE;
+			goto error_out;
+		}
+		return 0;
+	}
+
+	/*
+	 * The buffer or size which we're trying to write isn't aligned
+	 * to the O_DIRECT rules, so we need to do this the hard way...
+	 */
+bounce_write:
+	while (size > 0) {
+		if (size < channel->block_size) {
+			if (!ReadFile(data->handle, data->bounce, channel->block_size, &actual, NULL)) {
+				retval = GetLastError();
+				goto error_out;
+			}
+			if (actual != channel->block_size) {
+				if (actual < 0) {
+					retval = GetLastError();
+					goto error_out;
+				}
+				memset((char *) data->bounce + actual, 0,
+				       channel->block_size - actual);
+			}
+		}
+		actual = size;
+		if (size > channel->block_size)
+			actual = channel->block_size;
+		memcpy(data->bounce, buf, actual);
+		if (SetFilePointer(data->handle, location, NULL, FILE_BEGIN) == INVALID_SET_FILE_POINTER) {
+			retval = GetLastError();
+			goto error_out;
+		}
+		if (!WriteFile(data->handle, data->bounce, channel->block_size, &actual, NULL)) {
+			retval = GetLastError();
+			goto error_out;
+		}
+
+		if (actual != channel->block_size)
+			goto short_write;
+		size -= actual;
+		buf += actual;
+		location += actual;
+	}
+	return 0;
+
+error_out:
+	if (channel->write_error)
+		retval = (channel->write_error)(channel, block, count, buf,
+						size, actual, retval);
+	return retval;
+}
+
+
+/*
+ * Here we implement the cache functions
+ */
+
+/* Allocate the cache buffers */
+static errcode_t alloc_cache(io_channel channel,
+			     struct windows_private_data *data)
+{
+	errcode_t		retval;
+	struct windows_cache	*cache;
+	int			i;
+
+	data->access_time = 0;
+	for (i=0, cache = data->cache; i < CACHE_SIZE; i++, cache++) {
+		cache->block = 0;
+		cache->access_time = 0;
+		cache->dirty = 0;
+		cache->in_use = 0;
+		if (cache->buf)
+			ext2fs_free_mem(&cache->buf);
+		retval = io_channel_alloc_buf(channel, 0, &cache->buf);
+		if (retval)
+			return retval;
+	}
+	if (channel->align || data->flags & IO_FLAG_FORCE_BOUNCE) {
+		if (data->bounce)
+			ext2fs_free_mem(&data->bounce);
+		retval = io_channel_alloc_buf(channel, 0, &data->bounce);
+	}
+	return retval;
+}
+
+/* Free the cache buffers */
+static void free_cache(struct windows_private_data *data)
+{
+	struct windows_cache    *cache;
+	int			i;
+
+	data->access_time = 0;
+	for (i=0, cache = data->cache; i < CACHE_SIZE; i++, cache++) {
+		cache->block = 0;
+		cache->access_time = 0;
+		cache->dirty = 0;
+		cache->in_use = 0;
+		if (cache->buf)
+			ext2fs_free_mem(&cache->buf);
+	}
+	if (data->bounce)
+		ext2fs_free_mem(&data->bounce);
+}
+
+#ifndef NO_IO_CACHE
+/*
+ * Try to find a block in the cache.  If the block is not found, and
+ * eldest is a non-zero pointer, then fill in eldest with the cache
+ * entry to that should be reused.
+ */
+static struct windows_cache *find_cached_block(struct windows_private_data *data,
+					    unsigned long long block,
+					    struct windows_cache **eldest)
+{
+	struct windows_cache	*cache, *unused_cache, *oldest_cache;
+	int			i;
+
+	unused_cache = oldest_cache = 0;
+	for (i=0, cache = data->cache; i < CACHE_SIZE; i++, cache++) {
+		if (!cache->in_use) {
+			if (!unused_cache)
+				unused_cache = cache;
+			continue;
+		}
+		if (cache->block == block) {
+			cache->access_time = ++data->access_time;
+			return cache;
+		}
+		if (!oldest_cache ||
+		   (cache->access_time < oldest_cache->access_time))
+			oldest_cache = cache;
+	}
+	if (eldest)
+		*eldest = (unused_cache) ? unused_cache : oldest_cache;
+	return 0;
+}
+
+/*
+ * Reuse a particular cache entry for another block.
+ */
+static void reuse_cache(io_channel channel, struct windows_private_data *data,
+		 struct windows_cache *cache, unsigned long long block)
+{
+	if (cache->dirty && cache->in_use)
+		raw_write_blk(channel, data, cache->block, 1, cache->buf);
+
+	cache->in_use = 1;
+	cache->dirty = 0;
+	cache->block = block;
+	cache->access_time = ++data->access_time;
+}
+
+/*
+ * Flush all of the blocks in the cache
+ */
+static errcode_t flush_cached_blocks(io_channel channel,
+				     struct windows_private_data *data,
+				     int invalidate)
+{
+	struct windows_cache	*cache;
+	errcode_t	retval, retval2;
+	int			i;
+
+	retval2 = 0;
+	for (i=0, cache = data->cache; i < CACHE_SIZE; i++, cache++) {
+		if (!cache->in_use)
+			continue;
+
+		if (invalidate)
+			cache->in_use = 0;
+
+		if (!cache->dirty)
+			continue;
+
+		retval = raw_write_blk(channel, data,
+				       cache->block, 1, cache->buf);
+		if (retval)
+			retval2 = retval;
+		else
+			cache->dirty = 0;
+	}
+	return retval2;
+}
+#endif /* NO_IO_CACHE */
+
+static errcode_t windows_open_channel(struct windows_private_data *data,
+				   int flags, io_channel *channel,
+				   io_manager io_mgr)
+{
+	io_channel	io = NULL;
+	errcode_t	retval;
+	ext2fs_struct_stat st;
+
+	retval = ext2fs_get_mem(sizeof(struct struct_io_channel), &io);
+	if (retval)
+		goto cleanup;
+	memset(io, 0, sizeof(struct struct_io_channel));
+	io->magic = EXT2_ET_MAGIC_IO_CHANNEL;
+
+	io->manager = io_mgr;
+	retval = ext2fs_get_mem(strlen(data->name)+1, &io->name);
+	if (retval)
+		goto cleanup;
+
+	strcpy(io->name, data->name);
+	io->private_data = data;
+	io->block_size = 1024;
+	io->read_error = 0;
+	io->write_error = 0;
+	io->refcount = 1;
+
+#if defined(O_DIRECT)
+	if (flags & IO_FLAG_DIRECT_IO)
+		io->align = ext2fs_get_dio_alignment(data->dev);
+#endif
+
+	/*
+	 * If the device is really a block device, then set the
+	 * appropriate flag, otherwise we can set DISCARD_ZEROES flag
+	 * because we are going to use punch hole instead of discard
+	 * and if it succeed, subsequent read from sparse area returns
+	 * zero.
+	 */
+	if (ext2fs_fstat(data->dev, &st) == 0) {
+		if (ext2fsP_is_disk_device(st.st_mode))
+			io->flags |= CHANNEL_FLAGS_BLOCK_DEVICE;
+		else
+			io->flags |= CHANNEL_FLAGS_DISCARD_ZEROES;
+	}
+
+	if ((retval = alloc_cache(io, data)))
+		goto cleanup;
+
+#ifdef BLKROGET
+	if (flags & IO_FLAG_RW) {
+		int error;
+		int readonly = 0;
+
+		/* Is the block device actually writable? */
+		error = ioctl(data->dev, BLKROGET, &readonly);
+		if (!error && readonly) {
+			retval = EPERM;
+			goto cleanup;
+		}
+	}
+#endif
+
+	*channel = io;
+	return 0;
+
+cleanup:
+	if (data) {
+		if (data->dev >= 0)
+			close(data->dev);
+		free_cache(data);
+		ext2fs_free_mem(&data);
+	}
+	if (io) {
+		if (io->name) {
+			ext2fs_free_mem(&io->name);
+		}
+		ext2fs_free_mem(&io);
+	}
+	return retval;
+}
+
+static DWORD windows_open_device(struct windows_private_data *data, int open_flags)
+{
+	DWORD ret = 0;
+
+	if (*data->name != '\\')
+		strcpy(data->cf_device, data->name);
+	else if (fake_dos_name_for_device(data))
+		return -1;
+
+	DWORD desired_access = GENERIC_READ | ((open_flags & O_RDWR) ? GENERIC_WRITE : 0);
+	DWORD share_mode = (open_flags & O_EXCL) ? 0 : FILE_SHARE_READ | ((open_flags & O_RDWR) ? FILE_SHARE_WRITE : 0);
+	DWORD flags_and_attributes =
+#if defined(O_DIRECT)
+	(open_flags & O_DIRECT) ? (FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH) : FILE_ATTRIBUTE_NORMAL;
+#else
+	FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH;
+#endif
+
+	data->handle = CreateFile(data->cf_device, desired_access, share_mode, NULL, OPEN_EXISTING,
+				  flags_and_attributes, NULL);
+
+	if (data->handle == INVALID_HANDLE_VALUE) {
+		ret = GetLastError();
+		goto invalid_handle;
+	}
+
+	TRACE("e2fsprogs::windows_open_device::CreateFile(\"%s\") = %p", data->cf_device, data->handle);
+
+	data->dev = _open_osfhandle((intptr_t)data->handle, 0);
+	if (data->dev < 0) {
+		ret = GetLastError() ? GetLastError() : 9999;
+		goto osfhandle_error;
+	}
+
+	TRACE("e2fsprogs::windows_open_device::_open_osfhandle(%p) = %d", data->handle, data->dev);
+
+	return 0;
+
+osfhandle_error:
+	TRACE("e2fsprogs::windows_open_device::CloseHandle(%p)", data->handle);
+	CloseHandle(data->handle);
+invalid_handle:
+	remove_fake_dos_name(data);
+	TRACE("e2fsprogs::windows_open_device() = %lu, errno = %d", ret, errno);
+	return ret;
+}
+
+static struct windows_private_data *init_private_data(const char *name, int flags)
+{
+	struct windows_private_data *data = NULL;
+
+	if (ext2fs_get_mem(sizeof(struct windows_private_data), &data))
+		return NULL;
+
+	memset(data, 0, sizeof(struct windows_private_data));
+	strncpy(data->name, name, sizeof(data->name) - 1);
+	data->magic = EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL;
+	data->io_stats.num_fields = 2;
+	data->flags = flags;
+	data->handle = INVALID_HANDLE_VALUE;
+
+	return data;
+}
+
+static errcode_t windows_open(const char *name, int flags, io_channel *channel)
+{
+	int open_flags;
+	struct windows_private_data *data;
+
+	if (name == 0)
+		return EXT2_ET_BAD_DEVICE_NAME;
+
+	data = init_private_data(name, flags);
+	if (!data)
+		return EXT2_ET_NO_MEMORY;
+
+	open_flags = (flags & IO_FLAG_RW) ? O_RDWR : O_RDONLY;
+	if (flags & IO_FLAG_EXCLUSIVE)
+		open_flags |= O_EXCL;
+#if defined(O_DIRECT)
+	if (flags & IO_FLAG_DIRECT_IO)
+		open_flags |= O_DIRECT;
+#endif
+
+	if (windows_open_device(data, open_flags)) {
+		ext2fs_free_mem(&data);
+		return EXT2_ET_BAD_DEVICE_NAME;
+	}
+
+	return windows_open_channel(data, flags, channel, windows_io_manager);
+}
+
+static errcode_t windows_close(io_channel channel)
+{
+	struct windows_private_data *data;
+	errcode_t	retval = 0;
+
+	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
+	data = (struct windows_private_data *) channel->private_data;
+	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL);
+
+	if (--channel->refcount > 0)
+		return 0;
+
+#ifndef NO_IO_CACHE
+	retval = flush_cached_blocks(channel, data, 0);
+#endif
+
+	remove_fake_dos_name(data);
+
+	if (_close(data->dev) != 0)
+		retval = errno;
+
+	TRACE("e2fsprogs::windows_close::_close(%d)", data->dev);
+
+	free_cache(data);
+
+	ext2fs_free_mem(&channel->private_data);
+	if (channel->name)
+		ext2fs_free_mem(&channel->name);
+	ext2fs_free_mem(&channel);
+	return retval;
+}
+
+static errcode_t windows_set_blksize(io_channel channel, int blksize)
+{
+	struct windows_private_data *data;
+	errcode_t		retval;
+
+	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
+	data = (struct windows_private_data *) channel->private_data;
+	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL);
+
+	if (channel->block_size != blksize) {
+#ifndef NO_IO_CACHE
+		if ((retval = flush_cached_blocks(channel, data, 0)))
+			return retval;
+#endif
+
+		channel->block_size = blksize;
+		free_cache(data);
+		if ((retval = alloc_cache(channel, data)))
+			return retval;
+	}
+	return 0;
+}
+
+static errcode_t windows_read_blk64(io_channel channel, unsigned long long block, int count, void *buf)
+{
+	struct windows_private_data *data;
+	struct windows_cache *cache, *reuse[READ_DIRECT_SIZE];
+	errcode_t	retval;
+	char		*cp;
+	int		i, j;
+
+	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
+	data = (struct windows_private_data *) channel->private_data;
+	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL);
+
+#ifdef NO_IO_CACHE
+	return raw_read_blk(channel, data, block, count, buf);
+#else
+	/*
+	 * If we're doing an odd-sized read or a very large read,
+	 * flush out the cache and then do a direct read.
+	 */
+	if (count < 0 || count > WRITE_DIRECT_SIZE) {
+		if ((retval = flush_cached_blocks(channel, data, 0)))
+			return retval;
+		return raw_read_blk(channel, data, block, count, buf);
+	}
+
+	cp = buf;
+	while (count > 0) {
+		/* If it's in the cache, use it! */
+		if ((cache = find_cached_block(data, block, &reuse[0]))) {
+#ifdef DEBUG
+			printf("Using cached block %lu\n", block);
+#endif
+			memcpy(cp, cache->buf, channel->block_size);
+			count--;
+			block++;
+			cp += channel->block_size;
+			continue;
+		}
+		if (count == 1) {
+			/*
+			 * Special case where we read directly into the
+			 * cache buffer; important in the O_DIRECT case
+			 */
+			cache = reuse[0];
+			reuse_cache(channel, data, cache, block);
+			if ((retval = raw_read_blk(channel, data, block, 1,
+						   cache->buf))) {
+				cache->in_use = 0;
+				return retval;
+			}
+			memcpy(cp, cache->buf, channel->block_size);
+			return 0;
+		}
+
+		/*
+		 * Find the number of uncached blocks so we can do a
+		 * single read request
+		 */
+		for (i=1; i < count; i++)
+			if (find_cached_block(data, block+i, &reuse[i]))
+				break;
+#ifdef DEBUG
+		printf("Reading %d blocks starting at %lu\n", i, block);
+#endif
+		if ((retval = raw_read_blk(channel, data, block, i, cp)))
+			return retval;
+
+		/* Save the results in the cache */
+		for (j=0; j < i; j++) {
+			count--;
+			cache = reuse[j];
+			reuse_cache(channel, data, cache, block++);
+			memcpy(cache->buf, cp, channel->block_size);
+			cp += channel->block_size;
+		}
+	}
+	return 0;
+#endif /* NO_IO_CACHE */
+}
+
+static errcode_t windows_read_blk(io_channel channel, unsigned long block,
+			       int count, void *buf)
+{
+	return windows_read_blk64(channel, block, count, buf);
+}
+
+static errcode_t windows_write_blk64(io_channel channel,
+				unsigned long long block,
+				int count, const void *buf)
+{
+	struct windows_private_data *data;
+	struct windows_cache *cache, *reuse;
+	errcode_t	retval = 0;
+	const char	*cp;
+	int		writethrough;
+
+	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
+	data = (struct windows_private_data *) channel->private_data;
+	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL);
+
+#ifdef NO_IO_CACHE
+	return raw_write_blk(channel, data, block, count, buf);
+#else
+	/*
+	 * If we're doing an odd-sized write or a very large write,
+	 * flush out the cache completely and then do a direct write.
+	 */
+	if (count < 0 || count > WRITE_DIRECT_SIZE) {
+		if ((retval = flush_cached_blocks(channel, data, 1)))
+			return retval;
+		return raw_write_blk(channel, data, block, count, buf);
+	}
+
+	/*
+	 * For a moderate-sized multi-block write, first force a write
+	 * if we're in write-through cache mode, and then fill the
+	 * cache with the blocks.
+	 */
+	writethrough = channel->flags & CHANNEL_FLAGS_WRITETHROUGH;
+	if (writethrough)
+		retval = raw_write_blk(channel, data, block, count, buf);
+
+	cp = buf;
+	while (count > 0) {
+		cache = find_cached_block(data, block, &reuse);
+		if (!cache) {
+			cache = reuse;
+			reuse_cache(channel, data, cache, block);
+		}
+		if (cache->buf != cp)
+			memcpy(cache->buf, cp, channel->block_size);
+		cache->dirty = !writethrough;
+		count--;
+		block++;
+		cp += channel->block_size;
+	}
+	return retval;
+#endif /* NO_IO_CACHE */
+}
+
+static errcode_t windows_cache_readahead(io_channel channel,
+				      unsigned long long block,
+				      unsigned long long count)
+{
+	return EXT2_ET_OP_NOT_SUPPORTED;
+}
+
+static errcode_t windows_write_blk(io_channel channel, unsigned long block,
+				int count, const void *buf)
+{
+	return windows_write_blk64(channel, block, count, buf);
+}
+
+static errcode_t windows_write_byte(io_channel channel, unsigned long offset,
+				 int size, const void *buf)
+{
+	return EXT2_ET_UNIMPLEMENTED;
+}
+
+/*
+ * Flush data buffers to disk.
+ */
+static errcode_t windows_flush(io_channel channel)
+{
+	struct windows_private_data *data;
+	errcode_t retval = 0;
+
+	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
+	data = (struct windows_private_data *) channel->private_data;
+	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL);
+
+#ifndef NO_IO_CACHE
+	retval = flush_cached_blocks(channel, data, 0);
+#endif
+
+	return retval;
+}
+
+static errcode_t windows_set_option(io_channel channel, const char *option,
+				 const char *arg)
+{
+	struct windows_private_data *data;
+	unsigned long long tmp;
+	char *end;
+
+	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
+	data = (struct windows_private_data *) channel->private_data;
+	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL);
+
+	if (!strcmp(option, "offset")) {
+		if (!arg)
+			return EXT2_ET_INVALID_ARGUMENT;
+
+		tmp = strtoull(arg, &end, 0);
+		if (*end)
+			return EXT2_ET_INVALID_ARGUMENT;
+		data->offset = tmp;
+		if (data->offset < 0)
+			return EXT2_ET_INVALID_ARGUMENT;
+		return 0;
+	}
+	return EXT2_ET_INVALID_ARGUMENT;
+}
+
+static errcode_t windows_discard(io_channel channel, unsigned long long block,
+				 unsigned long long count)
+{
+	TRACE("e2fsprogs::windows_discard::EXT2_ET_UNIMPLEMENTED");
+	return EXT2_ET_UNIMPLEMENTED;
+}
+
+/* parameters might not be used if OS doesn't support zeroout */
+#if __GNUC_PREREQ (4, 6)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-parameter"
+#endif
+static errcode_t windows_zeroout(io_channel channel, unsigned long long block,
+			      unsigned long long count)
+{
+	struct windows_private_data *data;
+	int		ret;
+
+	EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL);
+	data = (struct windows_private_data *) channel->private_data;
+	EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_WINDOWS_IO_CHANNEL);
+
+	if (channel->flags & CHANNEL_FLAGS_BLOCK_DEVICE) {
+		/* Not implemented until the BLKZEROOUT mess is fixed */
+		goto unimplemented;
+	} else {
+		/* Regular file, try to use truncate/punch/zero. */
+		struct stat statbuf;
+
+		if (count == 0)
+			return 0;
+		/*
+		 * If we're trying to zero a range past the end of the file,
+		 * extend the file size, then truncate everything.
+		 */
+		ret = fstat(data->dev, &statbuf);
+		if (ret)
+			goto err;
+		if ((unsigned long long) statbuf.st_size <
+			(block + count) * channel->block_size + data->offset) {
+			ret = ftruncate(data->dev,
+					(block + count) * channel->block_size + data->offset);
+			if (ret)
+				goto err;
+		}
+		goto unimplemented;
+	}
+err:
+	if (ret < 0) {
+		if (errno == EOPNOTSUPP)
+			goto unimplemented;
+		return errno;
+	}
+	return 0;
+unimplemented:
+	return EXT2_ET_UNIMPLEMENTED;
+}
+
+int ext2fs_open_file(const char *pathname, int flags, mode_t mode)
+{
+	flags |= O_BINARY;
+
+	if (mode)
+#if defined(HAVE_OPEN64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED)
+		return open64(pathname, flags, mode);
+	else
+		return open64(pathname, flags);
+#else
+		return open(pathname, flags, mode);
+	else
+		return open(pathname, flags);
+#endif
+}
+
+int ext2fs_stat(const char *path, ext2fs_struct_stat *buf)
+{
+#if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED)
+	return stat64(path, buf);
+#else
+	return stat(path, buf);
+#endif
+}
+
+int ext2fs_fstat(int fd, ext2fs_struct_stat *buf)
+{
+#if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED)
+	return fstat64(fd, buf);
+#else
+	return fstat(fd, buf);
+#endif
+}
+
+#if __GNUC_PREREQ (4, 6)
+#pragma GCC diagnostic pop
+#endif
+
+static struct struct_io_manager struct_windows_manager = {
+	.magic		= EXT2_ET_MAGIC_IO_MANAGER,
+	.name		= "Windows I/O Manager",
+	.open		= windows_open,
+	.close		= windows_close,
+	.set_blksize	= windows_set_blksize,
+	.read_blk	= windows_read_blk,
+	.write_blk	= windows_write_blk,
+	.flush		= windows_flush,
+	.write_byte	= windows_write_byte,
+	.set_option	= windows_set_option,
+	.get_stats	= windows_get_stats,
+	.read_blk64	= windows_read_blk64,
+	.write_blk64	= windows_write_blk64,
+	.discard	= windows_discard,
+	.cache_readahead	= windows_cache_readahead,
+	.zeroout	= windows_zeroout,
+};
+
+io_manager windows_io_manager = &struct_windows_manager;
diff --git a/lib/ss/Makefile.in b/lib/ss/Makefile.in
index 40294db..bb50418 100644
--- a/lib/ss/Makefile.in
+++ b/lib/ss/Makefile.in
@@ -125,10 +125,11 @@
 	$(Q) cd $(top_builddir); CONFIG_FILES=lib/ss/ss.pc ./config.status
 
 installdirs::
-	$(E) "	MKDIR_P $(libdir) $(includedir)/ss $(datadir)/ss $(bindir)"
+	$(E) "	MKDIR_P $(libdir) $(includedir)/ss $(datadir)/ss $(bindir) $(pkgconfigdir) $(man1dir)"
 	$(Q) $(MKDIR_P) $(DESTDIR)$(libdir) \
 		$(DESTDIR)$(includedir)/ss $(DESTDIR)$(datadir)/ss \
-		$(DESTDIR)$(bindir) $(DESTDIR)$(pkgconfigdir)
+		$(DESTDIR)$(bindir) $(DESTDIR)$(pkgconfigdir) \
+		$(DESTDIR)$(man1dir)
 
 install:: libss.a $(INSTALL_HFILES) installdirs ss_err.h mk_cmds ss.pc
 	$(E) "	INSTALL_DATA $(DESTDIR)$(libdir)/libss.a"
diff --git a/lib/ss/error.c b/lib/ss/error.c
index 8d345a9..656b71b 100644
--- a/lib/ss/error.c
+++ b/lib/ss/error.c
@@ -42,6 +42,8 @@
 			 (strlen(infop->subsystem_name)+
 			  strlen(infop->current_request)+
 			  4));
+	if (ret_val == (char *)NULL)
+		return ((char *)NULL);
 	cp = ret_val;
 	cp1 = infop->subsystem_name;
 	while (*cp1)
diff --git a/lib/ss/execute_cmd.c b/lib/ss/execute_cmd.c
index d443a46..d092134 100644
--- a/lib/ss/execute_cmd.c
+++ b/lib/ss/execute_cmd.c
@@ -17,8 +17,6 @@
 #endif
 #ifdef HAVE_ERRNO_H
 #include <errno.h>
-#else
-extern int errno;
 #endif
 #include "ss_internal.h"
 #include <stdio.h>
@@ -171,6 +169,8 @@
 	for (argp = argv; *argp; argp++)
 		argc++;
 	argp = (char **)malloc((argc+1)*sizeof(char *));
+	if (!argp)
+		return(ENOMEM);
 	for (i = 0; i <= argc; i++)
 		argp[i] = argv[i];
 	i = really_execute_command(sci_idx, argc, &argp);
diff --git a/lib/ss/get_readline.c b/lib/ss/get_readline.c
index 11c72b3..aa16157 100644
--- a/lib/ss/get_readline.c
+++ b/lib/ss/get_readline.c
@@ -37,7 +37,7 @@
 #endif
 
 /* Libraries we will try to use for readline/editline functionality */
-#define DEFAULT_LIBPATH "libreadline.so.7:libreadline.so.6:libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so"
+#define DEFAULT_LIBPATH "libreadline.so.8:libreadline.so.7:libreadline.so.6:libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so"
 
 #ifdef HAVE_DLOPEN
 void ss_get_readline(int sci_idx)
diff --git a/lib/ss/help.c b/lib/ss/help.c
index 5204401..54c78f2 100644
--- a/lib/ss/help.c
+++ b/lib/ss/help.c
@@ -20,8 +20,6 @@
 #endif
 #ifdef HAVE_ERRNO_H
 #include <errno.h>
-#else
-extern int errno;
 #endif
 #include <fcntl.h>
 #include <sys/param.h>
@@ -96,7 +94,12 @@
     }
     if (fd < 0) {
 #define MSG "No info found for "
-        char *buf = malloc(strlen (MSG) + strlen (argv[1]) + 1);
+	char *buf = malloc(strlen (MSG) + strlen (argv[1]) + 1);
+	if (!buf) {
+		ss_perror(sci_idx, 0,
+			  "couldn't allocate memory to print error message");
+		return;
+	}
 	strcpy(buf, MSG);
 	strcat(buf, argv[1]);
 	ss_perror(sci_idx, 0, buf);
@@ -148,13 +151,16 @@
     dirs = (char **)realloc((char *)dirs,
 			    (unsigned)(n_dirs + 2)*sizeof(char *));
     if (dirs == (char **)NULL) {
-	info->info_dirs = (char **)NULL;
-	*code_ptr = errno;
+	*code_ptr = ENOMEM;
 	return;
     }
     info->info_dirs = dirs;
     dirs[n_dirs + 1] = (char *)NULL;
     dirs[n_dirs] = malloc((unsigned)strlen(info_dir)+1);
+    if (dirs[n_dirs] == (char *)NULL) {
+        *code_ptr = ENOMEM;
+        return;
+    }
     strcpy(dirs[n_dirs], info_dir);
     *code_ptr = 0;
 }
diff --git a/lib/ss/invocation.c b/lib/ss/invocation.c
index 457e7a2..7d7458a 100644
--- a/lib/ss/invocation.c
+++ b/lib/ss/invocation.c
@@ -26,29 +26,34 @@
 			 void *info_ptr, ss_request_table *request_table_ptr,
 			 int *code_ptr)
 {
-	register int sci_idx;
-	register ss_data *new_table;
-	register ss_data **table;
+	int sci_idx;
+	ss_data *new_table = NULL;
+	ss_data **table = NULL;
+	ss_data **realloc_table = NULL;
 
 	*code_ptr = 0;
 	table = _ss_table;
 	new_table = (ss_data *) malloc(sizeof(ss_data));
+	if (!new_table)
+		goto out;
+	memset(new_table, 0, sizeof(ss_data));
 
 	if (table == (ss_data **) NULL) {
 		table = (ss_data **) malloc(2 * size);
+		if (!table)
+			goto out;
 		table[0] = table[1] = (ss_data *)NULL;
 	}
 	initialize_ss_error_table ();
 
 	for (sci_idx = 1; table[sci_idx] != (ss_data *)NULL; sci_idx++)
 		;
-	table = (ss_data **) realloc((char *)table,
+	realloc_table = (ss_data **) realloc((char *)table,
 				     ((unsigned)sci_idx+2)*size);
-	if (table == NULL) {
-		*code_ptr = ENOMEM;
-		free(new_table);
-		return 0;
-	}
+	if (realloc_table == NULL)
+		goto out;
+
+	table = realloc_table;
 	table[sci_idx+1] = (ss_data *) NULL;
 	table[sci_idx] = new_table;
 
@@ -57,9 +62,15 @@
 	new_table->argv = (char **)NULL;
 	new_table->current_request = (char *)NULL;
 	new_table->info_dirs = (char **)malloc(sizeof(char *));
+	if (!new_table->info_dirs)
+		goto out;
+
 	*new_table->info_dirs = (char *)NULL;
 	new_table->info_ptr = info_ptr;
 	new_table->prompt = malloc((unsigned)strlen(subsystem_name)+4);
+	if (!new_table->prompt)
+		goto out;
+
 	strcpy(new_table->prompt, subsystem_name);
 	strcat(new_table->prompt, ":  ");
 #ifdef silly
@@ -71,6 +82,9 @@
 	new_table->flags.abbrevs_disabled = 0;
 	new_table->rqt_tables =
 		(ss_request_table **) calloc(2, sizeof(ss_request_table *));
+	if (!new_table->rqt_tables)
+		goto out;
+
 	*(new_table->rqt_tables) = request_table_ptr;
 	*(new_table->rqt_tables+1) = (ss_request_table *) NULL;
 
@@ -85,6 +99,17 @@
 	ss_get_readline(sci_idx);
 #endif
 	return(sci_idx);
+
+out:
+	if (new_table) {
+		free(new_table->prompt);
+		free(new_table->info_dirs);
+	}
+	free(new_table);
+	free(table);
+	*code_ptr = ENOMEM;
+	return 0;
+
 }
 
 void
diff --git a/lib/ss/list_rqs.c b/lib/ss/list_rqs.c
index 021a383..89e37bb 100644
--- a/lib/ss/list_rqs.c
+++ b/lib/ss/list_rqs.c
@@ -12,6 +12,9 @@
  */
 #include "config.h"
 #include "ss_internal.h"
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 #include <signal.h>
 #include <setjmp.h>
 #include <sys/wait.h>
@@ -46,6 +49,12 @@
         return;
     }
     output = fdopen(fd, "w");
+    if (!output) {
+        perror("fdopen");
+        close(fd);
+        (void) signal(SIGINT, func);
+        return;
+    }
     sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0);
 
     fprintf (output, "Available %s requests:\n\n",
diff --git a/lib/ss/pager.c b/lib/ss/pager.c
index b9b8899..ba32b20 100644
--- a/lib/ss/pager.c
+++ b/lib/ss/pager.c
@@ -20,8 +20,6 @@
 #endif
 #ifdef HAVE_ERRNO_H
 #include <errno.h>
-#else
-extern int errno;
 #endif
 
 #include "ss_internal.h"
diff --git a/lib/ss/ss_internal.h b/lib/ss/ss_internal.h
index 19a6be7..7b1d23b 100644
--- a/lib/ss/ss_internal.h
+++ b/lib/ss/ss_internal.h
@@ -85,7 +85,7 @@
 int ss_execute_line(int sci_idx, char *line_ptr);
 char **ss_parse(int sci_idx, char *line_ptr, int *argc_ptr);
 ss_abbrev_info *ss_abbrev_initialize(char *, int *);
-void ss_page_stdin(void);
+void ss_page_stdin(void) __SS_ATTR((noreturn));
 void ss_list_requests(int, char const * const *, int, pointer);
 int ss_execute_command(int sci_idx, char *argv[]);
 int ss_pager_create(void);
diff --git a/lib/support/Android.bp b/lib/support/Android.bp
index a0b064d..af9b28d 100644
--- a/lib/support/Android.bp
+++ b/lib/support/Android.bp
@@ -19,6 +19,7 @@
     unique_host_soname: true,
     defaults: ["e2fsprogs-defaults"],
     srcs: [
+        "devname.c",
         "dict.c",
         "mkquota.c",
         "parse_qtype.c",
@@ -38,7 +39,7 @@
 
     target: {
         windows: {
-            enabled: true
+            enabled: true,
         },
     },
 
diff --git a/lib/support/Makefile.in b/lib/support/Makefile.in
index f3c7981..b622909 100644
--- a/lib/support/Makefile.in
+++ b/lib/support/Makefile.in
@@ -18,25 +18,29 @@
 		plausible.o \
 		profile.o \
 		parse_qtype.o \
+		print_fs_flags.o \
 		profile_helpers.o \
 		prof_err.o \
 		quotaio.o \
 		quotaio_v2.o \
 		quotaio_tree.o \
-		dict.o
+		dict.o \
+		devname.o
 
 SRCS=		$(srcdir)/argv_parse.c \
 		$(srcdir)/cstring.c \
 		$(srcdir)/mkquota.c \
 		$(srcdir)/parse_qtype.c \
 		$(srcdir)/plausible.c \
+		$(srcdir)/print_fs_flags.c \
 		$(srcdir)/profile.c \
 		$(srcdir)/profile_helpers.c \
 		prof_err.c \
 		$(srcdir)/quotaio.c \
 		$(srcdir)/quotaio_tree.c \
 		$(srcdir)/quotaio_v2.c \
-		$(srcdir)/dict.c
+		$(srcdir)/dict.c \
+		$(srcdir)/devname.c
 
 LIBRARY= libsupport
 LIBDIR= support
@@ -132,6 +136,13 @@
  $(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 $(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_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 \
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \
  $(srcdir)/profile.h prof_err.h
@@ -169,3 +180,5 @@
  $(srcdir)/quotaio_tree.h
 dict.o: $(srcdir)/dict.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(srcdir)/dict.h
+devname.o: $(srcdir)/devname.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/devname.h $(srcdir)/nls-enable.h
diff --git a/lib/support/argv_parse.c b/lib/support/argv_parse.c
index d22f634..1f50f9e 100644
--- a/lib/support/argv_parse.c
+++ b/lib/support/argv_parse.c
@@ -116,6 +116,8 @@
 	if (argv == 0) {
 		argv = malloc(sizeof(char *));
 		free(buf);
+		if (!argv)
+			return -1;
 	}
 	argv[argc] = 0;
 	if (ret_argc)
diff --git a/lib/support/devname.c b/lib/support/devname.c
new file mode 100644
index 0000000..e0306dd
--- /dev/null
+++ b/lib/support/devname.c
@@ -0,0 +1,65 @@
+/*
+ * devname.c --- Support function to translate a user provided string
+ * identifying a device to an actual device path
+ *
+ * Copyright (C) 2022 Red Hat, Inc., Lukas Czerner <lczerner@redhat.com>
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ * %End-Header%
+ */
+
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "config.h"
+#include "devname.h"
+#include "nls-enable.h"
+
+/*
+ *  blkid_get_devname() is primarily intended for parsing "NAME=value"
+ *  tokens. It will return the device matching the specified token, NULL if
+ *  nothing is found, or copy of the string if it's not in "NAME=value"
+ *  format.
+ *  get_devname() takes the same parameters and works the same way as
+ *  blkid_get_devname() except it can handle '=' in the file name.
+ */
+char *get_devname(blkid_cache cache, const char *token, const char *value)
+{
+	int is_file = 0;
+	char *ret = NULL;
+
+	if (!token)
+		goto out;
+
+	if (value) {
+		ret = blkid_get_devname(cache, token, value);
+		goto out;
+	}
+
+	if (access(token, F_OK) == 0)
+		is_file = 1;
+
+	ret = blkid_get_devname(cache, token, NULL);
+	if (ret) {
+		/*
+		 * In case of collision prefer the result from
+		 * blkid_get_devname() to avoid a file masking file system with
+		 * existing tag.
+		 */
+		if (is_file && (strcmp(ret, token) != 0)) {
+			fprintf(stderr,
+				_("Collision found: '%s' refers to both '%s' "
+				  "and a file '%s'. Using '%s'!\n"),
+				token, ret, token, ret);
+		}
+		goto out;
+	}
+
+	if (is_file)
+		ret = strdup(token);
+out:
+	return ret;
+}
diff --git a/lib/support/devname.h b/lib/support/devname.h
new file mode 100644
index 0000000..cc19561
--- /dev/null
+++ b/lib/support/devname.h
@@ -0,0 +1,19 @@
+/*
+ * devname.c --- Figure out if a pathname is ext* or something else.
+ *
+ * Copyright (C) 2022 Red Hat, Inc., Lukas Czerner <lczerner@redhat.com>
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Public
+ * License.
+ * %End-Header%
+ */
+
+#ifndef DEVNAME_H_
+#define DEVNAME_H_
+
+#include "blkid/blkid.h"
+
+char *get_devname(blkid_cache cache, const char *token, const char *value);
+
+#endif /* DEVNAME_H_ */
diff --git a/lib/support/dict.c b/lib/support/dict.c
index f8277c4..93fdd0b 100644
--- a/lib/support/dict.c
+++ b/lib/support/dict.c
@@ -16,6 +16,7 @@
  *
  * $Id: dict.c,v 1.40.2.7 2000/11/13 01:36:44 kaz Exp $
  * $Name: kazlib_1_20 $
+ * The work has been modified.
  */
 
 #define DICT_NODEBUG
@@ -295,7 +296,7 @@
     dict->context = context;
 }
 
-void dict_set_cmp_context(dict_t *dict, void *cmp_ctx)
+void dict_set_cmp_context(dict_t *dict, const void *cmp_ctx)
 {
     dict_assert (!dict->cmp_ctx);
     dict_assert (dict_count(dict) == 0);
diff --git a/lib/support/dict.h b/lib/support/dict.h
index d9462a3..2d87cc0 100644
--- a/lib/support/dict.h
+++ b/lib/support/dict.h
@@ -16,6 +16,7 @@
  *
  * $Id: dict.h,v 1.22.2.6 2000/11/13 01:36:44 kaz Exp $
  * $Name: kazlib_1_20 $
+ * The work has been modified.
  */
 
 #ifndef DICT_H
@@ -69,7 +70,7 @@
     dnode_alloc_t dict_allocnode;
     dnode_free_t dict_freenode;
     void *dict_context;
-    void *cmp_ctx;
+    const void *cmp_ctx;
     int dict_dupes;
 #else
     int dict_dummmy;
@@ -89,7 +90,7 @@
 
 extern dict_t *dict_create(dictcount_t, dict_comp_t);
 extern void dict_set_allocator(dict_t *, dnode_alloc_t, dnode_free_t, void *);
-extern void dict_set_cmp_context(dict_t *, void *);
+extern void dict_set_cmp_context(dict_t *, const void *);
 extern void dict_destroy(dict_t *);
 extern void dict_free_nodes(dict_t *);
 extern void dict_free(dict_t *);
diff --git a/lib/support/mkquota.c b/lib/support/mkquota.c
index 71f42c2..c89f895 100644
--- a/lib/support/mkquota.c
+++ b/lib/support/mkquota.c
@@ -99,6 +99,8 @@
 
 	log_debug("setting quota ino in superblock: ino=%u, type=%d", ino,
 		 qtype);
+	if (inump == NULL)
+		return;
 	*inump = ino;
 	ext2fs_mark_super_dirty(fs);
 }
@@ -433,7 +435,8 @@
 		dict = qctx->quota_dict[qtype];
 		if (dict) {
 			dq = get_dq(dict, get_qid(inode, qtype));
-			dq->dq_dqb.dqb_curspace -= space;
+			if (dq)
+				dq->dq_dqb.dqb_curspace -= space;
 		}
 	}
 }
@@ -460,7 +463,8 @@
 		dict = qctx->quota_dict[qtype];
 		if (dict) {
 			dq = get_dq(dict, get_qid(inode, qtype));
-			dq->dq_dqb.dqb_curinodes += adjust;
+			if (dq)
+				dq->dq_dqb.dqb_curinodes += adjust;
 		}
 	}
 }
@@ -501,9 +505,11 @@
 		}
 		if (ino == 0)
 			break;
-		if (inode->i_links_count &&
-		    (ino == EXT2_ROOT_INO ||
-		     ino >= EXT2_FIRST_INODE(fs->super))) {
+		if (!inode->i_links_count)
+			continue;
+		if (ino == EXT2_ROOT_INO ||
+		    (ino >= EXT2_FIRST_INODE(fs->super) &&
+		     ino != quota_type2inum(PRJQUOTA, fs->super))) {
 			space = ext2fs_get_stat_i_blocks(fs,
 						EXT2_INODE(inode)) << 9;
 			quota_data_add(qctx, inode, ino, space);
@@ -531,6 +537,8 @@
 	struct dquot *dq;
 
 	dq = get_dq(quota_dict, dquot->dq_id);
+	if (!dq)
+		return -1;
 	dq->dq_id = dquot->dq_id;
 	dq->dq_flags |= DQF_SEEN;
 
@@ -566,48 +574,13 @@
 }
 
 /*
- * Read all dquots from quota file into memory
+ * Read quotas from disk and updates the in-memory information determined by
+ * 'flags' from the on-disk data.
  */
-static errcode_t quota_read_all_dquots(struct quota_handle *qh,
-                                       quota_ctx_t qctx,
-				       int update_limits EXT2FS_ATTR((unused)))
+errcode_t quota_read_all_dquots(quota_ctx_t qctx, ext2_ino_t qf_ino,
+				enum quota_type qtype, unsigned int flags)
 {
 	struct scan_dquots_data scan_data;
-
-	scan_data.quota_dict = qctx->quota_dict[qh->qh_type];
-	scan_data.check_consistency = 0;
-	scan_data.update_limits = 0;
-	scan_data.update_usage = 1;
-
-	return qh->qh_ops->scan_dquots(qh, scan_dquots_callback, &scan_data);
-}
-
-/*
- * Write all memory dquots into quota file
- */
-#if 0 /* currently unused, but may be useful in the future? */
-static errcode_t quota_write_all_dquots(struct quota_handle *qh,
-                                        quota_ctx_t qctx)
-{
-	errcode_t err;
-
-	err = ext2fs_read_bitmaps(qctx->fs);
-	if (err)
-		return err;
-	write_dquots(qctx->quota_dict[qh->qh_type], qh);
-	ext2fs_mark_bb_dirty(qctx->fs);
-	qctx->fs->flags &= ~EXT2_FLAG_SUPER_ONLY;
-	ext2fs_write_bitmaps(qctx->fs);
-	return 0;
-}
-#endif
-
-/*
- * Updates the in-memory quota limits from the given quota inode.
- */
-errcode_t quota_update_limits(quota_ctx_t qctx, ext2_ino_t qf_ino,
-			      enum quota_type qtype)
-{
 	struct quota_handle *qh;
 	errcode_t err;
 
@@ -626,7 +599,11 @@
 		goto out;
 	}
 
-	quota_read_all_dquots(qh, qctx, 1);
+	scan_data.quota_dict = qctx->quota_dict[qh->qh_type];
+	scan_data.check_consistency = 0;
+	scan_data.update_limits = !!(flags & QREAD_LIMITS);
+	scan_data.update_usage = !!(flags & QREAD_USAGE);
+	qh->qh_ops->scan_dquots(qh, scan_dquots_callback, &scan_data);
 
 	err = quota_file_close(qctx, qh);
 	if (err) {
diff --git a/lib/support/plausible.c b/lib/support/plausible.c
index 024f205..65a6b2e 100644
--- a/lib/support/plausible.c
+++ b/lib/support/plausible.c
@@ -103,7 +103,7 @@
 	time_t			tm;
 
 	retval = ext2fs_open2(device, 0, EXT2_FLAG_64BITS, 0, 0,
-			      unix_io_manager, &fs);
+			      default_io_manager, &fs);
 	if (retval)
 		return;
 	sb = fs->super;
@@ -277,11 +277,11 @@
 		return !has_magic;
 	}
 #endif
-
-	ret = check_partition_table(device);
-	if (ret >= 0)
-		return ret;
-
+	if (flags & CHECK_FS_EXIST) {
+		ret = check_partition_table(device);
+		if (ret >= 0)
+			return ret;
+	}
 	return 1;
 }
 
diff --git a/lib/support/print_fs_flags.c b/lib/support/print_fs_flags.c
new file mode 100644
index 0000000..f47cd66
--- /dev/null
+++ b/lib/support/print_fs_flags.c
@@ -0,0 +1,75 @@
+/*
+ * print_flags.c	- Print ext2_filsys flags
+ *
+ * Copyright (C) 1993, 1994  Remy Card <card@masi.ibp.fr>
+ *                           Laboratoire MASI, Institut Blaise Pascal
+ *                           Universite Pierre et Marie Curie (Paris VI)
+ *
+ * %Begin-Header%
+ * This file may be redistributed under the terms of the GNU Library
+ * General Public License, version 2.
+ * %End-Header%
+ */
+
+#include "config.h"
+#include <stdio.h>
+
+#include "ext2fs/ext2fs.h"
+
+struct flags_name {
+	unsigned long	flag;
+	const char	*name;
+};
+
+static const struct flags_name flags_array[] = {
+	{ EXT2_FLAG_RW, "EXT2_FLAG_RW" },
+	{ EXT2_FLAG_CHANGED, "EXT2_FLAG_CHANGED" },
+	{ EXT2_FLAG_DIRTY, "EXT2_FLAG_DIRTY" },
+	{ EXT2_FLAG_VALID, "EXT2_FLAG_VALID" },
+	{ EXT2_FLAG_IB_DIRTY, "EXT2_FLAG_IB_DIRTY" },
+	{ EXT2_FLAG_BB_DIRTY, "EXT2_FLAG_BB_DIRTY" },
+	{ EXT2_FLAG_SWAP_BYTES, "EXT2_FLAG_SWAP_BYTES" },
+	{ EXT2_FLAG_SWAP_BYTES_READ, "EXT2_FLAG_SWAP_BYTES_READ" },
+	{ EXT2_FLAG_SWAP_BYTES_WRITE, "EXT2_FLAG_SWAP_BYTES_WRITE" },
+	{ EXT2_FLAG_MASTER_SB_ONLY, "EXT2_FLAG_MASTER_SB_ONLY" },
+	{ EXT2_FLAG_FORCE, "EXT2_FLAG_FORCE" },
+	{ EXT2_FLAG_SUPER_ONLY, "EXT2_FLAG_SUPER_ONLY" },
+	{ EXT2_FLAG_JOURNAL_DEV_OK, "EXT2_FLAG_JOURNAL_DEV_OK" },
+	{ EXT2_FLAG_IMAGE_FILE, "EXT2_FLAG_IMAGE_FILE" },
+	{ EXT2_FLAG_EXCLUSIVE, "EXT2_FLAG_EXCLUSIVE" },
+	{ EXT2_FLAG_SOFTSUPP_FEATURES, "EXT2_FLAG_SOFTSUPP_FEATURES" },
+	{ EXT2_FLAG_NOFREE_ON_ERROR, "EXT2_FLAG_NOFREE_ON_ERROR" },
+	{ EXT2_FLAG_64BITS, "EXT2_FLAG_64BITS" },
+	{ EXT2_FLAG_PRINT_PROGRESS, "EXT2_FLAG_PRINT_PROGRESS" },
+	{ EXT2_FLAG_DIRECT_IO, "EXT2_FLAG_DIRECT_IO" },
+	{ EXT2_FLAG_SKIP_MMP, "EXT2_FLAG_SKIP_MMP" },
+	{ EXT2_FLAG_IGNORE_CSUM_ERRORS, "EXT2_FLAG_IGNORE_CSUM_ERRORS" },
+	{ EXT2_FLAG_SHARE_DUP, "EXT2_FLAG_SHARE_DUP" },
+	{ EXT2_FLAG_IGNORE_SB_ERRORS, "EXT2_FLAG_IGNORE_SB_ERRORS" },
+	{ EXT2_FLAG_BBITMAP_TAIL_PROBLEM, "EXT2_FLAG_BBITMAP_TAIL_PROBLEM" },
+	{ EXT2_FLAG_IBITMAP_TAIL_PROBLEM, "EXT2_FLAG_IBITMAP_TAIL_PROBLEM" },
+	{ EXT2_FLAG_THREADS, "EXT2_FLAG_THREADS" },
+	{ 0, NULL },
+};
+
+void print_fs_flags(FILE * f, unsigned long flags)
+{
+	const struct flags_name *fp;
+	int	first = 1, pos = 16;
+
+	for (fp = flags_array; fp->flag != 0; fp++) {
+		if ((flags & fp->flag) == 0)
+			continue;
+		pos += strlen(fp->name) + 1;
+		if (pos > 72) {
+			fputs("\n\t", f);
+			pos = 9 + strlen(fp->name);
+		}
+		if (first)
+			first = 0;
+		else
+			fputc(' ', f);
+		fputs(fp->name, f);
+	}
+	fputc('\n', f);
+}
diff --git a/lib/support/print_fs_flags.h b/lib/support/print_fs_flags.h
new file mode 100644
index 0000000..bdd58a0
--- /dev/null
+++ b/lib/support/print_fs_flags.h
@@ -0,0 +1,5 @@
+/*
+ * print_flags.h -- header file for printing the fs flags
+ */
+
+void print_fs_flags(FILE * f, unsigned long flags);
diff --git a/lib/support/profile.c b/lib/support/profile.c
index 585ed59..bdb14b1 100644
--- a/lib/support/profile.c
+++ b/lib/support/profile.c
@@ -1093,6 +1093,7 @@
 	if (!new)
 		return ENOMEM;
 	memset(new, 0, sizeof(struct profile_node));
+	new->magic = PROF_MAGIC_NODE;
 	new->name = strdup(name);
 	if (new->name == 0) {
 	    profile_free_node(new);
@@ -1105,7 +1106,6 @@
 		    return ENOMEM;
 		}
 	}
-	new->magic = PROF_MAGIC_NODE;
 
 	*ret_node = new;
 	return 0;
@@ -1191,7 +1191,7 @@
 
 /*
  * Iterate through the section, returning the nodes which match
- * the given name.  If name is NULL, then interate through all the
+ * the given name.  If name is NULL, then iterate through all the
  * nodes in the section.  If section_flag is non-zero, only return the
  * section which matches the name; don't return relations.  If value
  * is non-NULL, then only return relations which match the requested
diff --git a/lib/support/quotaio.h b/lib/support/quotaio.h
index 6068970..84fac35 100644
--- a/lib/support/quotaio.h
+++ b/lib/support/quotaio.h
@@ -224,8 +224,11 @@
 void quota_data_sub(quota_ctx_t qctx, struct ext2_inode_large *inode,
 		    ext2_ino_t ino, qsize_t space);
 errcode_t quota_write_inode(quota_ctx_t qctx, enum quota_type qtype);
-errcode_t quota_update_limits(quota_ctx_t qctx, ext2_ino_t qf_ino,
-			      enum quota_type type);
+/* Flags for quota_read_all_dquots() */
+#define QREAD_USAGE  0x01
+#define QREAD_LIMITS 0x02
+errcode_t quota_read_all_dquots(quota_ctx_t qctx, ext2_ino_t qf_ino,
+				enum quota_type type, unsigned int flags);
 errcode_t quota_compute_usage(quota_ctx_t qctx);
 void quota_release_context(quota_ctx_t *qctx);
 errcode_t quota_remove_inode(ext2_filsys fs, enum quota_type qtype);
diff --git a/lib/support/quotaio_tree.c b/lib/support/quotaio_tree.c
index 6cc4fb5..5910e63 100644
--- a/lib/support/quotaio_tree.c
+++ b/lib/support/quotaio_tree.c
@@ -601,7 +601,7 @@
 	__le32 *ref = (__le32 *) buf;
 
 	if (!buf)
-		return 0;
+		return -1;
 
 	read_blk(dquot->dq_h, blk, buf);
 	if (depth == QT_TREEDEPTH - 1) {
diff --git a/lib/support/quotaio_v2.c b/lib/support/quotaio_v2.c
index 23717f0..d09294b 100644
--- a/lib/support/quotaio_v2.c
+++ b/lib/support/quotaio_v2.c
@@ -44,6 +44,68 @@
 /*
  * Copy dquot from disk to memory
  */
+static void v2r0_disk2memdqblk(struct dquot *dquot, void *dp)
+{
+	struct util_dqblk *m = &dquot->dq_dqb;
+	struct v2r0_disk_dqblk *d = dp, empty;
+
+	dquot->dq_id = ext2fs_le32_to_cpu(d->dqb_id);
+	m->dqb_ihardlimit = ext2fs_le32_to_cpu(d->dqb_ihardlimit);
+	m->dqb_isoftlimit = ext2fs_le32_to_cpu(d->dqb_isoftlimit);
+	m->dqb_bhardlimit = ext2fs_le32_to_cpu(d->dqb_bhardlimit);
+	m->dqb_bsoftlimit = ext2fs_le32_to_cpu(d->dqb_bsoftlimit);
+	m->dqb_curinodes = ext2fs_le32_to_cpu(d->dqb_curinodes);
+	m->dqb_curspace = ext2fs_le64_to_cpu(d->dqb_curspace);
+	m->dqb_itime = ext2fs_le64_to_cpu(d->dqb_itime);
+	m->dqb_btime = ext2fs_le64_to_cpu(d->dqb_btime);
+
+	memset(&empty, 0, sizeof(struct v2r0_disk_dqblk));
+	empty.dqb_itime = ext2fs_cpu_to_le64(1);
+	if (!memcmp(&empty, dp, sizeof(struct v2r0_disk_dqblk)))
+		m->dqb_itime = 0;
+}
+
+/*
+ * Copy dquot from memory to disk
+ */
+static void v2r0_mem2diskdqblk(void *dp, struct dquot *dquot)
+{
+	struct util_dqblk *m = &dquot->dq_dqb;
+	struct v2r0_disk_dqblk *d = dp;
+
+	d->dqb_ihardlimit = ext2fs_cpu_to_le32(m->dqb_ihardlimit);
+	d->dqb_isoftlimit = ext2fs_cpu_to_le32(m->dqb_isoftlimit);
+	d->dqb_bhardlimit = ext2fs_cpu_to_le32(m->dqb_bhardlimit);
+	d->dqb_bsoftlimit = ext2fs_cpu_to_le32(m->dqb_bsoftlimit);
+	d->dqb_curinodes = ext2fs_cpu_to_le32(m->dqb_curinodes);
+	d->dqb_curspace = ext2fs_cpu_to_le64(m->dqb_curspace);
+	d->dqb_itime = ext2fs_cpu_to_le64(m->dqb_itime);
+	d->dqb_btime = ext2fs_cpu_to_le64(m->dqb_btime);
+	d->dqb_id = ext2fs_cpu_to_le32(dquot->dq_id);
+	if (qtree_entry_unused(&dquot->dq_h->qh_info.u.v2_mdqi.dqi_qtree, dp))
+		d->dqb_itime = ext2fs_cpu_to_le64(1);
+}
+
+static int v2r0_is_id(void *dp, struct dquot *dquot)
+{
+	struct v2r0_disk_dqblk *d = dp;
+	struct qtree_mem_dqinfo *info =
+			&dquot->dq_h->qh_info.u.v2_mdqi.dqi_qtree;
+
+	if (qtree_entry_unused(info, dp))
+		return 0;
+	return ext2fs_le32_to_cpu(d->dqb_id) == dquot->dq_id;
+}
+
+static struct qtree_fmt_operations v2r0_fmt_ops = {
+	.mem2disk_dqblk = v2r0_mem2diskdqblk,
+	.disk2mem_dqblk = v2r0_disk2memdqblk,
+	.is_id = v2r0_is_id,
+};
+
+/*
+ * Copy dquot from disk to memory
+ */
 static void v2r1_disk2memdqblk(struct dquot *dquot, void *dp)
 {
 	struct util_dqblk *m = &dquot->dq_dqb;
@@ -161,10 +223,11 @@
 
 	be_magic = ext2fs_be32_to_cpu((__force __be32)dqh.dqh_magic);
 	if (be_magic == file_magics[type]) {
-		log_err("Your quota file is stored in wrong endianity");
+		log_err("Your quota file is stored in wrong endianness");
 		return 0;
 	}
-	if (V2_VERSION != ext2fs_le32_to_cpu(dqh.dqh_version))
+	if (V2_VERSION_R0 != ext2fs_le32_to_cpu(dqh.dqh_version) &&
+	    V2_VERSION_R1 != ext2fs_le32_to_cpu(dqh.dqh_version))
 		return 0;
 	return 1;
 }
@@ -174,13 +237,25 @@
  */
 static int v2_init_io(struct quota_handle *h)
 {
+	struct v2_disk_dqheader dqh;
 	struct v2_disk_dqinfo ddqinfo;
 	struct v2_mem_dqinfo *info;
 	__u64 filesize;
+	int version;
 
-	h->qh_info.u.v2_mdqi.dqi_qtree.dqi_entry_size =
-		sizeof(struct v2r1_disk_dqblk);
-	h->qh_info.u.v2_mdqi.dqi_qtree.dqi_ops = &v2r1_fmt_ops;
+	if (!v2_read_header(h, &dqh))
+		return -1;
+	version = ext2fs_le32_to_cpu(dqh.dqh_version);
+
+	if (version == V2_VERSION_R0) {
+		h->qh_info.u.v2_mdqi.dqi_qtree.dqi_entry_size =
+			sizeof(struct v2r0_disk_dqblk);
+		h->qh_info.u.v2_mdqi.dqi_qtree.dqi_ops = &v2r0_fmt_ops;
+	} else {
+		h->qh_info.u.v2_mdqi.dqi_qtree.dqi_entry_size =
+			sizeof(struct v2r1_disk_dqblk);
+		h->qh_info.u.v2_mdqi.dqi_qtree.dqi_ops = &v2r1_fmt_ops;
+	}
 
 	/* Read information about quotafile */
 	if (h->e2fs_read(&h->qh_qf, V2_DQINFOOFF, &ddqinfo,
@@ -231,7 +306,7 @@
 
 	/* Write basic quota header */
 	ddqheader.dqh_magic = ext2fs_cpu_to_le32(file_magics[h->qh_type]);
-	ddqheader.dqh_version = ext2fs_cpu_to_le32(V2_VERSION);
+	ddqheader.dqh_version = ext2fs_cpu_to_le32(V2_VERSION_R1);
 	if (h->e2fs_write(&h->qh_qf, 0, &ddqheader, sizeof(ddqheader)) !=
 			sizeof(ddqheader))
 		return -1;
diff --git a/lib/support/quotaio_v2.h b/lib/support/quotaio_v2.h
index de2db27..35054ca 100644
--- a/lib/support/quotaio_v2.h
+++ b/lib/support/quotaio_v2.h
@@ -13,7 +13,8 @@
 /* Offset of info header in file */
 #define V2_DQINFOOFF		sizeof(struct v2_disk_dqheader)
 /* Supported version of quota-tree format */
-#define V2_VERSION 1
+#define V2_VERSION_R1 1
+#define V2_VERSION_R0 0
 
 struct v2_disk_dqheader {
 	__le32 dqh_magic;	/* Magic number identifying file */
@@ -36,6 +37,20 @@
 					 * free entry */
 } __attribute__ ((packed));
 
+struct v2r0_disk_dqblk {
+	__le32 dqb_id;	/* id this quota applies to */
+	__le32 dqb_ihardlimit;	/* absolute limit on allocated inodes */
+	__le32 dqb_isoftlimit;	/* preferred inode limit */
+	__le32 dqb_curinodes;	/* current # allocated inodes */
+	__le32 dqb_bhardlimit;	/* absolute limit on disk space
+					 * (in QUOTABLOCK_SIZE) */
+	__le32 dqb_bsoftlimit;	/* preferred limit on disk space
+					 * (in QUOTABLOCK_SIZE) */
+	__le64 dqb_curspace;	/* current space occupied (in bytes) */
+	__le64 dqb_btime;	/* time limit for excessive disk use */
+	__le64 dqb_itime;	/* time limit for excessive inode use */
+} __attribute__ ((packed));
+
 struct v2r1_disk_dqblk {
 	__le32 dqb_id;	/* id this quota applies to */
 	__le32 dqb_pad;
diff --git a/lib/support/sort_r.h b/lib/support/sort_r.h
index dc17e8a..8473ca8 100644
--- a/lib/support/sort_r.h
+++ b/lib/support/sort_r.h
@@ -24,12 +24,16 @@
 
 #define _SORT_R_INLINE inline
 
-#if (defined __APPLE__ || defined __MACH__ || defined __DARWIN__ || \
+#if (defined HAVE_GNU_QSORT_R)
+#  define _SORT_R_GNU
+#elif (defined HAVE_BSD_QSORT_R)
+#  define _SORT_R_BSD
+#elif (defined __gnu_hurd__ || defined __GNU__ || \
+       defined __MINGW32__ || defined __GLIBC__)
+#  define _SORT_R_GNU
+#elif (defined __APPLE__ || defined __MACH__ || defined __DARWIN__ || \
      defined __FreeBSD__ || defined __DragonFly__)
 #  define _SORT_R_BSD
-#elif (defined _GNU_SOURCE || defined __gnu_hurd__ || defined __GNU__ || \
-       defined __linux__ || defined __MINGW32__ || defined __GLIBC__)
-#  define _SORT_R_LINUX
 #elif (defined _WIN32 || defined _WIN64 || defined __WINDOWS__)
 #  define _SORT_R_WINDOWS
 #  undef _SORT_R_INLINE
@@ -260,7 +264,7 @@
 
   #endif
 
-  #if defined _SORT_R_LINUX
+  #if defined _SORT_R_GNU
 
     typedef int(* __compar_d_fn_t)(const void *, const void *, void *);
     extern void qsort_r(void *base, size_t nel, size_t width,
@@ -276,7 +280,7 @@
                                                   const void *_b, void *_arg),
                                     void *arg)
   {
-    #if defined _SORT_R_LINUX
+    #if defined _SORT_R_GNU
 
       #if defined __GLIBC__ && ((__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 8))
 
@@ -315,7 +319,7 @@
 
 #undef _SORT_R_INLINE
 #undef _SORT_R_WINDOWS
-#undef _SORT_R_LINUX
+#undef _SORT_R_GNU
 #undef _SORT_R_BSD
 
 #endif /* SORT_R_H_ */
diff --git a/lib/uuid/Android.bp b/lib/uuid/Android.bp
index 67968db..3e6048d 100644
--- a/lib/uuid/Android.bp
+++ b/lib/uuid/Android.bp
@@ -39,16 +39,9 @@
         "unparse.c",
         "uuid_time.c",
     ],
-    cflags: [
-        "-Wno-unused-function",
-        "-Wno-unused-parameter",
-    ],
     target: {
         windows: {
-            // Cannot suppress the _WIN32_WINNT redefined warning.
-            cflags: ["-Wno-error"],
-            include_dirs: [ "external/e2fsprogs/include/mingw" ],
-            enabled: true
+            enabled: true,
         },
     },
     header_libs: ["libext2-headers"],
diff --git a/lib/uuid/gen_uuid.c b/lib/uuid/gen_uuid.c
index 89179b6..2f02886 100644
--- a/lib/uuid/gen_uuid.c
+++ b/lib/uuid/gen_uuid.c
@@ -41,11 +41,6 @@
 
 #include "config.h"
 
-#ifdef _WIN32
-#define _WIN32_WINNT 0x0500
-#include <windows.h>
-#define UUID MYUUID
-#endif
 #include <stdio.h>
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
@@ -70,6 +65,9 @@
 #ifdef HAVE_SYS_IOCTL_H
 #include <sys/ioctl.h>
 #endif
+#ifdef HAVE_SYS_RANDOM_H
+#include <sys/random.h>
+#endif
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
@@ -114,27 +112,6 @@
 THREAD_LOCAL unsigned short jrand_seed[3];
 #endif
 
-#ifdef _WIN32
-#ifndef USE_MINGW
-static void gettimeofday (struct timeval *tv, void *dummy)
-{
-	FILETIME	ftime;
-	uint64_t	n;
-
-	GetSystemTimeAsFileTime (&ftime);
-	n = (((uint64_t) ftime.dwHighDateTime << 32)
-	     + (uint64_t) ftime.dwLowDateTime);
-	if (n) {
-		n /= 10;
-		n -= ((369 * 365 + 89) * (uint64_t) 86400) * 1000000;
-	}
-
-	tv->tv_sec = n / 1000000;
-	tv->tv_usec = n % 1000000;
-}
-#endif
-#endif
-
 static int get_random_fd(void)
 {
 	struct timeval	tv;
@@ -174,10 +151,21 @@
  */
 static void get_random_bytes(void *buf, int nbytes)
 {
-	int i, n = nbytes, fd = get_random_fd();
+	int i, n = nbytes, fd;
 	int lose_counter = 0;
 	unsigned char *cp = buf;
 
+#ifdef HAVE_GETRANDOM
+	i = getrandom(buf, nbytes, 0);
+	if (i == nbytes)
+		return;
+#endif
+#ifdef HAVE_GETENTROPY
+	if (getentropy(buf, nbytes) == 0)
+		return;
+#endif
+
+	fd = get_random_fd();
 	if (fd >= 0) {
 		while (n > 0) {
 			i = read(fd, cp, n);
diff --git a/lib/uuid/tst_uuid.c b/lib/uuid/tst_uuid.c
index 649bfbc..c1c2901 100644
--- a/lib/uuid/tst_uuid.c
+++ b/lib/uuid/tst_uuid.c
@@ -34,12 +34,6 @@
 
 #include "config.h"
 
-#ifdef _WIN32
-#define _WIN32_WINNT 0x0500
-#include <windows.h>
-#define UUID MYUUID
-#endif
-
 #include <stdio.h>
 #include <stdlib.h>
 
diff --git a/lib/uuid/uuid_time.c b/lib/uuid/uuid_time.c
index af837a2..b519d3c 100644
--- a/lib/uuid/uuid_time.c
+++ b/lib/uuid/uuid_time.c
@@ -36,12 +36,6 @@
 
 #include "config.h"
 
-#ifdef _WIN32
-#define _WIN32_WINNT 0x0500
-#include <windows.h>
-#define UUID MYUUID
-#endif
-
 #include <stdio.h>
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
diff --git a/misc/Android.bp b/misc/Android.bp
index 74ee223..0656bf4 100644
--- a/misc/Android.bp
+++ b/misc/Android.bp
@@ -22,16 +22,13 @@
 
     target: {
         windows: {
-            include_dirs: [ "external/e2fsprogs/include/mingw" ],
             enabled: true,
-            cflags: ["-Wno-unused-variable"],
         },
     },
 
     srcs: [
         "create_inode.c",
     ],
-    cflags: ["-Wno-error=format-extra-args"],
     shared_libs: [
         "libext2fs",
         "libext2_com_err",
@@ -43,9 +40,8 @@
 //########################################################################
 // Build mke2fs
 
-cc_binary {
-    name: "mke2fs",
-    host_supported: true,
+cc_defaults {
+    name: "mke2fs_defaults",
     recovery_available: true,
     defaults: ["e2fsprogs-defaults"],
 
@@ -55,11 +51,14 @@
         "mk_hugefiles.c",
         "default_profile.c",
     ],
-    cflags: [
-        "-Wno-error=format",
-        "-Wno-error=type-limits",
-        "-Wno-format-extra-args",
-    ],
+    stl: "libc++_static",
+    include_dirs: ["external/e2fsprogs/e2fsck"],
+}
+
+cc_binary {
+    name: "mke2fs",
+    host_supported: true,
+    defaults: ["mke2fs_defaults"],
     target: {
         host: {
             static_libs: [
@@ -81,18 +80,8 @@
             ],
         },
         windows: {
-            include_dirs: [ "external/e2fsprogs/include/mingw" ],
-            cflags: [
-                "-D_POSIX",
-                "-D__USE_MINGW_ALARM",
-                // mke2fs.c has a warning from gcc which cannot be suppressed:
-                // passing argument 3 of 'ext2fs_get_device_size' from
-                // incompatible pointer type
-                "-Wno-error"
-            ],
             ldflags: ["-static"],
-            host_ldlibs: ["-lws2_32"],
-            enabled: true
+            enabled: true,
         },
         android: {
             required: [
@@ -107,11 +96,39 @@
                 "libext2_com_err",
                 "libext2_e2p",
             ],
-            symlinks: ["mkfs.ext2", "mkfs.ext3", "mkfs.ext4"],
+            symlinks: [
+                "mkfs.ext2",
+                "mkfs.ext3",
+                "mkfs.ext4",
+            ],
         },
     },
-    stl: "libc++_static",
-    include_dirs: ["external/e2fsprogs/e2fsck"],
+}
+
+cc_binary {
+    name: "mke2fs.microdroid",
+    defaults: ["mke2fs_defaults"],
+    bootstrap: true,
+    target: {
+        android: {
+            required: [
+                "mke2fs.conf",
+            ],
+            shared_libs: [
+                "libext2fs",
+                "libext2_blkid",
+                "libext2_misc",
+                "libext2_uuid",
+                "libext2_quota",
+                "libext2_com_err",
+                "libext2_e2p",
+            ],
+            symlinks: ["mkfs.ext4.microdroid"],
+        },
+    },
+    installable: false,
+    stem: "mke2fs",
+    visibility: ["//packages/modules/Virtualization/microdroid"],
 }
 
 //##########################################################################
diff --git a/misc/Makefile.in b/misc/Makefile.in
index 3b949d3..e5420bb 100644
--- a/misc/Makefile.in
+++ b/misc/Makefile.in
@@ -360,15 +360,15 @@
 		$(STATIC_LIBS) $(STATIC_LIBE2P) $(STATIC_LIBUUID) \
 		$(LIBINTL) $(SYSLIBS) $(STATIC_LIBBLKID) $(LIBMAGIC)
 
-fsck: $(FSCK_OBJS) $(DEPLIBBLKID)
+fsck: $(FSCK_OBJS) $(DEPLIBBLKID) $(DEPLIBS)
 	$(E) "	LD $@"
 	$(Q) $(CC) $(ALL_LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBBLKID) \
-		$(LIBINTL) $(SYSLIBS)
+		$(LIBINTL) $(SYSLIBS) $(LIBS)
 
-fsck.profiled: $(FSCK_OBJS) $(PROFILED_DEPLIBBLKID)
+fsck.profiled: $(FSCK_OBJS) $(PROFILED_DEPLIBBLKID) $(PROFILED_DEPLIBS)
 	$(E) "	LD $@"
 	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o fsck.profiled $(PROFILED_FSCK_OBJS) \
-		$(PROFILED_LIBBLKID) $(LIBINTL) $(SYSLIBS)
+		$(PROFILED_LIBBLKID) $(LIBINTL) $(SYSLIBS) $(PROFILED_LIBS)
 
 badblocks: $(BADBLOCKS_OBJS) $(DEPLIBS)
 	$(E) "	LD $@"
@@ -736,8 +736,8 @@
  $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \
  $(top_srcdir)/lib/ext2fs/compiler.h $(top_srcdir)/lib/support/plausible.h \
  $(top_srcdir)/lib/support/quotaio.h $(top_srcdir)/lib/support/dqblk_v2.h \
- $(top_srcdir)/lib/support/quotaio_tree.h $(top_srcdir)/lib/e2p/e2p.h \
- $(srcdir)/util.h $(top_srcdir)/version.h \
+ $(top_srcdir)/lib/support/quotaio_tree.h $(top_srcdir)/lib/support/devname.h \
+ $(top_srcdir)/lib/e2p/e2p.h $(srcdir)/util.h $(top_srcdir)/version.h \
  $(top_srcdir)/lib/support/nls-enable.h
 mklost+found.o: $(srcdir)/mklost+found.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
@@ -799,7 +799,8 @@
  $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/nls-enable.h
 fsck.o: $(srcdir)/fsck.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/version.h \
- $(top_srcdir)/lib/support/nls-enable.h $(srcdir)/fsck.h
+ $(top_srcdir)/lib/support/devname.h $(top_srcdir)/lib/support/nls-enable.h \
+ $(srcdir)/fsck.h
 util.o: $(srcdir)/util.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \
  $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
@@ -808,7 +809,7 @@
  $(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/support/nls-enable.h \
- $(srcdir)/util.h
+ $(top_srcdir)/lib/support/devname.h $(srcdir)/util.h
 uuidgen.o: $(srcdir)/uuidgen.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/support/nls-enable.h
 blkid.o: $(srcdir)/blkid.c $(top_builddir)/lib/config.h \
@@ -826,7 +827,8 @@
  $(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 $(top_srcdir)/lib/ext2fs/fiemap.h
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h \
+ $(top_srcdir)/version.h
 base_device.o: $(srcdir)/base_device.c $(top_builddir)/lib/config.h \
  $(top_builddir)/lib/dirpaths.h $(srcdir)/fsck.h
 ismounted.o: $(srcdir)/ismounted.c $(top_builddir)/lib/config.h \
diff --git a/misc/badblocks.8.in b/misc/badblocks.8.in
index ca43593..6c96cdc 100644
--- a/misc/badblocks.8.in
+++ b/misc/badblocks.8.in
@@ -68,7 +68,7 @@
 .B mke2fs
 programs, it is important that the block size is properly specified,
 since the block numbers which are generated are very dependent on the
-block size in use by the filesystem.
+block size in use by the file system.
 For this reason, it is strongly recommended that
 users
 .B not
@@ -105,7 +105,7 @@
 .B \-f
 Normally, badblocks will refuse to do a read/write or a non-destructive
 test on a device which is mounted, since either can cause the system to
-potentially crash and/or damage the filesystem even if it is mounted
+potentially crash and/or damage the file system even if it is mounted
 read-only.  This can be overridden using the
 .B \-f
 flag, but should almost never be used --- if you think you're smarter
@@ -129,7 +129,7 @@
 option of
 .BR dumpe2fs (8)
 can be used to retrieve the list of blocks currently marked bad on
-an existing filesystem, in a format suitable for use with this option.
+an existing file system, in a format suitable for use with this option.
 .TP
 .B \-n
 Use non-destructive read-write mode.  By default only a non-destructive
diff --git a/misc/badblocks.c b/misc/badblocks.c
index afeb3da..2b5ff6d 100644
--- a/misc/badblocks.c
+++ b/misc/badblocks.c
@@ -389,7 +389,7 @@
 	/* Try the read */
 	if (d_flag)
 		gettimeofday(&tv1, NULL);
-	got = read (dev, buffer, try * block_size);
+	got = read (dev, buffer, (size_t) try * block_size);
 	if (d_flag)
 		gettimeofday(&tv2, NULL);
 	if (got < 0)
@@ -460,7 +460,7 @@
 		com_err (program_name, errno, "%s", _("during seek"));
 
 	/* Try the write */
-	got = write (dev, buffer, try * block_size);
+	got = write (dev, buffer, (size_t) try * block_size);
 	if (got < 0)
 		got = 0;
 	if (got & 511)
@@ -510,9 +510,9 @@
 	} while (next_bad && next_bad < first_block);
 
 	if (t_flag) {
-		blkbuf = allocate_buffer((blocks_at_once + 1) * block_size);
+		blkbuf = allocate_buffer(((size_t) blocks_at_once + 1) * block_size);
 	} else {
-		blkbuf = allocate_buffer(blocks_at_once * block_size);
+		blkbuf = allocate_buffer((size_t) blocks_at_once * block_size);
 	}
 	if (!blkbuf)
 	{
@@ -612,7 +612,7 @@
 	/* set up abend handler */
 	capture_terminate(NULL);
 
-	buffer = allocate_buffer(2 * blocks_at_once * block_size);
+	buffer = allocate_buffer((size_t) 2 * blocks_at_once * block_size);
 	read_buffer = buffer + blocks_at_once * block_size;
 
 	if (!buffer) {
@@ -771,7 +771,7 @@
 		ext2fs_badblocks_list_iterate (bb_iter, &next_bad);
 	} while (next_bad && next_bad < first_block);
 
-	blkbuf = allocate_buffer(3 * blocks_at_once * block_size);
+	blkbuf = allocate_buffer((size_t) 3 * blocks_at_once * block_size);
 	test_record = malloc(blocks_at_once * sizeof(struct saved_blk_record));
 	if (!blkbuf || !test_record) {
 		com_err(program_name, ENOMEM, "%s",
@@ -1036,10 +1036,13 @@
 
 	errno = 0;
 	ret = strtoul(str, &tmp, 0);
-	if (*tmp || errno || (ret > UINT_MAX) ||
-	    (ret == ULONG_MAX && errno == ERANGE)) {
+	if (*tmp || errno) {
 		com_err (program_name, 0, _("invalid %s - %s"), descr, str);
 		exit (1);
+	} else if ((ret > UINT_MAX) ||
+	    (ret == ULONG_MAX && errno == ERANGE)) {
+		com_err (program_name, 0, _("%s too large - %lu"), descr, ret);
+		exit (1);
 	}
 	return ret;
 }
@@ -1052,7 +1055,7 @@
 	char * input_file = NULL;
 	char * output_file = NULL;
 	FILE * in = NULL;
-	int block_size = 1024;
+	unsigned int block_size = 1024;
 	unsigned int blocks_at_once = 64;
 	blk64_t last_block, first_block;
 	int num_passes = 0;
@@ -1093,6 +1096,8 @@
 
 	if (argc && *argv)
 		program_name = *argv;
+	else
+		usage();
 	while ((c = getopt (argc, argv, "b:d:e:fi:o:svwnc:p:h:t:BX")) != EOF) {
 		switch (c) {
 		case 'b':
@@ -1200,17 +1205,21 @@
 			exit(1);
 		}
 	}
-	if ((block_size <= 0) || (block_size > (1 << 24)) ||
+	if ((block_size == 0) || (block_size > (1 << 24)) ||
 	    (block_size & (block_size - 1))) {
-		com_err(program_name, 0, _("Invalid block size: %d\n"),
+		com_err(program_name, 0, _("Invalid block size: %u\n"),
 			block_size);
 		exit(1);
 	}
-	if ((blocks_at_once <= 0) ||
-	    (((unsigned long long) block_size * blocks_at_once) > 0xFFFFFFFF)) {
-		com_err(program_name, 0, _("Invalid blocks_at_once: %d\n"),
+	if (blocks_at_once == 0) {
+		com_err(program_name, 0, _("Invalid number of blocks: %d\n"),
 			blocks_at_once);
 		exit(1);
+	} else if (((size_t) block_size * blocks_at_once) > SIZE_MAX / 3) {
+		/* maximum usage is in test_nd() */
+		com_err(program_name, 0, _("For block size %d, number of blocks too large: %d\n"),
+			block_size, blocks_at_once);
+		exit(1);
 	}
 
 	if (optind > argc - 1)
@@ -1218,7 +1227,7 @@
 	device_name = argv[optind++];
 	if (optind > argc - 1) {
 		errcode = ext2fs_get_device_size2(device_name,
-						 block_size,
+						 (int) block_size,
 						 &last_block);
 		if (errcode == EXT2_ET_UNIMPLEMENTED) {
 			com_err(program_name, 0, "%s",
@@ -1348,7 +1357,7 @@
 	do {
 		unsigned int bb_count;
 
-		bb_count = test_func(dev, last_block, block_size,
+		bb_count = test_func(dev, last_block, (int) block_size,
 				     first_block, blocks_at_once);
 		if (bb_count)
 			passes_clean = 0;
diff --git a/misc/base_device.c b/misc/base_device.c
index d1c1cd9..814a479 100644
--- a/misc/base_device.c
+++ b/misc/base_device.c
@@ -33,7 +33,7 @@
 
 /*
  * Required for the uber-silly devfs /dev/ide/host1/bus2/target3/lun3
- * pathames.
+ * pathnames.
  */
 static const char *devfs_hier[] = {
 	"host", "bus", "target", "lun", 0
diff --git a/misc/blkid.8.in b/misc/blkid.8.in
index 9c42686..79be1c0 100644
--- a/misc/blkid.8.in
+++ b/misc/blkid.8.in
@@ -41,7 +41,7 @@
 .B blkid
 program is the command-line interface to working with
 .BR libblkid (3)
-library.  It can determine the type of content (e.g. filesystem, swap)
+library.  It can determine the type of content (e.g. file system, swap)
 a block device holds, and also attributes (tokens, NAME=value pairs)
 from the content metadata (e.g. LABEL or UUID fields).
 .PP
diff --git a/misc/chattr.1.in b/misc/chattr.1.in
index 5e1eeb7..50c54e7 100644
--- a/misc/chattr.1.in
+++ b/misc/chattr.1.in
@@ -23,47 +23,80 @@
 .B chattr
 changes the file attributes on a Linux file system.
 .PP
-The format of a symbolic mode is +-=[aAcCdDeFijmPsStTux].
+The format of a symbolic
+.I mode
+is
+.BR +-= [ aAcCdDeFijmPsStTux ].
 .PP
-The operator '+' causes the selected attributes to be added to the
-existing attributes of the files; '-' causes them to be removed; and '='
+The operator
+.RB ' + '
+causes the selected attributes to be added to the
+existing attributes of the files;
+.RB ' - '
+causes them to be removed; and
+.RB ' = '
 causes them to be the only attributes that the files have.
 .PP
-The letters 'aAcCdDeFijmPsStTux' select the new attributes for the files:
-append only (a),
-no atime updates (A),
-compressed (c),
-no copy on write (C),
-no dump (d),
-synchronous directory updates (D),
-extent format (e),
-case-insensitive directory lookups (F),
-immutable (i),
-data journalling (j),
-don't compress (m),
-project hierarchy (P),
-secure deletion (s),
-synchronous updates (S),
-no tail-merging (t),
-top of directory hierarchy (T),
-undeletable (u),
-and direct access for files (x).
+The letters
+.RB ' aAcCdDeFijmPsStTux '
+select the new attributes for the files:
+append only
+.RB ( a ),
+no atime updates
+.RB ( A ),
+compressed
+.RB ( c ),
+no copy on write
+.RB ( C ),
+no dump
+.RB ( d ),
+synchronous directory updates
+.RB ( D ),
+extent format
+.RB ( e ),
+case-insensitive directory lookups
+.RB ( F ),
+immutable
+.RB ( i ),
+data journaling
+.RB ( j ),
+don't compress
+.RB ( m ),
+project hierarchy
+.RB ( P ),
+secure deletion
+.RB ( s ),
+synchronous updates
+.RB ( S ),
+no tail-merging
+.RB ( t ),
+top of directory hierarchy
+.RB ( T ),
+undeletable
+.RB ( u ),
+and direct access for files
+.RB ( x ).
 .PP
 The following attributes are read-only, and may be listed by
 .BR lsattr (1)
 but not modified by chattr:
-encrypted (E),
-indexed directory (I),
-inline data (N),
-and verity (V).
+encrypted
+.RB ( E ),
+indexed directory
+.RB ( I ),
+inline data
+.RB ( N ),
+and verity
+.RB ( V ).
 .PP
-Not all flags are supported or utilized by all filesystems; refer to
-filesystem-specific man pages such as
+Not all flags are supported or utilized by all file systems; refer to
+file system-specific man pages such as
 .BR btrfs (5),
 .BR ext4 (5),
+.BR mkfs.f2fs (8),
 and
 .BR xfs (5)
-for more filesystem-specific details.
+for more file system-specific details.
 .SH OPTIONS
 .TP
 .B \-R
@@ -128,7 +161,7 @@
 .TP
 .B E
 A file, directory, or symlink with the 'E' attribute set is encrypted by the
-filesystem.  This attribute may not be set or cleared using
+file system.  This attribute may not be set or cleared using
 .BR chattr (1),
 although it can be displayed by
 .BR lsattr (1).
@@ -157,7 +190,7 @@
 A file with the 'j' attribute has all of its data written to the ext3 or
 ext4 journal before being written to the file itself, if the file system
 is mounted with the "data=ordered" or "data=writeback" options and the
-file system has a journal.  When the filesystem is mounted with the
+file system has a journal.  When the file system is mounted with the
 "data=journal" option all file data is already journalled and this
 attribute has no effect.  Only the superuser or a process possessing the
 CAP_SYS_RESOURCE capability can set or clear this attribute.
@@ -195,10 +228,10 @@
 .TP
 .B t
 A file with the 't' attribute will not have a partial block fragment at
-the end of the file merged with other files (for those filesystems which
+the end of the file merged with other files (for those file systems which
 support tail-merging).  This is necessary for applications such as LILO
-which read the filesystem directly, and which don't understand tail-merged
-files.  Note: As of this writing, the ext2, ext3, and ext4 filesystems do
+which read the file system directly, and which don't understand tail-merged
+files.  Note: As of this writing, the ext2, ext3, and ext4 file systems do
 not support tail-merging.
 .TP
 .B T
@@ -219,16 +252,20 @@
 document.
 .TP
 .B x
-The 'x' attribute can be set on a directory or file.  If the attribute
-is set on an existing directory, it will be inherited by all files and
-subdirectories that are subsequently created in the directory.  If an
-existing directory has contained some files and subdirectories, modifying
-the attribute on the parent directory doesn't change the attributes on
-these files and subdirectories.
+A file with the 'x' requests the use of direct access (dax) mode, if the
+kernel supports DAX.  This can be overridden by the 'dax=never' mount
+option.  For more information see the kernel documentation for dax:
+<https://www.kernel.org/doc/html/latest/filesystems/dax.html>.
+.IP
+If the attribute is set on an existing directory, it will be inherited
+by all files and subdirectories that are subsequently created in the
+directory.  If an existing directory has contained some files and
+subdirectories, modifying the attribute on the parent directory doesn't
+change the attributes on these files and subdirectories.
 .TP
 .B V
 A file with the 'V' attribute set has fs-verity enabled.  It cannot be
-written to, and the filesystem will automatically verify all data read
+written to, and the file system will automatically verify all data read
 from it against a cryptographic hash that covers the entire file's
 contents, e.g. via a Merkle tree.  This makes it possible to efficiently
 authenticate the file.  This attribute may not be set or cleared using
@@ -242,7 +279,7 @@
 maintained by Theodore Ts'o <tytso@alum.mit.edu>.
 .SH BUGS AND LIMITATIONS
 The 'c', 's',  and 'u' attributes are not honored
-by the ext2, ext3, and ext4 filesystems as implemented in the current
+by the ext2, ext3, and ext4 file systems as implemented in the current
 mainline Linux kernels.
 Setting 'a' and 'i' attributes will not affect the ability to write
 to already existing file descriptors.
@@ -258,4 +295,5 @@
 .BR lsattr (1),
 .BR btrfs (5),
 .BR ext4 (5),
+.BR mkfs.f2fs (8),
 .BR xfs (5).
diff --git a/misc/chattr.c b/misc/chattr.c
index 644ef4e..c7382a3 100644
--- a/misc/chattr.c
+++ b/misc/chattr.c
@@ -86,7 +86,7 @@
 static void usage(void)
 {
 	fprintf(stderr,
-		_("Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"),
+		_("Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"),
 		program_name);
 	exit(1);
 }
diff --git a/misc/create_inode.c b/misc/create_inode.c
index 54d8d34..a3a34cd 100644
--- a/misc/create_inode.c
+++ b/misc/create_inode.c
@@ -150,6 +150,8 @@
 
 	size = llistxattr(filename, NULL, 0);
 	if (size == -1) {
+		if (errno == ENOTSUP)
+			return 0;
 		retval = errno;
 		com_err(__func__, retval, _("while listing attributes of \"%s\""),
 			filename);
@@ -234,7 +236,6 @@
 		retval = retval ? retval : close_retval;
 	}
 	return retval;
-	return 0;
 }
 #else /* HAVE_LLISTXATTR */
 static errcode_t set_inode_xattr(ext2_filsys fs EXT2FS_ATTR((unused)),
@@ -764,37 +765,33 @@
 			size_t new_list_size = temp_list_size + 32;
 			struct dirent **new_list = (struct dirent**)realloc(
 				temp_list, new_list_size * sizeof(struct dirent*));
-			if (new_list == NULL) {
-				goto out;
-			}
+			if (new_list == NULL)
+				goto out_err;
 			temp_list_size = new_list_size;
 			temp_list = new_list;
 		}
 		// add the copy of dirent to the list
 		temp_list[num_dent] = (struct dirent*)malloc((dent->d_reclen + 3) & ~3);
+		if (!temp_list[num_dent])
+			goto out_err;
 		memcpy(temp_list[num_dent], dent, dent->d_reclen);
 		num_dent++;
 	}
+	closedir(dir);
 
 	if (compar != NULL) {
 		qsort(temp_list, num_dent, sizeof(struct dirent*),
 		      (int (*)(const void*, const void*))compar);
 	}
-
-        // release the temp list
 	*name_list = temp_list;
-	temp_list = NULL;
-
-out:
-	if (temp_list != NULL) {
-		while (num_dent > 0) {
-			free(temp_list[--num_dent]);
-		}
-		free(temp_list);
-		num_dent = -1;
-	}
-	closedir(dir);
 	return num_dent;
+
+out_err:
+	closedir(dir);
+	while (num_dent > 0)
+		free(temp_list[--num_dent]);
+	free(temp_list);
+	return -1;
 }
 
 static int alphasort(const struct dirent **a, const struct dirent **b) {
@@ -812,11 +809,9 @@
 	const char	*name;
 	struct dirent	**dent;
 	struct stat	st;
-	char		*ln_target = NULL;
 	unsigned int	save_inode;
 	ext2_ino_t	ino;
 	errcode_t	retval = 0;
-	int		read_cnt;
 	int		hdlink;
 	size_t		cur_dir_path_len;
 	int		i, num_dents;
@@ -899,7 +894,10 @@
 				goto out;
 			}
 			break;
-		case S_IFLNK:
+		case S_IFLNK: {
+			char *ln_target;
+			int read_cnt;
+
 			ln_target = malloc(st.st_size + 1);
 			if (ln_target == NULL) {
 				com_err(__func__, retval,
@@ -934,7 +932,8 @@
 				goto out;
 			}
 			break;
-#endif
+		}
+#endif /* !_WIN32 */
 		case S_IFREG:
 			retval = do_write_internal(fs, parent_ino, name, name,
 						   root);
diff --git a/misc/default_profile.c b/misc/default_profile.c
index 585a34d..e882b70 100644
--- a/misc/default_profile.c
+++ b/misc/default_profile.c
@@ -13,16 +13,13 @@
   "	}\n"
   "	ext4 = {\n"
   "		features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize\n"
-  "		inode_size = 256\n"
   "	}\n"
   "	small = {\n"
   "		blocksize = 1024\n"
-  "		inode_size = 128\n"
   "		inode_ratio = 4096\n"
   "	}\n"
   "	floppy = {\n"
   "		blocksize = 1024\n"
-  "		inode_size = 128\n"
   "		inode_ratio = 8192\n"
   "	}\n"
   "	big = {\n"
@@ -45,5 +42,6 @@
   "	hurd = {\n"
   "	     blocksize = 4096\n"
   "	     inode_size = 128\n"
+  "	     warn_y2038_dates = 0\n"
   "	}\n"
 ;
diff --git a/misc/dumpe2fs.8.in b/misc/dumpe2fs.8.in
index ce3214f..dd27804 100644
--- a/misc/dumpe2fs.8.in
+++ b/misc/dumpe2fs.8.in
@@ -4,7 +4,7 @@
 .\" 
 .TH DUMPE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-dumpe2fs \- dump ext2/ext3/ext4 filesystem information
+dumpe2fs \- dump ext2/ext3/ext4 file system information
 .SH SYNOPSIS
 .B dumpe2fs
 [
@@ -19,35 +19,35 @@
 .I device
 .SH DESCRIPTION
 .B dumpe2fs
-prints the super block and blocks group information for the filesystem
+prints the super block and blocks group information for the file system
 present on
 .I device.
 .PP
 .B Note:
-When used with a mounted filesystem, the printed
+When used with a mounted file system, the printed
 information may be old or inconsistent.
 .SH OPTIONS
 .TP
 .B \-b
-print the blocks which are reserved as bad in the filesystem.
+print the blocks which are reserved as bad in the file system.
 .TP
 .B \-o superblock=\fIsuperblock
 use the block
 .I superblock
-when examining the filesystem.
-This option is not usually needed except by a filesystem wizard who
-is examining the remains of a very badly corrupted filesystem.
+when examining the file system.
+This option is not usually needed except by a file system wizard who
+is examining the remains of a very badly corrupted file system.
 .TP
 .B \-o blocksize=\fIblocksize
 use blocks of
 .I blocksize
-bytes when examining the filesystem.
-This option is not usually needed except by a filesystem wizard who
-is examining the remains of a very badly corrupted filesystem.
+bytes when examining the file system.
+This option is not usually needed except by a file system wizard who
+is examining the remains of a very badly corrupted file system.
 .TP
 .B \-f
-force dumpe2fs to display a filesystem even though it may have some
-filesystem feature flags which dumpe2fs may not understand (and which
+force dumpe2fs to display a file system even though it may have some
+file system feature flags which dumpe2fs may not understand (and which
 can cause some of dumpe2fs's display to be suspect).
 .TP
 .B \-g
@@ -63,7 +63,7 @@
 group descriptor detail information.
 .TP
 .B \-i
-display the filesystem data from an image file created by
+display the file system data from an image file created by
 .BR e2image ,
 using
 .I device
@@ -72,7 +72,7 @@
 .B \-m
 If the
 .B mmp
-feature is enabled on the filesystem, check if
+feature is enabled on the file system, check if
 .I device
 is in use by another node, see
 .BR e2mmpstatus (8)
@@ -96,7 +96,7 @@
 .B -m
 is specified.
 .SH BUGS
-You may need to know the physical filesystem structure to understand the
+You may need to know the physical file system structure to understand the
 output.
 .SH AUTHOR
 .B dumpe2fs
diff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c
index 3f4fc4e..7c080ed 100644
--- a/misc/dumpe2fs.c
+++ b/misc/dumpe2fs.c
@@ -338,6 +338,7 @@
 	if (retval) {
 		com_err("ext2fs_badblocks_list_iterate_begin", retval,
 			"%s", _("while printing bad block list"));
+		ext2fs_badblocks_list_free(bb_list);
 		return;
 	}
 	if (dump) {
@@ -618,7 +619,8 @@
 			mmp_check = 1;
 			header_only = 1;
 		}
-	}
+	} else
+		usage();
 
 	if (!mmp_check)
 		fprintf(stderr, "dumpe2fs %s (%s)\n", E2FSPROGS_VERSION,
diff --git a/misc/e2freefrag.8.in b/misc/e2freefrag.8.in
index 51faf43..e77bcdb 100644
--- a/misc/e2freefrag.8.in
+++ b/misc/e2freefrag.8.in
@@ -16,7 +16,7 @@
 .B e2freefrag
 is used to report free space fragmentation on ext2/3/4 file systems.
 .I filesys
-is the filesystem device name (e.g.
+is the file system device name (e.g.
 .IR /dev/hdc1 ", " /dev/md0 ).
 The
 .B e2freefrag
@@ -25,8 +25,8 @@
 free blocks of size and of alignment
 .I chunk_kb
 is reported.  It also displays the minimum/maximum/average free chunk size in
-the filesystem, along with a histogram of all free chunks.  This information
-can be used to gauge the level of free space fragmentation in the filesystem.
+the file system, along with a histogram of all free chunks.  This information
+can be used to gauge the level of free space fragmentation in the file system.
 .SH OPTIONS
 .TP
 .BI \-c " chunk_kb"
@@ -35,7 +35,7 @@
 will print how many free chunks of size
 .I chunk_kb
 are available in units of kilobytes (Kb).  The chunk size must be a
-power of two and be larger than filesystem block size.
+power of two and be larger than file system block size.
 .TP
 .B \-h
 Print the usage of the program.
diff --git a/misc/e2image.8.in b/misc/e2image.8.in
index ef12486..90ea0c2 100644
--- a/misc/e2image.8.in
+++ b/misc/e2image.8.in
@@ -1,18 +1,14 @@
 .\" -*- nroff -*-
 .\" Copyright 2001 by Theodore Ts'o.  All Rights Reserved.
 .\" This file may be copied under the terms of the GNU Public License.
-.\" 
+.\"
 .TH E2IMAGE 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-e2image \- Save critical ext2/ext3/ext4 filesystem metadata to a file
+e2image \- Save critical ext2/ext3/ext4 file system metadata to a file
+
 .SH SYNOPSIS
 .B e2image
-[
-.B \-r|\-Q
-]
-[
-.B \-f
-]
+.RB [ \-r | \-Q " [" \-af ]]
 [
 .B \-b
 .I superblock
@@ -21,18 +17,8 @@
 .B \-B
 .I blocksize
 ]
-.I device
-.I image-file
-.br
-.B e2image
-.B \-I
-.I device
-.I image-file
-.br
-.B e2image
-.B \-ra
 [
-.B \-cfnp
+.B \-cnps
 ]
 [
 .B \-o
@@ -42,14 +28,18 @@
 .B \-O
 .I dest_offset
 ]
-.I src_fs
-[
-.I dest_fs
-]
+.I device
+.I image-file
+.br
+.B e2image
+.B \-I
+.I device
+.I image-file
+
 .SH DESCRIPTION
 The
 .B e2image
-program will save critical ext2, ext3, or ext4 filesystem metadata located on
+program will save critical ext2, ext3, or ext4 file system metadata located on
 .I device
 to a file specified by
 .IR image-file .
@@ -59,24 +49,40 @@
 .BR  debugfs ,
 by using the
 .B \-i
-option to those programs.  This can assist an expert in
-recovering catastrophically corrupted filesystems.  In the future,
-e2fsck will be enhanced to be able to use the image file to help
-recover a badly damaged filesystem.
+option to those programs.  This can assist an expert in recovering
+catastrophically corrupted file systems.
 .PP
-When saving an e2image for debugging purposes, using either the
-.B \-r
-or
-.B \-Q
-options, the filesystem must be unmounted or be mounted read/only, in order
-for the image file to be in a consistent state.  This requirement can be
-overridden using the
-.B \-f
-option, but the resulting image file is very likely not going to be useful.
+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.
+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.
+.PP
+To save disk space,
+.B e2image
+creates the image file as a sparse file, or in QCOW2 format.  Hence, if
+the sparse image file needs to be copied to another location, it should
+either be compressed first or copied using the
+.B \-\-sparse=always
+option to the GNU version of
+.BR cp (1).
+This does not apply to the QCOW2 image, which is not sparse.
+.PP
+The size of an ext2 image file depends primarily on the size of the
+file systems and how many inodes are in use.  For a typical 10 Gigabyte
+file system, with 200,000 inodes in use out of 1.2 million inodes, the image
+file will be approximately 35 Megabytes; a 4 Gigabyte file system with 15,000
+inodes in use out of 550,000 inodes will result in a 3 Megabyte image file.
+Image files tend to be quite compressible; an image file taking up 32 Megabytes
+of space on disk will generally compress down to 3 or 4 Megabytes.
 .PP
 If
 .I image-file
-is \-, then the output of
+is
+.BR \- ,
+then the output of
 .B e2image
 will be sent to standard output, so that the output can be piped to
 another program, such as
@@ -87,125 +93,172 @@
 option, since the process of creating a normal image file, or QCOW2
 image currently
 requires random access to the file, which cannot be done using a
-pipe.  This restriction will hopefully be lifted in a future version of
-.BR e2image .)
-.PP
-It is a very good idea to create image files for all of
-filesystems 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.
-The image file should be stored on some filesystem other than
-the filesystem whose data it contains, to ensure that this data is
-accessible in the case where the filesystem has been badly damaged.
-.PP
-To save disk space,
+pipe.
+
+.SH OPTIONS
+.TP
+.B \-a
+Include file data in the image file.  Normally
 .B e2image
-creates the image file as a sparse file, or in QCOW2 format.
-Hence, if the sparse image file
-needs to be copied to another location, it should
-either be compressed first or copied using the
-.B \-\-sparse=always
-option to the GNU version of
-.BR cp .
-This does not apply to the QCOW2 image, which is not sparse.
-.PP
-The size of an ext2 image file depends primarily on the size of the
-filesystems and how many inodes are in use.  For a typical 10 gigabyte
-filesystem, with 200,000 inodes in use out of 1.2 million inodes, the
-image file will be approximately 35 megabytes; a 4 gigabyte filesystem with
-15,000 inodes in use out of 550,000 inodes will result in a 3 megabyte
-image file.  Image files tend to be quite
-compressible; an image file taking up 32 megabytes of space on
-disk will generally compress down to 3 or 4 megabytes.
-.PP
-.SH RESTORING FILESYSTEM METADATA USING AN IMAGE FILE
-.PP
-The
+only includes fs metadata, not regular file data.  This option will
+produce an image that is suitable to use to clone the entire FS or
+for backup purposes.  Note that this option only works with the
+raw
+.RI ( \-r )
+or QCOW2
+.RI ( \-Q )
+formats.  In conjunction with the
+.B \-r
+option it is possible to clone all and only the used blocks of one
+file system to another device/image file.
+.TP
+.BI \-b " superblock"
+Get image from partition with broken primary superblock by using
+the superblock located at file system block number
+.IR superblock .
+The partition is copied as-is including broken primary superblock.
+.TP
+.BI \-B " blocksize"
+Set the file system blocksize in bytes.  Normally,
+.B e2image
+will search for the superblock at various different block sizes in an
+attempt to find the appropriate blocksize. This search can be fooled in
+some cases.  This option forces e2fsck to only try locating the superblock
+with a particular blocksize. If the superblock is not found, e2image will
+terminate with a fatal error.
+.TP
+.BI \-c
+Compare each block to be copied from the source
+.I device
+to the corresponding block in the target
+.IR image-file .
+If both are already the same, the write will be skipped.  This is
+useful if the file system is being cloned to a flash-based storage device
+(where reads are very fast and where it is desirable to avoid unnecessary
+writes to reduce write wear on the device).
+.TP
+.B \-f
+Override the read-only requirement for the source file system when saving
+the image file using the
+.B \-r
+and
+.B \-Q
+options.  Normally, if the source file system is in use, the resulting image
+file is very likely not going to be useful. In some cases where the source
+file system is in constant use this may be better than no image at all.
+.TP
 .B \-I
-option will cause e2image to install the metadata stored in the image
-file back to the device.  It can be used to restore the filesystem metadata
-back to the device in emergency situations.
+install the metadata stored in the image file back to the device.
+It can be used to restore the file system metadata back to the device
+in emergency situations.
 .PP
 .B WARNING!!!!
 The
 .B \-I
 option should only be used as a desperation measure when other
-alternatives have failed.  If the filesystem has changed since the image
+alternatives have failed.  If the file system has changed since the image
 file was created, data
 .B will
-be lost.  In general, you should make a full image
-backup of the filesystem first, in case you wish to try other recovery
-strategies afterwards.
-.PP
+be lost.  In general, you should make another full image backup of the
+file system first, in case you wish to try other recovery strategies afterward.
+.TP
+.B \-n
+Cause all image writes to be skipped, and instead only print the block
+numbers that would have been written.
+.TP
+.BI \-o " src_offset"
+Specify offset of the image to be read from the start of the source
+.I device
+in bytes.  See
+.B OFFSETS
+for more details.
+.TP
+.BI \-O " tgt_offset"
+Specify offset of the image to be written from the start of the target
+.I image-file
+in bytes.  See
+.B OFFSETS
+for more details.
+.TP
+.B \-p
+Show progress of image-file creation.
+.TP
+.B \-Q
+Create a QCOW2-format image file instead of a normal image file, suitable
+for use by virtual machine images, and other tools that can use the
+.B .qcow
+image format. See
+.B QCOW2 IMAGE FILES
+below for details.
+.TP
+.B \-r
+Create a raw image file instead of a normal image file.  See
+.B RAW IMAGE FILES
+below for details.
+.TP
+.B \-s
+Scramble directory entries and zero out unused portions of the directory
+blocks in the written image file to avoid revealing information about
+the contents of the file system.  However, this will prevent analysis of
+problems related to hash-tree indexed directories.
+
 .SH RAW IMAGE FILES
 The
 .B \-r
-option will create a raw image file instead of a normal image file.
-A raw image file differs
-from a normal image file in two ways.  First, the filesystem metadata is
-placed in the proper position so that e2fsck, dumpe2fs, debugfs,
-etc.\& can be run directly on the raw image file.  In order to minimize
-the amount of disk space consumed by a raw image file, the file is
+option will create a raw image file, which differs
+from a normal image file in two ways.  First, the file system metadata is
+placed in the same relative offset within
+.I image-file
+as it is in the
+.I device
+so that
+.BR debugfs (8),
+.BR dumpe2fs (8),
+.BR e2fsck (8),
+.BR losetup (8),
+etc. and 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
 how to create sparse files; the file will become as large as the
-filesystem itself!)  Secondly, the raw image file also includes indirect
-blocks and directory blocks, which the standard image file does not have,
-although this may change in the future.
+file system itself!)  Secondly, the raw image file also includes indirect
+blocks and directory blocks, which the standard image file does not have.
 .PP
-Raw image files are sometimes used when sending filesystems to the maintainer
+Raw image files are sometimes used when sending file systems to the maintainer
 as part of bug reports to e2fsprogs.  When used in this capacity, the
-recommended command is as follows (replace hda1 with the appropriate device):
+recommended command is as follows (replace
+.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.
 However, the filenames in the directory blocks can still reveal
-information about the contents of the filesystem that the bug reporter
+information about the contents of the file system that the bug reporter
 may wish to keep confidential.  To address this concern, the
 .B \-s
-option can be specified.  This will cause
-.B e2image
-to scramble directory entries and zero out any unused portions
-of the directory blocks before writing the image file.  However,
-the
-.B \-s
-option will prevent analysis of problems related to hash-tree indexed
-directories.
+option can be specified to scramble the filenames in the image.
 .PP
-Option
-.B \-b
-.I superblock
-can be used to get image from partition with broken primary superblock.
-The partition is copied as-is including broken primary superblock.
-.PP
-Option
-.B \-B
-.I blocksize
-can be used to set superblock block size. Normally, e2fsck will search
-for the superblock at various different block sizes in an attempt to find
-the appropriate blocksize. This search can be fooled in some cases.  This
-option forces e2fsck to only try locating the superblock at a particular
-blocksize. If the superblock is not found, e2fsck will terminate with a
-fatal error.
-.PP
-Note that this will work even if you substitute "/dev/hda1" for another raw
+Note that this will work even if you substitute
+.B /dev/hda1
+for another raw
 disk image, or QCOW2 image previously created by
 .BR e2image .
-.PP
+
 .SH QCOW2 IMAGE FILES
 The
 .B \-Q
 option will create a QCOW2 image file instead of a normal, or raw image file.
 A QCOW2 image contains all the information the raw image does, however unlike
-the raw image it is not sparse. The QCOW2 image minimize the amount of disk
-space by storing data in special format with pack data closely together, hence
-avoiding holes while still minimizing size.
+the raw image it is not sparse. The QCOW2 image minimize the amount of space
+used by the image by storing it in special format which packs data closely
+together, hence avoiding holes while still minimizing size.
 .PP
-In order to send filesystem to the maintainer as a part of bug report to
-e2fsprogs, use following commands (replace hda1 with the appropriate device):
+In order to send file system to the maintainer as a part of bug report to
+e2fsprogs, use following commands (replace
+.B hda1
+with the appropriate device for your system):
 .PP
 .br
 \	\fBe2image \-Q /dev/hda1 hda1.qcow2\fR
@@ -213,105 +266,70 @@
 \	\fBbzip2 -z hda1.qcow2\fR
 .PP
 This will only send the metadata information, without any data blocks.
-However, the filenames in the directory blocks can still reveal
-information about the contents of the filesystem that the bug reporter
-may wish to keep confidential.  To address this concern, the
+As described for
+.B RAW IMAGE FILES
+the
 .B \-s
-option can be specified.  This will cause
-.B e2image
-to scramble directory entries and zero out any unused portions
-of the directory blocks before writing the image file.  However, the
-.B \-s
-option will prevent analysis of problems related to hash-tree indexed
-directories.
+option can be specified to scramble the file system names in the image.
 .PP
-Note that QCOW2 image created by
+Note that the QCOW2 image created by
 .B e2image
-is regular QCOW2 image and can be processed by tools aware of QCOW2 format
+is a regular QCOW2 image and can be processed by tools aware of QCOW2 format
 such as for example
 .BR qemu-img .
 .PP
-You can convert a qcow2 image into a raw image with:
+You can convert a .qcow2 image into a raw image with:
 .PP
 .br
 \	\fBe2image \-r hda1.qcow2 hda1.raw\fR
 .br
 .PP
-This can be useful to write a qcow2 image containing all data to a
+This can be useful to write a QCOW2 image containing all data to a
 sparse image file where it can be loop mounted, or to a disk partition.
-Note that this may not work with qcow2 images not generated by e2image.
-.PP
-Options
-.B \-b
-.I superblock
-and
-.B \-B
-.I blocksize
-can be used same way as for raw images.
-.PP
-.SH INCLUDING DATA
-Normally
-.B e2image
-only includes fs metadata, not regular file data.  The
-.B \-a
-option can be specified to include all data.  This will
-give an image that is suitable to use to clone the entire FS or
-for backup purposes.  Note that this option only works with the
-raw or QCOW2 formats.  The
-.B \-p
-switch may be given to show progress.  If the file system is being
-cloned to a flash-based storage device (where reads are very fast and
-where it is desirable to avoid unnecessary writes to reduce write wear
-on the device), the
-.B \-c
-option which cause e2image to try reading a block from the destination
-to see if it is identical to the block which
-.B e2image
-is about to copy.  If the block is already the same, the write can be
-skipped.  The
-.B \-n
-option will cause all of the writes to be no-ops, and print the blocks
-that would have been written.
-.PP
+Note that this may not work with QCOW2 images not generated by e2image.
+
 .SH OFFSETS
-Normally a filesystem starts at the beginning of a partition, and
+Normally a file system starts at the beginning of a partition, and
 .B e2image
 is run on the partition.  When working with image files, you don't
 have the option of using the partition device, so you can specify
-the offset where the filesystem starts directly with the
+the offset where the file system starts directly with the
 .B \-o
 option.  Similarly the
 .B \-O
 option specifies the offset that should be seeked to in the destination
-before writing the filesystem.
+before writing the file system.
 .PP
 For example, if you have a
 .B dd
 image of a whole hard drive that contains an ext2 fs in a partition
-starting at 1 MiB, you can clone that fs with:
+starting at 1 MiB, you can clone that image to a block device with:
 .PP
 .br
 \	\fBe2image \-aro 1048576 img /dev/sda1\fR
 .br
 .PP
-Or you can clone a fs into an image file, leaving room in the first
-MiB for a partition table with:
+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
 .br
 .PP
 If you specify at least one offset, and only one file, an in-place
-move will be performed, allowing you to safely move the filesystem
+move will be performed, allowing you to safely move the file system
 from one offset to another.
+
 .SH AUTHOR
 .B e2image
 was written by Theodore Ts'o (tytso@mit.edu).
+
 .SH AVAILABILITY
 .B e2image
 is part of the e2fsprogs package and is available from
 http://e2fsprogs.sourceforge.net.
+
 .SH SEE ALSO
 .BR dumpe2fs (8),
 .BR debugfs (8)
-
+.BR e2fsck (8)
diff --git a/misc/e2image.c b/misc/e2image.c
index 347759b..8b4c067 100644
--- a/misc/e2image.c
+++ b/misc/e2image.c
@@ -52,6 +52,7 @@
 
 #include "support/nls-enable.h"
 #include "support/plausible.h"
+#include "support/quotaio.h"
 #include "../version.h"
 
 #define QCOW_OFLAG_COPIED     (1ULL << 63)
@@ -942,7 +943,7 @@
 	header->refcount_table_clusters =
 		ext2fs_cpu_to_be32(image->refcount.refcount_table_clusters);
 	offset += image->cluster_size;
-	offset += image->refcount.refcount_table_clusters <<
+	offset += (blk64_t) image->refcount.refcount_table_clusters <<
 		image->cluster_bits;
 
 	/* Make space for L2 tables */
@@ -1262,7 +1263,7 @@
 			offset += img->cluster_size;
 		}
 	}
-	update_refcount(fd, img, offset, offset);
+	(void) update_refcount(fd, img, offset, offset);
 	flush_l2_cache(img);
 	sync_refcount(fd, img);
 
@@ -1305,7 +1306,7 @@
 	}
 
 	if (superblock) {
-		int j;
+		unsigned int j;
 
 		ext2fs_mark_block_bitmap2(meta_block_map, superblock);
 		meta_blocks_count++;
@@ -1365,9 +1366,11 @@
 		pb.ino = ino;
 		pb.is_dir = LINUX_S_ISDIR(inode.i_mode);
 		if (LINUX_S_ISDIR(inode.i_mode) ||
-		    (LINUX_S_ISLNK(inode.i_mode) &&
-		     ext2fs_inode_has_valid_blocks2(fs, &inode)) ||
-		    ino == fs->super->s_journal_inum) {
+		    LINUX_S_ISLNK(inode.i_mode) ||
+		    ino == fs->super->s_journal_inum ||
+		    ino == quota_type2inum(USRQUOTA, fs->super) ||
+		    ino == quota_type2inum(GRPQUOTA, fs->super) ||
+		    ino == quota_type2inum(PRJQUOTA, fs->super)) {
 			retval = ext2fs_block_iterate3(fs, ino,
 					BLOCK_FLAG_READ_ONLY, block_buf,
 					process_dir_block, &pb);
@@ -1514,6 +1517,8 @@
 		 E2FSPROGS_DATE);
 	if (argc && *argv)
 		program_name = *argv;
+	else
+		usage();
 	add_error_table(&et_ext2_error_table);
 	while ((c = getopt(argc, argv, "b:B:nrsIQafo:O:pc")) != EOF)
 		switch (c) {
diff --git a/misc/e2initrd_helper.c b/misc/e2initrd_helper.c
index 436aab8..b39fe15 100644
--- a/misc/e2initrd_helper.c
+++ b/misc/e2initrd_helper.c
@@ -36,6 +36,7 @@
 #include "ext2fs/ext2fs.h"
 #include "blkid/blkid.h"
 #include "support/nls-enable.h"
+#include "support/devname.h"
 
 #include "../version.h"
 
@@ -262,7 +263,7 @@
 	parse_escape(freq);
 	parse_escape(passno);
 
-	dev = blkid_get_devname(cache, device, NULL);
+	dev = get_devname(cache, device, NULL);
 	if (dev)
 		device = dev;
 
@@ -325,7 +326,7 @@
 	}
 	if (optind < argc - 1 || optind == argc)
 		usage();
-	device_name = blkid_get_devname(NULL, argv[optind], NULL);
+	device_name = get_devname(NULL, argv[optind], NULL);
 	if (!device_name) {
 		com_err(program_name, 0, _("Unable to resolve '%s'"),
 			argv[optind]);
diff --git a/misc/e2label.8.in b/misc/e2label.8.in
index 2f45707..1dc9619 100644
--- a/misc/e2label.8.in
+++ b/misc/e2label.8.in
@@ -4,7 +4,7 @@
 .\" 
 .TH E2LABEL 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-e2label \- Change the label on an ext2/ext3/ext4 filesystem
+e2label \- Change the label on an ext2/ext3/ext4 file system
 .SH SYNOPSIS
 .B e2label
 .I device
@@ -14,7 +14,7 @@
 .SH DESCRIPTION
 .B e2label
 will display or change the volume label on the ext2, ext3, or ext4
-filesystem located on
+file system located on
 .I device.
 .PP
 If the optional argument
diff --git a/misc/e2mmpstatus.8.in b/misc/e2mmpstatus.8.in
index 5f0e9db..c7ed929 100644
--- a/misc/e2mmpstatus.8.in
+++ b/misc/e2mmpstatus.8.in
@@ -3,10 +3,10 @@
 .\"
 .TH E2MMPSTATUS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-e2mmpstatus \- Check MMP status of an ext4 filesystem
+e2mmpstatus \- Check MMP status of an ext4 file system
 .SH SYNOPSIS
 .BR e2mmpstatus " [" \-i ]
-.RI < filesystem >
+.RI < file system >
 .SH OPTIONS
 .TP
 .B \-i
@@ -14,29 +14,29 @@
 .SH DESCRIPTION
 .B e2mmpstatus
 is used to check Multiple-Mount Protection (MMP) status of an ext4
-filesystem with the
+file system with the
 .B mmp
 feature enabled.  The specified
-.I filesystem
+.I file system
 can be a device name (e.g.
 .IR /dev/hdc1 ", " /dev/sdb2 ),
-or an ext4 filesystem label or UUID, for example
+or an ext4 file system label or UUID, for example
 .B UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd
 or
 .BR LABEL=root .
 By default, the
 .B e2mmpstatus
-program checks whether it is safe to mount the filesystem without taking
+program checks whether it is safe to mount the file system without taking
 the risk of mounting it more than once.
 .PP
 MMP (multiple-mount protection) is a feature that adds protection against
-the filesystem being modified simultaneously by more than one node.
-It is NOT safe to mount a filesystem when one of the following conditions
+the file system being modified simultaneously by more than one node.
+It is NOT safe to mount a file system when one of the following conditions
 is true:
 .br
-	1. e2fsck is running on the filesystem.
+	1. e2fsck is running on the file system.
 .br
-	2. the filesystem is in use by another node.
+	2. the file system is in use by another node.
 .br
 	3. The MMP block is corrupted or cannot be read for some reason.
 .br
@@ -48,9 +48,9 @@
 .SH EXIT CODE
 The exit code returned by
 .B e2mmpstatus
-is 0 when it is safe to mount the filesystem, 1 when the MMP block shows
-the filesystem is in use on another node and it is NOT safe to mount
-the filesystem, and 2 if some other failure occurred that prevents the
+is 0 when it is safe to mount the file system, 1 when the MMP block shows
+the file system is in use on another node and it is NOT safe to mount
+the file system, and 2 if some other failure occurred that prevents the
 check from properly detecting the current MMP status.
 .SH SEE ALSO
 .BR dumpe2fs (8),
diff --git a/misc/e2undo.8.in b/misc/e2undo.8.in
index d8265b1..30253a4 100644
--- a/misc/e2undo.8.in
+++ b/misc/e2undo.8.in
@@ -4,7 +4,7 @@
 .\"
 .TH E2UNDO 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-e2undo \- Replay an undo log for an ext2/ext3/ext4 filesystem
+e2undo \- Replay an undo log for an ext2/ext3/ext4 file system
 .SH SYNOPSIS
 .B e2undo
 [
@@ -32,7 +32,7 @@
 .B e2undo
 will replay the undo log
 .I undo_log
-for an ext2/ext3/ext4 filesystem found on
+for an ext2/ext3/ext4 file system found on
 .IR device .
 This can be
 used to undo a failed operation by an e2fsprogs program.
@@ -41,8 +41,8 @@
 .B \-f
 Normally,
 .B e2undo
-will check the filesystem superblock to make sure the undo log matches
-with the filesystem on the device.  If they do not match,
+will check the file system superblock to make sure the undo log matches
+with the file system on the device.  If they do not match,
 .B e2undo
 will refuse to apply the undo log as a safety mechanism.  The
 .B \-f
@@ -52,10 +52,10 @@
 Display a usage message.
 .TP
 .B \-n
-Dry-run; do not actually write blocks back to the filesystem.
+Dry-run; do not actually write blocks back to the file system.
 .TP
 .BI \-o " offset"
-Specify the filesystem's
+Specify the file system's
 .I offset
 (in bytes) from the beginning of the device or file.
 .TP
diff --git a/misc/e4crypt.8.in b/misc/e4crypt.8.in
index fe9372c..97bbcc9 100644
--- a/misc/e4crypt.8.in
+++ b/misc/e4crypt.8.in
@@ -1,6 +1,6 @@
 .TH E4CRYPT 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-e4crypt \- ext4 filesystem encryption utility
+e4crypt \- ext4 file system encryption utility
 .SH SYNOPSIS
 .B e4crypt add_key -S \fR[\fB -k \fIkeyring\fR ] [\fB-v\fR] [\fB-q\fR] \fR[\fB -p \fIpad\fR ] [ \fIpath\fR ... ]
 .br
diff --git a/misc/e4defrag.8.in b/misc/e4defrag.8.in
index 6553721..53d7f17 100644
--- a/misc/e4defrag.8.in
+++ b/misc/e4defrag.8.in
@@ -1,6 +1,6 @@
 .TH E4DEFRAG 8 "May 2009" "e4defrag version 2.0"
 .SH NAME
-e4defrag \- online defragmenter for ext4 filesystem
+e4defrag \- online defragmenter for ext4 file system
 .SH SYNOPSIS
 .B e4defrag
 [
@@ -15,13 +15,13 @@
 .B e4defrag
 reduces fragmentation of extent based file. The file targeted by
 .B e4defrag
-is created on ext4 filesystem made with "-O extent" option (see
+is created on ext4 file system made with "-O extent" option (see
 .BR mke2fs (8)).
 The targeted file gets more contiguous blocks and improves the file access
 speed.
 .PP
 .I target
-is a regular file, a directory, or a device that is mounted as ext4 filesystem.
+is a regular file, a directory, or a device that is mounted as ext4 file system.
 If
 .I target
 is a directory,
@@ -48,7 +48,7 @@
 .IP
 Also this option outputs the average data size in one extent. If you see it,
 you'll find the file has ideal extents or not. Note that the maximum extent
-size is 131072KB in ext4 filesystem (if block size is 4KB).
+size is 131072KB in ext4 file system (if block size is 4KB).
 .IP
 If this option is specified,
 .I target
diff --git a/misc/e4defrag.c b/misc/e4defrag.c
index 86e97ee..e3011d7 100644
--- a/misc/e4defrag.c
+++ b/misc/e4defrag.c
@@ -195,10 +195,6 @@
 #error posix_fadvise not available!
 #endif
 
-#ifndef HAVE_FALLOCATE64
-#error fallocate64 not available!
-#endif /* ! HAVE_FALLOCATE64 */
-
 /*
  * get_mount_point() -	Get device's mount point.
  *
@@ -258,12 +254,12 @@
  *
  * @file:		the file's name.
  */
-static int is_ext4(const char *file, char *devname)
+static int is_ext4(const char *file, char devname[PATH_MAX + 1])
 {
 	int 	maxlen = 0;
 	int	len, ret;
+	int	type_is_ext4 = 0;
 	FILE	*fp = NULL;
-	char	*mnt_type = NULL;
 	/* Refer to /etc/mtab */
 	const char	*mtab = MOUNTED;
 	char	file_path[PATH_MAX + 1];
@@ -307,26 +303,16 @@
 
 		maxlen = len;
 
-		mnt_type = realloc(mnt_type, strlen(mnt->mnt_type) + 1);
-		if (mnt_type == NULL) {
-			endmntent(fp);
-			return -1;
-		}
-		memset(mnt_type, 0, strlen(mnt->mnt_type) + 1);
-		strncpy(mnt_type, mnt->mnt_type, strlen(mnt->mnt_type));
+		type_is_ext4 = !strcmp(mnt->mnt_type, FS_EXT4);
 		strncpy(lost_found_dir, mnt->mnt_dir, PATH_MAX);
-		strncpy(devname, mnt->mnt_fsname, strlen(mnt->mnt_fsname) + 1);
+		strncpy(devname, mnt->mnt_fsname, PATH_MAX);
 	}
 
 	endmntent(fp);
-	if (mnt_type && strcmp(mnt_type, FS_EXT4) == 0) {
-		FREE(mnt_type);
+	if (type_is_ext4)
 		return 0;
-	} else {
-		FREE(mnt_type);
-		PRINT_ERR_MSG(NGMSG_EXT4);
-		return -1;
-	}
+	PRINT_ERR_MSG(NGMSG_EXT4);
+	return -1;
 }
 
 /*
@@ -1021,7 +1007,7 @@
 		return 1;
 
 	if (feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) {
-		flex_bg_num = 1 << log_groups_per_flex;
+		flex_bg_num = 1U << log_groups_per_flex;
 		ret = ((block_count - 1) /
 			((ext4_fsblk_t)blocks_per_group *
 				flex_bg_num)) + 1;
@@ -1051,7 +1037,7 @@
 	__u64	size_per_ext = 0;
 	float	ratio = 0.0;
 	ext4_fsblk_t	blk_count = 0;
-	char	msg_buffer[PATH_MAX + 24];
+	char	msg_buffer[PATH_MAX + 48];
 	struct fiemap_extent_list *physical_list_head = NULL;
 	struct fiemap_extent_list *logical_list_head = NULL;
 
@@ -1220,8 +1206,9 @@
 
 	if (mode_flag & DETAIL) {
 		/* Print statistic info */
-		sprintf(msg_buffer, "[%u/%u]%s",
-				defraged_file_count, total_count, file);
+		sprintf(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"
@@ -1568,7 +1555,7 @@
 	/* Allocate space for donor inode */
 	orig_group_tmp = orig_group_head;
 	do {
-		ret = fallocate64(donor_fd, 0,
+		ret = fallocate(donor_fd, 0,
 		  (ext2_loff_t)orig_group_tmp->start->data.logical * block_size,
 		  (ext2_loff_t)orig_group_tmp->len * block_size);
 		if (ret < 0) {
@@ -1865,11 +1852,9 @@
 			/* fall through */
 		case DEVNAME:
 			if (arg_type == DEVNAME) {
-				strncpy(lost_found_dir, dir_name,
-					strnlen(dir_name, PATH_MAX));
+				strcpy(lost_found_dir, dir_name);
 				strncat(lost_found_dir, "/lost+found/",
-					PATH_MAX - strnlen(lost_found_dir,
-							   PATH_MAX));
+					PATH_MAX - strlen(lost_found_dir));
 			}
 
 			nftw64(dir_name, calc_entry_counts, FTW_OPEN_FD, flags);
diff --git a/misc/ext4.5.in b/misc/ext4.5.in
index 90bc4f8..c835a34 100644
--- a/misc/ext4.5.in
+++ b/misc/ext4.5.in
@@ -161,8 +161,8 @@
 .TP
 .B has_journal
 .br
-Create a journal to ensure filesystem consistency even across unclean
-shutdowns.  Setting the filesystem feature is equivalent to using the
+Create a journal to ensure file system consistency even across unclean
+shutdowns.  Setting the file system feature is equivalent to using the
 .B \-j
 option with
 .BR mke2fs " or " tune2fs.
@@ -208,7 +208,7 @@
 .B metadata_csum
 .br
 This ext4 feature enables metadata checksumming.  This feature stores
-checksums for all of the filesystem metadata (superblock, group
+checksums for all of the file system metadata (superblock, group
 descriptor blocks, inode and block bitmaps, directories, and
 extent tree blocks).  The checksum algorithm used for the metadata
 blocks is different than the one used for group descriptors with the
@@ -220,8 +220,8 @@
 .TP
 .B metadata_csum_seed
 .br
-This feature allows the filesystem to store the metadata checksum seed in the
-superblock, which allows the administrator to change the UUID of a filesystem
+This feature allows the file system to store the metadata checksum seed in the
+superblock, which allows the administrator to change the UUID of a file system
 using the
 .B metadata_csum
 feature while it is mounted.
@@ -241,20 +241,20 @@
 .B mmp
 .br
 This ext4 feature provides multiple mount protection (MMP).  MMP helps to
-protect the filesystem from being multiply mounted and is useful in
+protect the file system from being multiply mounted and is useful in
 shared storage environments.
 .TP
 .B project
 .br
 This ext4 feature provides project quota support. With this feature,
-the project ID of inode will be managed when the filesystem is mounted.
+the project ID of inode will be managed when the file system is mounted.
 .TP
 .B quota
 .br
 Create quota inodes (inode #3 for userquota and inode
 #4 for group quota) and set them in the superblock.
 With this feature, the quotas will be enabled
-automatically when the filesystem is mounted.
+automatically when the file system is mounted.
 .IP
 Causes the quota files (i.e., user.quota and
 group.quota which existed
@@ -270,7 +270,7 @@
 By default
 .B mke2fs
 will attempt to reserve enough space so that the
-filesystem may grow to 1024 times its initial size.  This can be changed
+file system may grow to 1024 times its initial size.  This can be changed
 using the
 .B resize
 extended option.
@@ -301,9 +301,9 @@
 .TP
 .B stable_inodes
 .br
-Marks the filesystem's inode numbers and UUID as stable.
+Marks the file system's inode numbers and UUID as stable.
 .BR resize2fs (8)
-will not allow shrinking a filesystem with this feature, nor
+will not allow shrinking a file system with this feature, nor
 will
 .BR tune2fs (8)
 allow changing its UUID.  This feature allows the use of specialized encryption
@@ -344,9 +344,9 @@
 .BR mount (8)
 for details.
 .SH "Mount options for ext2"
-The `ext2' filesystem is the standard Linux filesystem.
+The `ext2' file system is the standard Linux file system.
 Since Linux 2.5.46, for most mount options the default
-is determined by the filesystem superblock. Set them with
+is determined by the file system superblock. Set them with
 .BR tune2fs (8).
 .TP
 .BR acl | noacl
@@ -361,17 +361,17 @@
 .B minixdf
 behavior is to return in the
 .I f_blocks
-field the total number of blocks of the filesystem, while the
+field the total number of blocks of the file system, while the
 .B bsddf
 behavior (which is the default) is to subtract the overhead blocks
-used by the ext2 filesystem and not available for file storage. Thus
+used by the ext2 file system and not available for file storage. Thus
 .sp 1
 % mount /k \-o minixdf; df /k; umount /k
 .TS
 tab(#);
 l2 l2 r2 l2 l2 l
 l c r c c l.
-Filesystem#1024-blocks#Used#Available#Capacity#Mounted on
+File System#1024-blocks#Used#Available#Capacity#Mounted on
 /dev/sda6#2630655#86954#2412169#3%#/k
 .TE
 .sp 1
@@ -380,7 +380,7 @@
 tab(#);
 l2 l2 r2 l2 l2 l
 l c r c c l.
-Filesystem#1024-blocks#Used#Available#Capacity#Mounted on
+File System#1024-blocks#Used#Available#Capacity#Mounted on
 /dev/sda6#2543714#13#2412169#0%#/k
 .TE
 .sp 1
@@ -394,16 +394,16 @@
 .BR e2fsck (8)
 every now and then, e.g.\& at boot time. The non-default behavior is unsupported
 (check=normal and check=strict options have been removed). Note that these mount options
-don't have to be supported if ext4 kernel driver is used for ext2 and ext3 filesystems.
+don't have to be supported if ext4 kernel driver is used for ext2 and ext3 file systems.
 .TP
 .B debug
 Print debugging info upon each (re)mount.
 .TP
 .BR errors= { continue | remount-ro | panic }
 Define the behavior when an error is encountered.
-(Either ignore errors and just mark the filesystem erroneous and continue,
-or remount the filesystem read-only, or panic and halt the system.)
-The default is set in the filesystem superblock, and can be
+(Either ignore errors and just mark the file system erroneous and continue,
+or remount the file system read-only, or panic and halt the system.)
+The default is set in the file system superblock, and can be
 changed using
 .BR tune2fs (8).
 .TP
@@ -419,7 +419,7 @@
 .TP
 .BR grpquota | noquota | quota | usrquota
 The usrquota (same as quota) mount option enables user quota support on the
-filesystem. grpquota enables group quotas support. You need the quota utilities
+file system. grpquota enables group quotas support. You need the quota utilities
 to actually enable and manage the quota system.
 .TP
 .B nouid32
@@ -430,7 +430,7 @@
 Use old allocator or Orlov allocator for new inodes. Orlov is default.
 .TP
 \fBresgid=\fP\,\fIn\fP and \fBresuid=\fP\,\fIn\fP
-The ext2 filesystem reserves a certain percentage of the available
+The ext2 file system reserves a certain percentage of the available
 space (by default 5%, see
 .BR mke2fs (8)
 and
@@ -444,7 +444,7 @@
 .IR n .
 This option is normally used when the primary superblock has been
 corrupted.  The location of backup superblocks is dependent on the
-filesystem's blocksize, the number of blocks per group, and features
+file system's blocksize, the number of blocks per group, and features
 such as
 .BR sparse_super .
 .IP
@@ -454,20 +454,20 @@
 .B \-n
 option to print out where the superblocks exist, supposing
 .B mke2fs
-is supplied with arguments that are consistent with the filesystem's layout
+is supplied with arguments that are consistent with the file system's layout
 (e.g. blocksize, blocks per group,
 .BR sparse_super ,
 etc.).
 .IP
 The block number here uses 1\ k units. Thus, if you want to use logical
-block 32768 on a filesystem with 4\ k blocks, use "sb=131072".
+block 32768 on a file system with 4\ k blocks, use "sb=131072".
 .TP
 .BR user_xattr | nouser_xattr
 Support "user." extended attributes (or not).
 
 
 .SH "Mount options for ext3"
-The ext3 filesystem is a version of the ext2 filesystem which has been
+The ext3 file system is a version of the ext2 file system which has been
 enhanced with journaling.  It supports the same options as ext2 as
 well as the following additions:
 .TP
@@ -480,22 +480,22 @@
 .TP
 .BR norecovery / noload
 Don't load the journal on mounting.  Note that
-if the filesystem was not unmounted cleanly,
+if the file system was not unmounted cleanly,
 skipping the journal replay will lead to the
-filesystem containing inconsistencies that can
+file system containing inconsistencies that can
 lead to any number of problems.
 .TP
 .BR data= { journal | ordered | writeback }
 Specifies the journaling mode for file data.  Metadata is always journaled.
 To use modes other than
 .B ordered
-on the root filesystem, pass the mode to the kernel as boot parameter, e.g.\&
+on the root file system, pass the mode to the kernel as boot parameter, e.g.\&
 .IR rootflags=data=journal .
 .RS
 .TP
 .B journal
 All data is committed into the journal prior to being written into the
-main filesystem.
+main file system.
 .TP
 .B ordered
 This is the default mode.  All data is forced directly out to the main file
@@ -503,9 +503,9 @@
 .TP
 .B writeback
 Data ordering is not preserved \(en data may be written into the main
-filesystem after its metadata has been committed to the journal.
+file system after its metadata has been committed to the journal.
 This is rumoured to be the highest-throughput option.  It guarantees
-internal filesystem integrity, however it can allow old data to appear
+internal file system integrity, however it can allow old data to appear
 in files after a crash and journal recovery.
 .RE
 .TP
@@ -541,7 +541,7 @@
 jqfmt=vfsv1 enables journaled quotas. Journaled quotas have the advantage that
 even after a crash no quota check is required. When the
 .B quota
-filesystem feature is enabled, journaled quotas are used automatically, and
+file system feature is enabled, journaled quotas are used automatically, and
 this mount option is ignored.
 .TP
 .BR usrjquota=aquota.user | grpjquota=aquota.group
@@ -549,13 +549,13 @@
 usrjquota=aquota.user and grpjquota=aquota.group are required to tell the
 quota system which quota database files to use. When the
 .B quota
-filesystem feature is enabled, journaled quotas are used automatically, and
+file system feature is enabled, journaled quotas are used automatically, and
 this mount option is ignored.
 
 .SH "Mount options for ext4"
-The ext4 filesystem is an advanced level of the ext3 filesystem which
+The ext4 file system is an advanced level of the ext3 file system which
 incorporates scalability and reliability enhancements for supporting large
-filesystem.
+file system.
 
 The options
 .B journal_dev, journal_path, norecovery, noload, data, commit, orlov,
@@ -579,7 +579,7 @@
 "barrier" and "nobarrier" are added for consistency with other ext4 mount
 options.
 
-The ext4 filesystem enables write barriers by default.
+The ext4 file system enables write barriers by default.
 .TP
 .BI inode_readahead_blks= n
 This tuning parameter controls the maximum number of inode table blocks that
@@ -587,9 +587,9 @@
 The value must be a power of 2. The default value is 32 blocks.
 .TP
 .BI stripe= n
-Number of filesystem blocks that mballoc will try to use for allocation size
+Number of file system blocks that mballoc will try to use for allocation size
 and alignment. For RAID5/6 systems this should be the number of data disks *
-RAID chunk size in filesystem blocks.
+RAID chunk size in file system blocks.
 .TP
 .B delalloc
 Deferring block allocation until write-out time.
@@ -599,7 +599,7 @@
 to page cache.
 .TP
 .BI max_batch_time= usec
-Maximum amount of time ext4 should wait for additional filesystem operations to
+Maximum amount of time ext4 should wait for additional file system operations to
 be batch together with a synchronous write operation. Since a synchronous
 write operation is going to force a commit and then a wait for the I/O
 complete, it doesn't cost much, and can be a huge throughput win, we wait for a
@@ -628,7 +628,7 @@
 .B abort
 Simulate the effects of calling ext4_abort() for
 debugging purposes.  This is normally used while
-remounting a filesystem which is already mounted.
+remounting a file system which is already mounted.
 .TP
 .BR auto_da_alloc | noauto_da_alloc
 Many broken applications don't use fsync() when
@@ -652,12 +652,12 @@
 Do not initialize any uninitialized inode table blocks in the background. This
 feature may be used by installation CD's so that the install process can
 complete as quickly as possible; the inode table initialization process would
-then be deferred until the next time the filesystem is mounted.
+then be deferred until the next time the file system is mounted.
 .TP
 .B init_itable=n
 The lazy itable init code will wait n times the number of milliseconds it took
 to zero out the previous block group's inode table. This minimizes the impact on
-system performance while the filesystem's inode table is being initialized.
+system performance while the file system's inode table is being initialized.
 .TP
 .BR discard / nodiscard
 Controls whether ext4 should issue discard/TRIM commands to the underlying
@@ -667,9 +667,9 @@
 .TP
 .BR block_validity / noblock_validity
 This option enables/disables the in-kernel facility for tracking
-filesystem metadata blocks within internal data structures. This allows multi-\c
+file system metadata blocks within internal data structures. This allows multi-\c
 block allocator and other routines to quickly locate extents which might
-overlap with filesystem metadata blocks. This option is intended for debugging
+overlap with file system metadata blocks. This option is intended for debugging
 purposes and since it negatively affects the performance, it is off by default.
 .TP
 .BR dioread_lock / dioread_nolock
@@ -700,14 +700,14 @@
 use of mbcache for deduplication adds unnecessary computational overhead.
 .TP
 .B prjquota
-The prjquota mount option enables project quota support on the filesystem.
+The prjquota mount option enables project quota support on the file system.
 You need the quota utilities to actually enable and manage the quota system.
 This mount option requires the
 .B project
-filesystem feature.
+file system feature.
 
 .SH FILE ATTRIBUTES
-The ext2, ext3, and ext4 filesystems support setting the following file
+The ext2, ext3, and ext4 file systems support setting the following file
 attributes on Linux systems using the
 .BR chattr (1)
 utility:
@@ -726,11 +726,11 @@
 .sp
 .BR u " - undeletable"
 .sp
-In addition, the ext3 and ext4 filesystems support the following flag:
+In addition, the ext3 and ext4 file systems support the following flag:
 .sp
 .BR j " - data journaling"
 .sp
-Finally, the ext4 filesystem also supports the following flag:
+Finally, the ext4 file system also supports the following flag:
 .sp
 .BR e " - extents format"
 .sp
diff --git a/misc/filefrag.8.in b/misc/filefrag.8.in
index d15d363..6d56c13 100644
--- a/misc/filefrag.8.in
+++ b/misc/filefrag.8.in
@@ -8,7 +8,7 @@
 .BI \-b blocksize
 ]
 [
-.B \-BeksvxX
+.B \-BeEkPsvVxX
 ]
 [
 .I files...
@@ -16,8 +16,8 @@
 .SH DESCRIPTION
 .B filefrag
 reports on how badly fragmented a particular file might be.  It makes
-allowances for indirect blocks for ext2 and ext3 filesystems, but can be
-used on files for any filesystem.
+allowances for indirect blocks for ext2 and ext3 file systems, but can be
+used on files for any file system.
 .PP
 The
 .B filefrag
@@ -34,11 +34,14 @@
 Use
 .I blocksize
 in bytes, or with [KMG] suffix, up to 1GB for output instead of the
-filesystem blocksize.  For compatibility with earlier versions of
+file system blocksize.  For compatibility with earlier versions of
 .BR filefrag ,
 if
 .I blocksize
-is unspecified it defaults to 1024 bytes.
+is unspecified it defaults to 1024 bytes.  Since
+.I blocksize
+is an optional argument, it must be added without any space after
+.BR -b .
 .TP
 .B \-e
 Print output in extent format, even for block-mapped files.
@@ -47,12 +50,12 @@
 Display the contents of ext4's extent status cache.  This feature is not
 supported on all kernels, and is only supported on ext4 file systems.
 .TP
+.B \-k
+Use 1024\-byte blocksize for output (identical to '\-b1024').
 .TP
 .B -P
-Pre-load the ext4's extent status cache for the file.  This feature is not
+Pre-load the ext4 extent status cache for the file.  This is not
 supported on all kernels, and is only supported on ext4 file systems.
-.B \-k
-Use 1024\-byte blocksize for output (identical to '\-b 1024').
 .TP
 .B \-s
 Sync the file before requesting the mapping.
@@ -60,6 +63,10 @@
 .B \-v
 Be verbose when checking for file fragmentation.
 .TP
+.B \-V
+Print version number of program and library.  If given twice, also
+print the FIEMAP flags that are understood by the current version.
+.TP
 .B \-x
 Display mapping of extended attributes.
 .TP
diff --git a/misc/filefrag.c b/misc/filefrag.c
index 1e43131..eaaa90a 100644
--- a/misc/filefrag.c
+++ b/misc/filefrag.c
@@ -51,13 +51,14 @@
 #include <ext2fs/ext2fs.h>
 #include <ext2fs/ext2_types.h>
 #include <ext2fs/fiemap.h>
+#include "../version.h"
 
 int verbose = 0;
 unsigned int blocksize;	/* Use specified blocksize (default 1kB) */
 int sync_file = 0;	/* fsync file before getting the mapping */
 int precache_file = 0;	/* precache the file before getting the mapping */
 int xattr_map = 0;	/* get xattr mapping */
-int force_bmap;	/* force use of FIBMAP instead of FIEMAP */
+int force_bmap;		/* force use of FIBMAP instead of FIEMAP */
 int force_extent;	/* print output in extent format always */
 int use_extent_cache;	/* Use extent cache */
 int logical_width = 8;
@@ -132,13 +133,49 @@
 
 static void print_flag(__u32 *flags, __u32 mask, char *buf, const char *name)
 {
+	char hex[sizeof(mask) * 2 + 4]; /* 2 chars/byte + 0x, + NUL */
+
 	if ((*flags & mask) == 0)
 		return;
 
+	if (name == NULL) {
+		sprintf(hex, "%#04x,", mask);
+		name = hex;
+	}
 	strcat(buf, name);
 	*flags &= ~mask;
 }
 
+static void print_flags(__u32 fe_flags, char *flags, int len, int print_unknown)
+{
+	__u32 mask;
+
+	print_flag(&fe_flags, FIEMAP_EXTENT_LAST, flags, "last,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_UNKNOWN, flags, "unknown_loc,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_DELALLOC, flags, "delalloc,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_ENCODED, flags, "encoded,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_DATA_ENCRYPTED, flags,"encrypted,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_NOT_ALIGNED, flags, "not_aligned,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_DATA_INLINE, flags, "inline,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_DATA_TAIL, flags, "tail_packed,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_UNWRITTEN, flags, "unwritten,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_MERGED, flags, "merged,");
+	print_flag(&fe_flags, FIEMAP_EXTENT_SHARED, flags, "shared,");
+	print_flag(&fe_flags, EXT4_FIEMAP_EXTENT_HOLE, flags, "hole,");
+
+	if (!print_unknown)
+		goto out;
+
+	/* print any unknown flags as hex values */
+	for (mask = 1; fe_flags != 0 && mask != 0; mask <<= 1)
+		print_flag(&fe_flags, mask, flags, NULL);
+out:
+	/* Remove trailing comma, if any */
+	if (flags[0])
+		flags[strnlen(flags, len) - 1] = '\0';
+
+}
+
 static void print_extent_info(struct fiemap_extent *fm_extent, int cur_ex,
 			      unsigned long long expected, int blk_shift,
 			      ext2fs_struct_stat *st)
@@ -148,7 +185,6 @@
 	unsigned long long ext_len;
 	unsigned long long ext_blks;
 	unsigned long long ext_blks_phys;
-	__u32 fe_flags, mask;
 	char flags[256] = "";
 
 	/* For inline data all offsets should be in bytes, not blocks */
@@ -164,44 +200,19 @@
 		physical_blk = fm_extent->fe_physical >> blk_shift;
 	}
 
-	fe_flags = fm_extent->fe_flags;
 	if (expected &&
-	    !(fe_flags & FIEMAP_EXTENT_UNKNOWN) &&
-	    !(fe_flags & EXT4_FIEMAP_EXTENT_HOLE))
+	    !(fm_extent->fe_flags & FIEMAP_EXTENT_UNKNOWN) &&
+	    !(fm_extent->fe_flags & EXT4_FIEMAP_EXTENT_HOLE))
 		sprintf(flags, ext_fmt == hex_fmt ? "%*llx: " : "%*llu: ",
 			physical_width, expected >> blk_shift);
 	else
 		sprintf(flags, "%.*s  ", physical_width, "                   ");
 
-	print_flag(&fe_flags, FIEMAP_EXTENT_LAST, flags, "last,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_UNKNOWN, flags, "unknown_loc,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_DELALLOC, flags, "delalloc,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_ENCODED, flags, "encoded,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_DATA_ENCRYPTED, flags,"encrypted,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_NOT_ALIGNED, flags, "not_aligned,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_DATA_INLINE, flags, "inline,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_DATA_TAIL, flags, "tail_packed,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_UNWRITTEN, flags, "unwritten,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_MERGED, flags, "merged,");
-	print_flag(&fe_flags, FIEMAP_EXTENT_SHARED, flags, "shared,");
-	print_flag(&fe_flags, EXT4_FIEMAP_EXTENT_HOLE, flags, "hole,");
-	/* print any unknown flags as hex values */
-	for (mask = 1; fe_flags != 0 && mask != 0; mask <<= 1) {
-		char hex[sizeof(mask) * 2 + 4]; /* 2 chars/byte + 0x, + NUL */
-
-		if ((fe_flags & mask) == 0)
-			continue;
-		sprintf(hex, "%#04x,", mask);
-		print_flag(&fe_flags, mask, flags, hex);
-	}
+	print_flags(fm_extent->fe_flags, flags, sizeof(flags), 1);
 
 	if (fm_extent->fe_logical + fm_extent->fe_length >=
-	    (unsigned long long) st->st_size)
-		strcat(flags, "eof,");
-
-	/* Remove trailing comma, if any */
-	if (flags[0] != '\0')
-		flags[strnlen(flags, sizeof(flags)) - 1] = '\0';
+	    (unsigned long long)st->st_size)
+		strcat(flags, flags[0] ? ",eof" : "eof");
 
 	if ((fm_extent->fe_flags & FIEMAP_EXTENT_UNKNOWN) ||
 	    (fm_extent->fe_flags & EXT4_FIEMAP_EXTENT_HOLE)) {
@@ -522,8 +533,8 @@
 					   &st, numblocks, is_ext2);
 		if (expected < 0) {
 			if (expected == -EINVAL || expected == -ENOTTY) {
-				fprintf(stderr, "%s: FIBMAP unsupported\n",
-					filename);
+				fprintf(stderr, "%s: FIBMAP%s unsupported\n",
+					filename, force_bmap ? "" : "/FIEMAP");
 			} else if (expected == -EPERM) {
 				fprintf(stderr,
 					"%s: FIBMAP requires root privileges\n",
@@ -567,8 +578,9 @@
 {
 	char **cpp;
 	int rc = 0, c;
+	int version = 0;
 
-	while ((c = getopt(argc, argv, "Bb::eEkPsvxX")) != EOF) {
+	while ((c = getopt(argc, argv, "Bb::eEkPsvVxX")) != EOF) {
 		switch (c) {
 		case 'B':
 			force_bmap++;
@@ -642,6 +654,9 @@
 		case 'v':
 			verbose++;
 			break;
+		case 'V':
+			version++;
+			break;
 		case 'x':
 			xattr_map++;
 			break;
@@ -653,6 +668,17 @@
 			break;
 		}
 	}
+	if (version) {
+		/* Print version number and exit */
+		printf("filefrag %s (%s)\n", E2FSPROGS_VERSION, E2FSPROGS_DATE);
+		if (version + verbose > 1) {
+			char flags[256] = "";
+
+			print_flags(0xffffffff, flags, sizeof(flags), 0);
+			printf("supported: %s\n", flags);
+		}
+		exit(0);
+	}
 
 	if (optind == argc)
 		usage(argv[0]);
diff --git a/misc/findfs.8.in b/misc/findfs.8.in
index 3146e0c..00c33ab 100644
--- a/misc/findfs.8.in
+++ b/misc/findfs.8.in
@@ -4,7 +4,7 @@
 .\" 
 .TH FINDFS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-findfs \- Find a filesystem by label or UUID
+findfs \- Find a file system by label or UUID
 .SH SYNOPSIS
 .B findfs
 .BI LABEL= label
@@ -13,12 +13,12 @@
 .BI UUID= uuid
 .SH DESCRIPTION
 .B findfs
-will search the disks in the system looking for a filesystem which has
+will search the disks in the system looking for a file system which has
 a label matching
 .I label
 or a UUID equal to
 .IR uuid .
-If the filesystem is found, the device name for the filesystem will
+If the file system is found, the device name for the file system will
 be printed on stdout.
 .PP
 .SH AUTHOR
diff --git a/misc/fsck.8.in b/misc/fsck.8.in
index e751f8d..c1890df 100644
--- a/misc/fsck.8.in
+++ b/misc/fsck.8.in
@@ -36,15 +36,15 @@
 UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root).
 Normally, the
 .B fsck
-program will try to handle filesystems on different physical disk drives
+program will try to handle file systems on different physical disk drives
 in parallel to reduce the total amount of time needed to check all of the
-filesystems.
+file systems.
 .PP
-If no filesystems are specified on the command line, and the
+If no file systems are specified on the command line, and the
 .B \-A
 option is not specified,
 .B fsck
-will default to checking filesystems in
+will default to checking file systems in
 .B /etc/fstab
 serially.  This is equivalent to the
 .B \-As
@@ -93,7 +93,7 @@
 Serialize
 .B fsck
 operations.  This is a good idea if you are checking multiple
-filesystems and the checkers are in an interactive mode.  (Note:
+file systems and the checkers are in an interactive mode.  (Note:
 .BR e2fsck (8)
 runs in an interactive mode by default.  To make
 .BR e2fsck (8)
@@ -108,21 +108,21 @@
 .BI \-t " fslist"
 Specifies the type(s) of file system to be checked.  When the
 .B \-A
-flag is specified, only filesystems that match
+flag is specified, only file systems that match
 .I fslist
 are checked.  The
 .I fslist
-parameter is a comma-separated list of filesystems and options
-specifiers.  All of the filesystems in this comma-separated list may be
+parameter is a comma-separated list of file systems and options
+specifiers.  All of the file systems in this comma-separated list may be
 prefixed by a negation operator
 .RB ' no '
 or
 .RB ' ! ',
-which requests that only those filesystems not listed in
+which requests that only those file systems not listed in
 .I fslist
-will be checked.  If all of the filesystems in
+will be checked.  If all of the file systems in
 .I fslist
-are not prefixed by a negation operator, then only those filesystems
+are not prefixed by a negation operator, then only those file systems
 listed
 in
 .I fslist
@@ -132,13 +132,13 @@
 .IR fslist .
 They must have the format
 .BI opts= fs-option\fR.
-If an options specifier is present, then only filesystems which contain
+If an options specifier is present, then only file systems which contain
 .I fs-option
 in their mount options field of
 .B /etc/fstab
 will be checked.  If the options specifier is prefixed by a negation
 operator, then only
-those filesystems that do not have
+those file systems that do not have
 .I fs-option
 in their mount options field of
 .B /etc/fstab
@@ -148,7 +148,7 @@
 .B opts=ro
 appears in
 .IR fslist ,
-then only filesystems listed in
+then only file systems listed in
 .B /etc/fstab
 with the
 .B ro
@@ -157,7 +157,7 @@
 For compatibility with Mandrake distributions whose boot scripts
 depend upon an unauthorized UI change to the
 .B fsck
-program, if a filesystem type of
+program, if a file system type of
 .B loop
 is found in
 .IR fslist ,
@@ -167,17 +167,17 @@
 .B \-t
 option.
 .sp
-Normally, the filesystem type is deduced by searching for
+Normally, the file system type is deduced by searching for
 .I filesys
 in the
 .I /etc/fstab
 file and using the corresponding entry.
-If the type can not be deduced, and there is only a single filesystem
+If the type can not be deduced, and there is only a single file system
 given as an argument to the
 .B \-t
 option,
 .B fsck
-will use the specified filesystem type.  If this type is not
+will use the specified file system type.  If this type is not
 available, then the default file system type (currently ext2) is used.
 .TP
 .B \-A
@@ -189,53 +189,53 @@
 system initialization file, instead of multiple commands for checking
 a single file system.
 .sp
-The root filesystem will be checked first unless the
+The root file system will be checked first unless the
 .B \-P
 option is specified (see below).  After that,
-filesystems will be checked in the order specified by the
+file systems will be checked in the order specified by the
 .I fs_passno
 (the sixth) field in the
 .I /etc/fstab
 file.
-Filesystems with a
+File Systems with a
 .I fs_passno
-value of 0 are skipped and are not checked at all.  Filesystems with a
+value of 0 are skipped and are not checked at all.  File Systems with a
 .I fs_passno
 value of greater than zero will be checked in order,
-with filesystems with the lowest
+with file systems with the lowest
 .I fs_passno
 number being checked first.
-If there are multiple filesystems with the same pass number,
+If there are multiple file systems with the same pass number,
 fsck will attempt to check them in parallel, although it will avoid running
-multiple filesystem checks on the same physical disk.
+multiple file system checks on the same physical disk.
 .sp
 Hence, a very common configuration in
 .I /etc/fstab
-files is to set the root filesystem to have a
+files is to set the root file system to have a
 .I fs_passno
 value of 1
-and to set all other filesystems to have a
+and to set all other file systems to have a
 .I fs_passno
 value of 2.  This will allow
 .B fsck
-to automatically run filesystem checkers in parallel if it is advantageous
+to automatically run file system checkers in parallel if it is advantageous
 to do so.  System administrators might choose
-not to use this configuration if they need to avoid multiple filesystem
+not to use this configuration if they need to avoid multiple file system
 checks running in parallel for some reason --- for example, if the
 machine in question is short on memory so that
 excessive paging is a concern.
 .TP
 .B \-C\fR [ \fI "fd" \fR ]
-Display completion/progress bars for those filesystem checkers (currently
+Display completion/progress bars for those file system checkers (currently
 only for ext2 and ext3) which support them.   Fsck will manage the
-filesystem checkers so that only one of them will display
+file system checkers so that only one of them will display
 a progress bar at a time.  GUI front-ends may specify a file descriptor
 .IR fd ,
 in which case the progress bar information will be sent to that file descriptor.
 .TP
 .B \-M
-Do not check mounted filesystems and return an exit code of 0
-for mounted filesystems.
+Do not check mounted file systems and return an exit code of 0
+for mounted file systems.
 .TP
 .B \-N
 Don't execute, just show what would be done.
@@ -243,13 +243,13 @@
 .B \-P
 When the
 .B \-A
-flag is set, check the root filesystem in parallel with the other filesystems.
+flag is set, check the root file system in parallel with the other file systems.
 This is not the safest thing in the world to do,
-since if the root filesystem is in doubt things like the
+since if the root file system is in doubt things like the
 .BR e2fsck (8)
 executable might be corrupted!  This option is mainly provided
 for those sysadmins who don't want to repartition the root
-filesystem to be small and compact (which is really the right solution).
+file system to be small and compact (which is really the right solution).
 .TP
 .B \-R
 When checking all file systems with the
@@ -266,7 +266,7 @@
 .B fs-specific-options
 Options which are not understood by
 .B fsck
-are passed to the filesystem-specific checker.  These arguments
+are passed to the file system-specific checker.  These arguments
 .B must
 not take arguments, as there is no
 way for
@@ -280,9 +280,9 @@
 file system-specific checker.
 .IP
 Please note that fsck is not
-designed to pass arbitrarily complicated options to filesystem-specific
+designed to pass arbitrarily complicated options to file system-specific
 checkers.  If you're doing something complicated, please just
-execute the filesystem-specific checker directly.  If you pass
+execute the file system-specific checker directly.  If you pass
 .B fsck
 some horribly complicated option and arguments, and it doesn't do
 what you expect,
@@ -291,8 +291,8 @@
 with
 .BR fsck.
 .PP
-Options to different filesystem-specific fsck's are not standardized.
-If in doubt, please consult the man pages of the filesystem-specific
+Options to different file system-specific fsck's are not standardized.
+If in doubt, please consult the man pages of the file system-specific
 checker.  Although not guaranteed, the following options are supported
 by most file system checkers:
 .TP
@@ -310,11 +310,11 @@
 option that some file system checkers support.
 .TP
 .B \-n
-For some filesystem-specific checkers, the
+For some file system-specific checkers, the
 .B \-n
 option will cause the fs-specific fsck to avoid attempting to repair any
 problems, but simply report such problems to stdout.  This is however
-not true for all filesystem-specific checkers.  In particular,
+not true for all file system-specific checkers.  In particular,
 .BR fsck.reiserfs (8)
 will not report any corruption if given this option.
 .BR fsck.minix (8)
@@ -323,7 +323,7 @@
 option at all.
 .TP
 .B \-r
-Interactively repair the filesystem (ask for confirmations).  Note: It
+Interactively repair the file system (ask for confirmations).  Note: It
 is generally a bad idea to use this option if multiple fsck's are being
 run in parallel.  Also note that this is
 .BR e2fsck 's
@@ -331,13 +331,13 @@
 reasons only.
 .TP
 .B \-y
-For some filesystem-specific checkers, the
+For some file system-specific checkers, the
 .B \-y
 option will cause the fs-specific fsck to always attempt to fix any
-detected filesystem corruption automatically.  Sometimes an expert may
+detected file system corruption automatically.  Sometimes an expert may
 be able to do better driving the fsck manually.  Note that
 .B not
-all filesystem-specific checkers implement this option.  In particular
+all file system-specific checkers implement this option.  In particular
 .BR fsck.minix (8)
 and
 .BR fsck.cramfs (8)
@@ -356,8 +356,8 @@
 .B FSCK_FORCE_ALL_PARALLEL
 If this environment variable is set,
 .B fsck
-will attempt to run all of the specified filesystems in parallel,
-regardless of whether the filesystems appear to be on the same
+will attempt to run all of the specified file systems in parallel,
+regardless of whether the file systems appear to be on the same
 device.  (This is useful for RAID systems or high-end storage systems
 such as those sold by companies such as IBM or EMC.)
 .TP
diff --git a/misc/fsck.c b/misc/fsck.c
index 4efe10e..1769a10 100644
--- a/misc/fsck.c
+++ b/misc/fsck.c
@@ -59,6 +59,7 @@
 #endif
 
 #include "../version.h"
+#include "support/devname.h"
 #include "support/nls-enable.h"
 #include "fsck.h"
 #include "blkid/blkid.h"
@@ -297,7 +298,7 @@
 	parse_escape(freq);
 	parse_escape(passno);
 
-	dev = blkid_get_devname(cache, device, NULL);
+	dev = get_devname(cache, device, NULL);
 	if (dev)
 		device = dev;
 
@@ -546,6 +547,8 @@
 	for (inst = instance_list; inst; inst = inst->next) {
 		if (inst->flags & FLAG_DONE)
 			continue;
+		if (inst->pid <= 0)
+			continue;
 		kill(inst->pid, signum);
 		n++;
 	}
@@ -1128,7 +1131,7 @@
 					progname);
 				exit(EXIT_ERROR);
 			}
-			dev = blkid_get_devname(cache, arg, NULL);
+			dev = get_devname(cache, arg, NULL);
 			if (!dev && strchr(arg, '=')) {
 				/*
 				 * Check to see if we failed because
diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c
index c595721..0dc77ea 100644
--- a/misc/fuse2fs.c
+++ b/misc/fuse2fs.c
@@ -325,6 +325,7 @@
 	int fakeroot;
 	int alloc_all_blocks;
 	int norecovery;
+	unsigned long offset;
 	FILE *err_fp;
 	unsigned int next_generation;
 };
@@ -2508,9 +2509,10 @@
 		      size_t value_len EXT2FS_ATTR((unused)), void *data)
 {
 	char **b = data;
+	size_t name_len = strlen(name);
 
-	strncpy(*b, name, strlen(name));
-	*b = *b + strlen(name) + 1;
+	memcpy(*b, name, name_len + 1);
+	*b = *b + name_len + 1;
 
 	return 0;
 }
@@ -3659,6 +3661,7 @@
 	FUSE2FS_OPT("fuse2fs_debug",	debug,			1),
 	FUSE2FS_OPT("no_default_opts",	no_default_opts,	1),
 	FUSE2FS_OPT("norecovery",	norecovery,		1),
+	FUSE2FS_OPT("offset=%lu",	offset,		0),
 
 	FUSE_OPT_KEY("-V",             FUSE2FS_VERSION),
 	FUSE_OPT_KEY("--version",      FUSE2FS_VERSION),
@@ -3697,6 +3700,7 @@
 	"    -o minixdf             minix-style df\n"
 	"    -o fakeroot            pretend to be root for permission checks\n"
 	"    -o no_default_opts     do not include default fuse options\n"
+	"    -o offset=<bytes>      similar to mount -o offset=<bytes>, mount the partition starting at <bytes>\n"
 	"    -o norecovery	    don't replay the journal (implies ro)\n"
 	"    -o fuse2fs_debug       enable fuse2fs debugging\n"
 	"\n",
@@ -3776,7 +3780,9 @@
 	ret = 2;
 	if (!fctx.ro)
 		flags |= EXT2_FLAG_RW;
-	err = ext2fs_open2(fctx.device, NULL, flags, 0, 0, unix_io_manager,
+	char options[50];
+	sprintf(options, "offset=%lu", fctx.offset);
+	err = ext2fs_open2(fctx.device, options, flags, 0, 0, unix_io_manager,
 			   &global_fs);
 	if (err) {
 		printf(_("%s: %s.\n"), fctx.device, error_message(err));
diff --git a/misc/lsattr.c b/misc/lsattr.c
index 0d95437..72f4c68 100644
--- a/misc/lsattr.c
+++ b/misc/lsattr.c
@@ -144,6 +144,11 @@
 	int dir_len = strlen(dir_name);
 
 	path = malloc(dir_len + strlen (de->d_name) + 2);
+	if (!path) {
+		fputs(_("Couldn't allocate path variable in lsattr_dir_proc\n"),
+			stderr);
+		return -1;
+	}
 
 	if (dir_len && dir_name[dir_len-1] == '/')
 		sprintf (path, "%s%s", dir_name, de->d_name);
@@ -182,6 +187,8 @@
 #endif
 	if (argc && *argv)
 		program_name = *argv;
+	else
+		usage();
 	while ((c = getopt (argc, argv, "RVadlvp")) != EOF)
 		switch (c)
 		{
diff --git a/misc/mk_hugefiles.c b/misc/mk_hugefiles.c
index 0280b41..3caaf1b 100644
--- a/misc/mk_hugefiles.c
+++ b/misc/mk_hugefiles.c
@@ -2,13 +2,8 @@
  * mk_hugefiles.c -- create huge files
  */
 
-#define _XOPEN_SOURCE 600 /* for inclusion of PATH_MAX in Solaris */
-#define _BSD_SOURCE	  /* for makedev() and major() */
-#define _DEFAULT_SOURCE	  /* since glibc 2.20 _BSD_SOURCE is deprecated */
-
 #include "config.h"
 #include <stdio.h>
-#include <stdarg.h>
 #include <string.h>
 #include <strings.h>
 #include <fcntl.h>
@@ -68,141 +63,30 @@
 static char *fn_numbuf;
 int zero_hugefile = 1;
 
-#define SYSFS_PATH_LEN 300
-typedef char sysfs_path_t[SYSFS_PATH_LEN];
-
-#ifndef HAVE_SNPRINTF
-/*
- * We are very careful to avoid needing to worry about buffer
- * overflows, so we don't really need to use snprintf() except as an
- * additional safety check.  So if snprintf() is not present, it's
- * safe to fall back to vsprintf().  This provides portability since
- * vsprintf() is guaranteed by C89, while snprintf() is only
- * guaranteed by C99 --- which for example, Microsoft Visual Studio
- * has *still* not bothered to implement.  :-/  (Not that I expect
- * mke2fs to be ported to MS Visual Studio any time soon, but
- * libext2fs *does* get built on Microsoft platforms, and we might
- * want to move this into libext2fs some day.)
- */
-static int my_snprintf(char *str, size_t size, const char *format, ...)
+static blk64_t
+get_partition_start(const char *device_name EXT2FS_ATTR((unused)))
 {
-	va_list	ap;
-	int ret;
-
-	va_start(ap, format);
-	ret = vsprintf(str, format, ap);
-	va_end(ap);
-	return ret;
-}
-
-#define snprintf my_snprintf
-#endif
-
-/*
- * Fall back to Linux's definitions of makedev and major are needed.
- * The search_sysfs_block() function is highly unlikely to work on
- * non-Linux systems anyway.
- */
-#ifndef makedev
-#define makedev(maj, min) (((maj) << 8) + (min))
-#endif
-
-static char *search_sysfs_block(dev_t devno, sysfs_path_t ret_path)
-{
-	struct dirent	*de, *p_de;
-	DIR		*dir = NULL, *p_dir = NULL;
-	FILE		*f;
-	sysfs_path_t	path, p_path;
-	unsigned int	major, minor;
-	char		*ret = ret_path;
-
-	ret_path[0] = 0;
-	if ((dir = opendir("/sys/block")) == NULL)
-		return NULL;
-	while ((de = readdir(dir)) != NULL) {
-		if (!strcmp(de->d_name, ".") || !strcmp(de->d_name, "..") ||
-		    strlen(de->d_name) > sizeof(path)-32)
-			continue;
-		snprintf(path, SYSFS_PATH_LEN,
-			 "/sys/block/%s/dev", de->d_name);
-		f = fopen(path, "r");
-		if (f &&
-		    (fscanf(f, "%u:%u", &major, &minor) == 2)) {
-			fclose(f); f = NULL;
-			if (makedev(major, minor) == devno) {
-				snprintf(ret_path, SYSFS_PATH_LEN,
-					 "/sys/block/%s", de->d_name);
-				goto success;
-			}
-#ifdef major
-			if (major(devno) != major)
-				continue;
-#endif
-		}
-		if (f)
-			fclose(f);
-
-		snprintf(path, SYSFS_PATH_LEN, "/sys/block/%s", de->d_name);
-
-		if (p_dir)
-			closedir(p_dir);
-		if ((p_dir = opendir(path)) == NULL)
-			continue;
-		while ((p_de = readdir(p_dir)) != NULL) {
-			if (!strcmp(p_de->d_name, ".") ||
-			    !strcmp(p_de->d_name, "..") ||
-			    (strlen(p_de->d_name) >
-			     SYSFS_PATH_LEN - strlen(path) - 32))
-				continue;
-			snprintf(p_path, SYSFS_PATH_LEN, "%s/%s/dev",
-				 path, p_de->d_name);
-
-			f = fopen(p_path, "r");
-			if (f &&
-			    (fscanf(f, "%u:%u", &major, &minor) == 2) &&
-			    (((major << 8) + minor) == devno)) {
-				fclose(f);
-				snprintf(ret_path, SYSFS_PATH_LEN, "%s/%s",
-					 path, p_de->d_name);
-				goto success;
-			}
-			if (f)
-				fclose(f);
-		}
-	}
-	ret = NULL;
-success:
-	if (dir)
-		closedir(dir);
-	if (p_dir)
-		closedir(p_dir);
-	return ret;
-}
-
-static blk64_t get_partition_start(const char *device_name)
-{
+#ifdef __linux__
 	unsigned long long start;
-	sysfs_path_t	path;
+	char		path[128];
 	struct stat	st;
 	FILE		*f;
-	char		*cp;
 	int		n;
 
 	if ((stat(device_name, &st) < 0) || !S_ISBLK(st.st_mode))
 		return 0;
 
-	cp = search_sysfs_block(st.st_rdev, path);
-	if (!cp)
-		return 0;
-	if (strlen(path) > SYSFS_PATH_LEN - sizeof("/start"))
-		return 0;
-	strcat(path, "/start");
+	sprintf(path, "/sys/dev/block/%d:%d/start",
+		major(st.st_rdev), minor(st.st_rdev));
 	f = fopen(path, "r");
 	if (!f)
 		return 0;
 	n = fscanf(f, "%llu", &start);
 	fclose(f);
 	return (n == 1) ? start : 0;
+#else
+	return 0;
+#endif
 }
 
 static errcode_t create_directory(ext2_filsys fs, char *dir,
diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in
index 84248ff..c0b5324 100644
--- a/misc/mke2fs.8.in
+++ b/misc/mke2fs.8.in
@@ -4,7 +4,7 @@
 .\"
 .TH MKE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-mke2fs \- create an ext2/ext3/ext4 filesystem
+mke2fs \- create an ext2/ext3/ext4 file system
 .SH SYNOPSIS
 .B mke2fs
 [
@@ -155,7 +155,7 @@
 @JDEV@]
 .SH DESCRIPTION
 .B mke2fs
-is used to create an ext2, ext3, or ext4 filesystem, usually in a disk
+is used to create an ext2, ext3, or ext4 file system, usually in a disk
 partition (or file) named by
 .IR device .
 .PP
@@ -198,7 +198,7 @@
 .B mkfs.ext4
 will create a file system for use with ext4, and so on.
 .PP
-The defaults of the parameters for the newly created filesystem, if not
+The defaults of the parameters for the newly created file system, if not
 overridden by the options listed below, are controlled by the
 .B /etc/mke2fs.conf
 configuration file.  See the
@@ -209,10 +209,10 @@
 .BI \-b " block-size"
 Specify the size of blocks in bytes.  Valid block-size values are powers of two
 from 1024 up to 65536 (however note that the kernel is able to mount only
-filesystems with block-size smaller or equal to the system page size - 4k on
+file systems with block-size smaller or equal to the system page size - 4k on
 x86 systems, up to 64k on ppc64 or aarch64 depending on kernel configuration).
-If omitted, block-size is heuristically determined by the filesystem size and
-the expected usage of the filesystem (see the
+If omitted, block-size is heuristically determined by the file system size and
+the expected usage of the file system (see the
 .B \-T
 option).  In most common cases, the default block size is 4k. If
 .I block-size
@@ -231,7 +231,7 @@
 test is used instead of a fast read-only test.
 .TP
 .B \-C " cluster-size"
-Specify the size of cluster in bytes for filesystems using the bigalloc
+Specify the size of cluster in bytes for file systems using the bigalloc
 feature.  Valid cluster-size values are from 2048 to 256M bytes per
 cluster.  This can only be specified if the bigalloc feature is
 enabled.  (See the
@@ -241,7 +241,7 @@
 .TP
 .BI \-d " root-directory"
 Copy the contents of the given directory into the root directory of the
-filesystem.
+file system.
 .TP
 .B \-D
 Use direct I/O when writing to the disk.  This avoids mke2fs dirtying a
@@ -251,9 +251,9 @@
 .TP
 .BI \-e " error-behavior"
 Change the behavior of the kernel code when errors are detected.
-In all cases, a filesystem error will cause
+In all cases, a file system error will cause
 .BR e2fsck (8)
-to check the filesystem on the next boot.
+to check the file system on the next boot.
 .I error-behavior
 can be one of the following:
 .RS 1.2i
@@ -262,14 +262,14 @@
 Continue normal execution.
 .TP
 .B remount-ro
-Remount filesystem read-only.
+Remount file system read-only.
 .TP
 .B panic
 Cause a kernel panic.
 .RE
 .TP
 .BI \-E " extended-options"
-Set extended options for the filesystem.  Extended options are comma
+Set extended options for the file system.  Extended options are comma
 separated, and may take an argument using the equals ('=') sign.  The
 .B \-E
 option used to be
@@ -318,32 +318,32 @@
 feature be enabled.
 .TP
 .BI stride= stride-size
-Configure the filesystem for a RAID array with
+Configure the file system for a RAID array with
 .I stride-size
-filesystem blocks. This is the number of blocks read or written to disk
+file system blocks. This is the number of blocks read or written to disk
 before moving to the next disk, which is sometimes referred to as the
 .I chunk size.
-This mostly affects placement of filesystem metadata like bitmaps at
+This mostly affects placement of file system metadata like bitmaps at
 .B mke2fs
 time to avoid placing them on a single disk, which can hurt performance.
 It may also be used by the block allocator.
 .TP
 .BI stripe_width= stripe-width
-Configure the filesystem for a RAID array with
+Configure the file system for a RAID array with
 .I stripe-width
-filesystem blocks per stripe. This is typically stride-size * N, where
+file system blocks per stripe. This is typically stride-size * N, where
 N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one
 parity disk, so N will be the number of disks in the array minus 1).
 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 filesystem at an offset from the beginning of the device or
+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 filesystem that has
+to support a file system that has
 .I max-online-resize
 blocks.
 .TP
@@ -351,16 +351,16 @@
 If enabled and the uninit_bg feature is enabled, the inode table will
 not be fully initialized by
 .BR mke2fs .
-This speeds up filesystem
+This speeds up file system
 initialization noticeably, but it requires the kernel to finish
-initializing the filesystem in the background when the filesystem is
+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 filesystem initialization noticeably, but carries some
+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.
@@ -397,18 +397,18 @@
 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
-filesystem to change based on the user running \fBmke2fs\fR.
+file system to change based on the user running \fBmke2fs\fR.
 .TP
 .B test_fs
-Set a flag in the filesystem superblock indicating that it may be
-mounted using experimental kernel code, such as the ext4dev filesystem.
+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
 .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 filesystem initialization. This is set
+zeroed. This significantly speeds up file system initialization. This is set
 as default.
 .TP
 .B nodiscard
@@ -428,19 +428,19 @@
 .B \-F
 Force
 .B mke2fs
-to create a filesystem, even if the specified device is not a partition
+to create a file system, even if the specified device is not a partition
 on a block special device, or if other parameters do not make sense.
 In order to force
 .B mke2fs
-to create a filesystem even if the filesystem appears to be in use
+to create a file system even if the file system appears to be in use
 or is mounted (a truly dangerous thing to do), this option must be
 specified twice.
 .TP
 .BI \-g " blocks-per-group"
 Specify the number of blocks in a block group.  There is generally no
 reason for the user to ever set this parameter, as the default is optimal
-for the filesystem.  (For administrators who are creating
-filesystems on RAID arrays, it is preferable to use the
+for the file system.  (For administrators who are creating
+file systems on RAID arrays, it is preferable to use the
 .I stride
 RAID parameter as part of the
 .B \-E
@@ -455,11 +455,11 @@
 .BI \-G " number-of-groups"
 Specify the number of block groups that will be packed together to
 create a larger virtual block group (or "flex_bg group") in an
-ext4 filesystem.  This improves meta-data locality and performance
+ext4 file system.  This improves meta-data locality and performance
 on meta-data heavy workloads.  The number of groups must be a power
 of 2 and may only be specified if the
 .B flex_bg
-filesystem feature is enabled.
+file system feature is enabled.
 .TP
 .BI \-i " bytes-per-inode"
 Specify the bytes/inode ratio.
@@ -469,11 +469,11 @@
 bytes of space on the disk.  The larger the
 .I bytes-per-inode
 ratio, the fewer inodes will be created.  This value generally shouldn't
-be smaller than the blocksize of the filesystem, since in that case more
+be smaller than the blocksize of the file system, since in that case more
 inodes would be made than can ever be used.  Be warned that it is not
-possible to change this ratio on a filesystem after it is created, so be
+possible to change this ratio on a file system after it is created, so be
 careful deciding the correct value for this parameter.  Note that resizing
-a filesystem changes the number of inodes to maintain this ratio.
+a file system changes the number of inodes to maintain this ratio.
 .TP
 .BI \-I " inode-size"
 Specify the size of each inode in bytes.
@@ -482,9 +482,9 @@
 value must be a power of 2 larger or equal to 128.  The larger the
 .I inode-size
 the more space the inode table will consume, and this reduces the usable
-space in the filesystem and can also negatively impact performance.
+space in the file system and can also negatively impact performance.
 It is not
-possible to change this value after the filesystem is created.
+possible to change this value after the file system is created.
 .IP
 File systems with an inode size of 128 bytes do not support timestamps
 beyond January 19, 2038.  Inodes which are 256 bytes or larger will
@@ -500,11 +500,11 @@
 will be 128 bytes.
 .TP
 .B \-j
-Create the filesystem with an ext3 journal.  If the
+Create the file system with an ext3 journal.  If the
 .B \-J
 option is not specified, the default journal parameters will be used to
-create an appropriately sized journal (given the size of the filesystem)
-stored within the filesystem.  Note that you must be using a kernel
+create an appropriately sized journal (given the size of the file system)
+stored within the file system.  Note that you must be using a kernel
 which has ext3 support in order to actually make use of the journal.
 .TP
 .BI \-J " journal-options"
@@ -515,12 +515,12 @@
 .RS 1.2i
 .TP
 .BI size= journal-size
-Create an internal journal (i.e., stored inside the filesystem) of 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 filesystem blocks
+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 filesystem blocks or half the total
+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
@@ -541,7 +541,7 @@
 + (
 .I fast-commit-size
 * 1024) megabytes. The total journal size may be no more than
-10,240,000 filesystem blocks or half the total file system size
+10,240,000 file system blocks or half the total file system size
 (whichever is smaller).
 .TP
 .BI location =journal-location
@@ -552,7 +552,7 @@
 beginning of the file system.
 @JDEV@.TP
 @JDEV@.BI device= external-journal
-@JDEV@Attach the filesystem to the journal block device located on
+@JDEV@Attach the file system to the journal block device located on
 @JDEV@.IR external-journal .
 @JDEV@The external
 @JDEV@journal must already have been created using the command
@@ -563,9 +563,9 @@
 @JDEV@Note that
 @JDEV@.I external-journal
 @JDEV@must have been created with the
-@JDEV@same block size as the new filesystem.
+@JDEV@same block size as the new file system.
 @JDEV@In addition, while there is support for attaching
-@JDEV@multiple filesystems to a single external journal,
+@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.
@@ -587,7 +587,7 @@
 @JDEV@.IP
 @JDEV@Only one of the
 @JDEV@.BR size " or " device
-@JDEV@options can be given for a filesystem.
+@JDEV@options can be given for a file system.
 .TP
 .BI \-l " filename"
 Read the bad blocks list from
@@ -607,41 +607,41 @@
 program.
 .TP
 .BI \-L " new-volume-label"
-Set the volume label for the filesystem to
+Set the volume label for the file system to
 .IR new-volume-label .
 The maximum length of the
 volume label is 16 bytes.
 .TP
 .BI \-m " reserved-blocks-percentage"
-Specify the percentage of the filesystem blocks reserved for
+Specify the percentage of the file system blocks reserved for
 the super-user.  This avoids fragmentation, and allows root-owned
 daemons, such as
 .BR syslogd (8),
 to continue to function correctly after non-privileged processes are
-prevented from writing to the filesystem.  The default percentage
+prevented from writing to the file system.  The default percentage
 is 5%.
 .TP
 .BI \-M " last-mounted-directory"
-Set the last mounted directory for the filesystem.  This might be useful
+Set the last mounted directory for the file system.  This might be useful
 for the sake of utilities that key off of the last mounted directory to
-determine where the filesystem should be mounted.
+determine where the file system should be mounted.
 .TP
 .B \-n
 Causes
 .B mke2fs
-to not actually create a filesystem, but display what it
-would do if it were to create a filesystem.  This can be used to
+to not actually create a file system, but display what it
+would do if it were to create a file system.  This can be used to
 determine the location of the backup superblocks for a particular
-filesystem, so long as the
+file system, so long as the
 .B mke2fs
 parameters that were passed when the
-filesystem was originally created are used again.  (With the
+file system was originally created are used again.  (With the
 .B \-n
 option added, of course!)
 .TP
 .BI \-N " number-of-inodes"
 Overrides the default calculation of the number of inodes that should be
-reserved for the filesystem (which is based on the number of blocks and
+reserved for the file system (which is based on the number of blocks and
 the
 .I bytes-per-inode
 ratio).  This allows the user to specify the number
@@ -649,13 +649,13 @@
 .TP
 .BI \-o " creator-os"
 Overrides the default value of the "creator operating system" field of the
-filesystem.  The creator field is set by default to the name of the OS the
+file system.  The creator field is set by default to the name of the OS the
 .B mke2fs
 executable was compiled for.
 .TP
 .B "\-O \fR[^]\fIfeature\fR[,...]"
-Create a filesystem with the given features (filesystem options),
-overriding the default filesystem options.  The features that are
+Create a file system with the given features (file system options),
+overriding the default file system options.  The features that are
 enabled by default are specified by the
 .I base_features
 relation, either in the
@@ -671,27 +671,27 @@
 .I features
 relation found in the
 .I [fs_types]
-subsections for the filesystem and usage types.  See the
+subsections for the file system and usage types.  See the
 .BR mke2fs.conf (5)
 manual page for more details.
-The filesystem type-specific configuration setting found in the
+The file system type-specific configuration setting found in the
 .I [fs_types]
 section will override the global default found in
 .IR [defaults] .
 .sp
-The filesystem feature set will be further edited
+The file system feature set will be further edited
 using either the feature set specified by this option,
 or if this option is not given, by the
 .I default_features
-relation for the filesystem type being created, or in the
+relation for the file system type being created, or in the
 .I [defaults]
 section of the configuration file.
 .sp
-The filesystem feature set is comprised of a list of features, separated
+The file system feature set is comprised of a list of features, separated
 by commas, that are to be enabled.  To disable a feature, simply
 prefix the feature name with a caret ('^') character.
 Features with dependencies will not be removed successfully.
-The pseudo-filesystem feature "none" will clear all filesystem features.
+The pseudo-file system feature "none" will clear all file system features.
 .TP
 For more information about the features which can be set, please see
 the manual page
@@ -703,9 +703,9 @@
 is run in a script.
 .TP
 .BI \-r " revision"
-Set the filesystem revision for the new filesystem.  Note that 1.2
-kernels only support revision 0 filesystems.  The default is to
-create revision 1 filesystems.
+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
@@ -722,19 +722,19 @@
 .B mke2fs
 that affect the on-disk layout, it is critical to specify exactly
 the same format options, such as blocksize, fs-type, feature flags, and
-other tunables when using this option, or the filesystem will be further
-corrupted.  In some cases, such as filesystems that have been resized,
+other tunables when using this option, or the file system will be further
+corrupted.  In some cases, such as file systems that have been resized,
 or have had features enabled after format time, it is impossible to
-overwrite all of the superblocks correctly, and at least some filesystem
+overwrite all of the superblocks correctly, and at least some file system
 corruption will occur.  It is best to run this on a full copy of the
-filesystem so other options can be tried if this doesn't work.
+file system so other options can be tried if this doesn't work.
 .\" .TP
 .\" .BI \-t " test"
 .\" Check the device for bad blocks before creating the file system
 .\" using the specified test.
 .TP
 .BI \-t " fs-type"
-Specify the filesystem type (i.e., ext2, ext3, ext4, etc.) that is
+Specify the file system type (i.e., ext2, ext3, ext4, etc.) that is
 to be created.
 If this option is not specified,
 .B mke2fs
@@ -742,7 +742,7 @@
 the command was run (for example, using a name of the form mkfs.ext2,
 mkfs.ext3, etc.) or via a default as defined by the
 .B /etc/mke2fs.conf
-file.   This option controls which filesystem options are used by
+file.   This option controls which file system options are used by
 default, based on the
 .B fstypes
 configuration stanza in
@@ -750,20 +750,20 @@
 .sp
 If the
 .B \-O
-option is used to explicitly add or remove filesystem options that
-should be set in the newly created filesystem, the
-resulting filesystem may not be supported by the requested
+option is used to explicitly add or remove file system options that
+should be set in the newly created file system, the
+resulting file system may not be supported by the requested
 .IR fs-type .
 (e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a
-filesystem that is not supported by the ext3 implementation as found in
+file system that is not supported by the ext3 implementation as found in
 the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR"
-will create a filesystem that does not have a journal and hence will not
-be supported by the ext3 filesystem code in the Linux kernel.)
+will create a file system that does not have a journal and hence will not
+be supported by the ext3 file system code in the Linux kernel.)
 .TP
 .BI \-T " usage-type[,...]"
-Specify how the filesystem is going to be used, so that
+Specify how the file system is going to be used, so that
 .B mke2fs
-can choose optimal filesystem parameters for that use.  The usage
+can choose optimal file system parameters for that use.  The usage
 types that are supported are defined in the configuration file
 .BR /etc/mke2fs.conf .
 The user may specify one or more usage types
@@ -771,32 +771,32 @@
 .sp
 If this option is is not specified,
 .B mke2fs
-will pick a single default usage type based on the size of the filesystem to
-be created.  If the filesystem size is less than 3 megabytes,
+will pick a single default usage type based on the size of the file system to
+be created.  If the file system size is less than 3 megabytes,
 .B mke2fs
-will use the filesystem type
+will use the file system type
 .IR floppy .
-If the filesystem size is greater than or equal to 3 but less than
+If the file system size is greater than or equal to 3 but less than
 512 megabytes,
 .BR mke2fs (8)
-will use the filesystem type
+will use the file system type
 .IR small .
-If the filesystem size is greater than or equal to 4 terabytes but less than
+If the file system size is greater than or equal to 4 terabytes but less than
 16 terabytes,
 .BR mke2fs (8)
-will use the filesystem type
+will use the file system type
 .IR big .
-If the filesystem size is greater than or equal to 16 terabytes,
+If the file system size is greater than or equal to 16 terabytes,
 .BR mke2fs (8)
-will use the filesystem type
+will use the file system type
 .IR huge .
 Otherwise,
 .BR mke2fs (8)
-will use the default filesystem type
+will use the default file system type
 .IR default .
 .TP
 .BI \-U " UUID"
-Set the universally unique identifier (UUID) of the filesystem to
+Set the universally unique identifier (UUID) of the file system to
 .IR UUID .
 The format of the UUID is a series of hex digits separated by hyphens,
 like this:
@@ -807,7 +807,7 @@
 .RS 1.2i
 .TP
 .I clear
-clear the filesystem UUID
+clear the file system UUID
 .TP
 .I random
 generate a new randomly-generated UUID
@@ -860,7 +860,7 @@
 .IR device .
 .TP
 .B MKE2FS_SKIP_CHECK_MSG
-If set, do not show the message of filesystem automatic check caused by
+If set, do not show the message of file system automatic check caused by
 mount count or check interval.
 .SH AUTHOR
 This version of
diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index bd60d49..ba5f179 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -585,8 +585,10 @@
 		else {
 			magic = (unsigned int *) (buf + BSD_LABEL_OFFSET);
 			if ((*magic == BSD_DISKMAGIC) ||
-			    (*magic == BSD_MAGICDISK))
+			    (*magic == BSD_MAGICDISK)) {
+				free(buf);
 				return;
+			}
 		}
 	}
 
@@ -1480,7 +1482,7 @@
 static const char *default_files[] = { "<default>", 0 };
 
 struct device_param {
-	unsigned long min_io;		/* prefered minimum IO size */
+	unsigned long min_io;		/* preferred minimum IO size */
 	unsigned long opt_io;		/* optimal IO size */
 	unsigned long alignment_offset;	/* alignment offset wrt physical block size */
 	unsigned int dax:1;		/* supports dax? */
@@ -1570,7 +1572,6 @@
 	 * Finally, we complain about fs_blocks_count > 2^32 on a non-64bit fs.
 	 */
 	blk64_t		fs_blocks_count = 0;
-	long		sysval;
 	int		s_opt = -1, r_opt = -1;
 	char		*fs_features = 0;
 	int		fs_features_size = 0;
@@ -1604,9 +1605,12 @@
 #define _SC_PAGESIZE _SC_PAGE_SIZE
 #endif
 #ifdef _SC_PAGESIZE
-	sysval = sysconf(_SC_PAGESIZE);
-	if (sysval > 0)
-		sys_page_size = sysval;
+	{
+		long sysval = sysconf(_SC_PAGESIZE);
+
+		if (sysval > 0)
+			sys_page_size = sysval;
+	}
 #endif /* _SC_PAGESIZE */
 #endif /* HAVE_SYSCONF */
 
@@ -1922,10 +1926,10 @@
 #ifdef CONFIG_TESTIO_DEBUG
 		if (getenv("TEST_IO_FLAGS") || getenv("TEST_IO_BLOCK")) {
 			io_ptr = test_io_manager;
-			test_io_backing_manager = unix_io_manager;
+			test_io_backing_manager = default_io_manager;
 		} else
 #endif
-			io_ptr = unix_io_manager;
+			io_ptr = default_io_manager;
 		retval = ext2fs_open(journal_device,
 				     EXT2_FLAG_JOURNAL_DEV_OK, 0,
 				     0, io_ptr, &jfs);
@@ -1971,18 +1975,8 @@
 	profile_get_integer(profile, "options", "proceed_delay", 0, 0,
 			    &proceed_delay);
 
-	/* The isatty() test is so we don't break existing scripts */
-	flags = CREATE_FILE;
-	if (isatty(0) && isatty(1) && !offset)
-		flags |= CHECK_FS_EXIST;
-	if (!quiet)
-		flags |= VERBOSE_CREATE;
-	if (fs_blocks_count == 0)
-		flags |= NO_SIZE;
-	else
+	if (fs_blocks_count)
 		explicit_fssize = 1;
-	if (!check_plausibility(device_name, flags, &is_device) && !force)
-		proceed_question(proceed_delay);
 
 	check_mount(device_name, force, _("filesystem"));
 
@@ -1994,6 +1988,26 @@
 		retval = ext2fs_get_device_size2(device_name,
 						 EXT2_BLOCK_SIZE(&fs_param),
 						 &dev_size);
+	if (retval == ENOENT) {
+		int fd;
+
+		if (!explicit_fssize) {
+			fprintf(stderr,
+				_("The file %s does not exist and no "
+				  "size was specified.\n"), device_name);
+			exit(1);
+		}
+		fd = ext2fs_open_file(device_name,
+				      O_CREAT | O_WRONLY, 0666);
+		if (fd < 0) {
+			retval = errno;
+		} else {
+			dev_size = 0;
+			retval = 0;
+			close(fd);
+			printf(_("Creating regular file %s\n"), device_name);
+		}
+	}
 	if (retval && (retval != EXT2_ET_UNIMPLEMENTED)) {
 		com_err(program_name, retval, "%s",
 			_("while trying to determine filesystem size"));
@@ -2036,6 +2050,9 @@
 	if (!usage_types)
 		profile_get_string(profile, "devices", device_name,
 				   "usage_types", 0, &usage_types);
+	if (!creator_os)
+		profile_get_string(profile, "defaults", "creator_os", 0,
+				   0, &creator_os);
 
 	/*
 	 * We have the file system (or device) size, so we can now
@@ -2329,9 +2346,9 @@
 			device_name);
 	} else {
 		/* setting stripe/stride to blocksize is pointless */
-		if (dev_param.min_io > blocksize)
+		if (dev_param.min_io > (unsigned) blocksize)
 			fs_param.s_raid_stride = dev_param.min_io / blocksize;
-		if (dev_param.opt_io > blocksize) {
+		if (dev_param.opt_io > (unsigned) blocksize) {
 			fs_param.s_raid_stripe_width =
 						dev_param.opt_io / blocksize;
 		}
@@ -2514,11 +2531,12 @@
 		exit(1);
 	}
 
-	if (!quiet && ext2fs_has_feature_bigalloc(&fs_param))
-		fprintf(stderr, "%s", _("\nWarning: the bigalloc feature is "
-				  "still under development\n"
-				  "See https://ext4.wiki.kernel.org/"
-				  "index.php/Bigalloc for more information\n\n"));
+	if (!quiet && ext2fs_has_feature_bigalloc(&fs_param) &&
+	    EXT2_CLUSTER_SIZE(&fs_param) > 16 * EXT2_BLOCK_SIZE(&fs_param))
+		fprintf(stderr, "%s", _("\nWarning: bigalloc file systems "
+				"with a cluster size greater than\n"
+				"16 times the block size is considered "
+				"experimental\n"));
 
 	/*
 	 * Since sparse_super is the default, we would only have a problem
@@ -2591,6 +2609,17 @@
 		exit(1);
 	}
 
+	/*
+	 * Warn the user that filesystems with 128-byte inodes will
+	 * not work properly beyond 2038.  This can be suppressed via
+	 * a boolean in the mke2fs.conf file, and we will disable this
+	 * warning for file systems created for the GNU Hurd.
+	 */
+	if (inode_size == EXT2_GOOD_OLD_INODE_SIZE &&
+	    get_bool_from_profile(fs_types, "warn_y2038_dates", 1))
+		printf(
+_("128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"));
+
 	/* Make sure number of inodes specified will fit in 32 bits */
 	if (num_inodes == 0) {
 		unsigned long long n;
@@ -2648,6 +2677,17 @@
 
 	free(fs_type);
 	free(usage_types);
+
+	/* The isatty() test is so we don't break existing scripts */
+	flags = CREATE_FILE;
+	if (isatty(0) && isatty(1) && !offset)
+		flags |= CHECK_FS_EXIST;
+	if (!quiet)
+		flags |= VERBOSE_CREATE;
+	if (!explicit_fssize)
+		flags |= NO_SIZE;
+	if (!check_plausibility(device_name, flags, &is_device) && !force)
+		proceed_question(proceed_delay);
 }
 
 static int should_do_undo(const char *name)
@@ -2656,7 +2696,7 @@
 	io_channel channel;
 	__u16	s_magic;
 	struct ext2_super_block super;
-	io_manager manager = unix_io_manager;
+	io_manager manager = default_io_manager;
 	int csum_flag, force_undo;
 
 	csum_flag = ext2fs_has_feature_metadata_csum(&fs_param) ||
@@ -2792,7 +2832,7 @@
 	struct ext2fs_numeric_progress_struct progress;
 	blk64_t blocks = ext2fs_blocks_count(fs->super);
 	blk64_t count = DISCARD_STEP_MB;
-	blk64_t cur;
+	blk64_t cur = 0;
 	int retval = 0;
 
 	/*
@@ -2800,10 +2840,9 @@
 	 * we do not print numeric progress resulting in failure
 	 * afterwards.
 	 */
-	retval = io_channel_discard(fs->io, 0, fs->blocksize);
+	retval = io_channel_discard(fs->io, 0, 1);
 	if (retval)
 		return retval;
-	cur = fs->blocksize;
 
 	count *= (1024 * 1024);
 	count /= fs->blocksize;
@@ -2931,12 +2970,6 @@
 	return 0;
 }
 
-// TODO(b/141583541): stop leaks
-const char *__asan_default_options()
-{
-	return "detect_leaks=0";
-}
-
 int main (int argc, char *argv[])
 {
 	errcode_t	retval = 0;
@@ -2968,10 +3001,10 @@
 #ifdef CONFIG_TESTIO_DEBUG
 	if (getenv("TEST_IO_FLAGS") || getenv("TEST_IO_BLOCK")) {
 		io_ptr = test_io_manager;
-		test_io_backing_manager = unix_io_manager;
+		test_io_backing_manager = default_io_manager;
 	} else
 #endif
-		io_ptr = unix_io_manager;
+		io_ptr = default_io_manager;
 
 	if (undo_file != NULL || should_do_undo(device_name)) {
 		retval = mke2fs_setup_tdb(device_name, &io_ptr);
@@ -3364,7 +3397,7 @@
 
 		retval = ext2fs_open(journal_device, EXT2_FLAG_RW|
 				     EXT2_FLAG_JOURNAL_DEV_OK, 0,
-				     fs->blocksize, unix_io_manager, &jfs);
+				     fs->blocksize, default_io_manager, &jfs);
 		if (retval) {
 			com_err(program_name, retval,
 				_("while trying to open journal device %s\n"),
diff --git a/misc/mke2fs.conf.5.in b/misc/mke2fs.conf.5.in
index 08bb948..96dbfcb 100644
--- a/misc/mke2fs.conf.5.in
+++ b/misc/mke2fs.conf.5.in
@@ -11,7 +11,7 @@
 .BR mke2fs (8).
 It controls the default parameters used by
 .BR mke2fs (8)
-when it is creating ext2, ext3, or ext4 filesystems.
+when it is creating ext2, ext3, or ext4 file systems.
 .PP
 The
 .I mke2fs.conf
@@ -118,8 +118,15 @@
 .I [defaults]
 stanza.
 .TP
+.I creator_os
+This relation specifies the "creator operating system" for the
+file system unless it is overridden on the command line.
+The default value is the OS for which the
+.B mke2fs
+executable was compiled.
+.TP
 .I fs_type
-This relation specifies the default filesystem type if the user does not
+This relation specifies the default file system type if the user does not
 specify it via the
 .B \-t
 option, or if
@@ -128,8 +135,8 @@
 .BI mkfs. fs-type\fR.
 If both the user and the
 .B mke2fs.conf
-file do not specify a default filesystem type, mke2fs will use a
-default filesystem type of
+file do not specify a default file system type, mke2fs will use a
+default file system type of
 .I ext3
 if a journal was requested via a command-line option, or
 .I ext2
@@ -154,12 +161,12 @@
 etc.) can also be specified in the
 .I defaults
 stanza to specify the default value to be used if the user does not
-specify one on the command line, and the filesystem-type
+specify one on the command line, and the file system-type
 specific section of the configuration file does not specify a default value.
 .SH THE [fs_types] STANZA
 Each tag in the
 .I [fs_types]
-stanza names a filesystem type or usage type which can be specified via the
+stanza names a file system type or usage type which can be specified via the
 .B \-t
 or
 .B \-T
@@ -169,14 +176,14 @@
 .P
 The
 .B mke2fs
-program constructs a list of fs_types by concatenating the filesystem
+program constructs a list of fs_types by concatenating the file system
 type (i.e., ext2, ext3, etc.) with the usage type list.  For most
 configuration options,
 .B mke2fs
 will look for a subsection in the
 .I [fs_types]
 stanza corresponding with each entry in the constructed list, with later
-entries overriding earlier filesystem or usage types.
+entries overriding earlier file system or usage types.
 For
 example, consider the following
 .B mke2fs.conf
@@ -230,7 +237,7 @@
 .P
 If mke2fs started with a program name of
 .BR mke2fs.ext4 ,
-then the filesystem type of ext4 will be used.  If the filesystem is
+then the file system type of ext4 will be used.  If the file system is
 smaller than 3 megabytes, and no usage type is specified, then
 .B mke2fs
 will use a default
@@ -241,30 +248,30 @@
 .I inode_size
 relation, but since the later entries in the fs_types list supersede
 earlier ones, the configuration parameter for fs_types.floppy.inode_size
-will be used, so the filesystem  will have an inode size of 128.
+will be used, so the file system  will have an inode size of 128.
 .P
 The exception to this resolution is the
 .I features
 tag, which specifies a set of changes to the features used by the
-filesystem, and which is cumulative.  So in the above example, first
+file system, and which is cumulative.  So in the above example, first
 the configuration relation defaults.base_features would enable an
 initial feature set with the sparse_super, filetype, resize_inode, and
 dir_index features enabled.  Then configuration relation
 fs_types.ext4.features would enable the extents and flex_bg
 features, and finally the configuration relation
 fs_types.floppy.features would remove
-the resize_inode feature, resulting in a filesystem feature set
+the resize_inode feature, resulting in a file system feature set
 consisting of the sparse_super, filetype, dir_index,
 extents_and flex_bg features.
 .P
-For each filesystem type, the following tags may be used in that
+For each file system type, the following tags may be used in that
 fs_type's subsection.   These tags may also be used in the
 .I default
 section:
 .TP
 .I base_features
 This relation specifies the features which are initially enabled for this
-filesystem type.  Only one
+file system type.  Only one
 .I base_features
 will be used, so if there are multiple entries in the fs_types list
 whose subsections define the
@@ -273,7 +280,7 @@
 .BR mke2fs (8).
 .TP
 .I enable_periodic_fsck
-This boolean relation specifies whether periodic filesystem checks should be
+This boolean relation specifies whether periodic file system checks should be
 enforced at boot time.  If set to true, checks will be forced every
 180 days, or after a random number of mounts.  These values may
 be changed later via the
@@ -285,9 +292,9 @@
 .TP
 .I errors
 Change the behavior of the kernel code when errors are detected.
-In all cases, a filesystem error will cause
+In all cases, a file system error will cause
 .BR e2fsck (8)
-to check the filesystem on the next boot.
+to check the file system on the next boot.
 .I errors
 can be one of the following:
 .RS 1.2i
@@ -296,7 +303,7 @@
 Continue normal execution.
 .TP
 .B remount-ro
-Remount filesystem read-only.
+Remount file system read-only.
 .TP
 .B panic
 Cause a kernel panic.
@@ -305,7 +312,7 @@
 .I features
 This relation specifies a comma-separated list of features edit
 requests which modify the feature set
-used by the newly constructed filesystem.  The syntax is the same as the
+used by the newly constructed file system.  The syntax is the same as the
 .B -O
 command-line option to
 .BR mke2fs (8);
@@ -319,7 +326,7 @@
 This boolean relation, if set to a value of true, forces
 .B mke2fs
 to always try to create an undo file, even if the undo file might be
-huge and it might extend the time to create the filesystem image
+huge and it might extend the time to create the file system image
 because the inode table isn't being initialized lazily.
 .TP
 .I default_features
@@ -359,9 +366,9 @@
 enabled,  the inode table will
 not be fully initialized by
 .BR mke2fs (8).
-This speeds up filesystem
+This speeds up file system
 initialization noticeably, but it requires the kernel to finish
-initializing the filesystem in the background when the filesystem is
+initializing the file system in the background when the file system is
 first mounted.
 .TP
 .I lazy_journal_init
@@ -370,7 +377,7 @@
 enabled. If lazy_journal_init is true, the journal inode will not be
 fully zeroed out by
 .BR mke2fs .
-This speeds up filesystem initialization noticeably, but carries some
+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.
 .TP
@@ -395,13 +402,13 @@
 specify one on the command line.
 .TP
 .I reserved_ratio
-This relation specifies the default percentage of filesystem blocks
+This relation specifies the default percentage of file system blocks
 reserved for the super-user, if the user does not specify one on the command
 line.
 .TP
 .I hash_alg
 This relation specifies the default hash algorithm used for the
-new filesystems with hashed b-tree directories.  Valid algorithms
+new file systems with hashed b-tree directories.  Valid algorithms
 accepted are:
 .IR legacy ,
 .IR half_md4 ,
@@ -410,10 +417,10 @@
 .TP
 .I flex_bg_size
 This relation specifies the number of block groups that will be packed
-together to create one large virtual block group on an ext4 filesystem.
+together to create one large virtual block group on an ext4 file system.
 This improves meta-data locality and performance on meta-data heavy
 workloads.  The number of groups must be a power of 2 and may only be
-specified if the flex_bg filesystem feature is enabled.
+specified if the flex_bg file system feature is enabled.
 .TP
 .I options
 This relation specifies additional extended options which should be
@@ -424,12 +431,12 @@
 option.  This can be used to configure the default extended options used
 by
 .BR mke2fs (8)
-on a per-filesystem type basis.
+on a per-file system type basis.
 .TP
 .I discard
 This boolean relation specifies whether the
 .BR mke2fs (8)
-should attempt to discard device prior to filesystem creation.
+should attempt to discard device prior to file system creation.
 .TP
 .I cluster_size
 This relation specifies the default cluster size if the bigalloc file
@@ -449,7 +456,7 @@
 .TP
 .I hugefiles_dir
 This relation specifies the directory where huge files are created,
-relative to the filesystem root.
+relative to the file system root.
 .TP
 .I hugefiles_uid
 This relation controls the user ownership for all of the files and
@@ -505,6 +512,13 @@
 This relation specifies the (zero-padded) width of the field for the
 huge file number.
 .TP
+.I warn_y2038_dates
+This boolean relation specifies whether mke2fs will issue a warning
+when creating a file system with 128 byte inodes (and so therefore will
+not support dates after January 19th, 2038).  The default value is true,
+except for file systems created for the GNU Hurd since it only supports
+128-byte inodes.
+.TP
 .I zero_hugefiles
 This boolean relation specifies whether or not zero blocks will be
 written to the hugefiles while
diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in
index 01e35cf..0568099 100644
--- a/misc/mke2fs.conf.in
+++ b/misc/mke2fs.conf.in
@@ -12,16 +12,13 @@
 	}
 	ext4 = {
 		features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize
-		inode_size = 256
 	}
 	small = {
 		blocksize = 1024
-		inode_size = 128
 		inode_ratio = 4096
 	}
 	floppy = {
 		blocksize = 1024
-		inode_size = 128
 		inode_ratio = 8192
 	}
 	big = {
@@ -44,4 +41,5 @@
 	hurd = {
 	     blocksize = 4096
 	     inode_size = 128
+	     warn_y2038_dates = 0
 	}
diff --git a/misc/mklost+found.8.in b/misc/mklost+found.8.in
index ba0c1c1..d338239 100644
--- a/misc/mklost+found.8.in
+++ b/misc/mklost+found.8.in
@@ -15,17 +15,17 @@
 directory in the current working directory on a Linux second extended
 file system.  There is normally a
 .I lost+found
-directory in the root directory of each filesystem.
+directory in the root directory of each file system.
 .PP
 .B mklost+found
 pre-allocates disk blocks to the
 .I lost+found
 directory so that when
 .BR e2fsck (8)
-is being run to recover a filesystem, it does not need to allocate blocks in
-the filesystem to store a large number of unlinked files.  This ensures that
+is being run to recover a file system, it does not need to allocate blocks in
+the file system to store a large number of unlinked files.  This ensures that
 .B e2fsck
-will not have to allocate data blocks in the filesystem during recovery.
+will not have to allocate data blocks in the file system during recovery.
 .SH OPTIONS
 There are none.
 .SH AUTHOR
diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in
index b963f30..979f6c5 100644
--- a/misc/tune2fs.8.in
+++ b/misc/tune2fs.8.in
@@ -4,7 +4,7 @@
 .\"
 .TH TUNE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-tune2fs \- adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems
+tune2fs \- adjust tunable file system parameters on ext2/ext3/ext4 file systems
 .SH SYNOPSIS
 .B tune2fs
 [
@@ -95,8 +95,8 @@
 device
 .SH DESCRIPTION
 .B tune2fs
-allows the system administrator to adjust various tunable filesystem
-parameters on Linux ext2, ext3, or ext4 filesystems.  The current values
+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
 option to
@@ -113,21 +113,21 @@
 .SH OPTIONS
 .TP
 .BI \-c " max-mount-counts"
-Adjust the number of mounts after which the filesystem will be checked by
+Adjust the number of mounts after which the file system will be checked by
 .BR e2fsck (8).
 If
 .I max-mount-counts
 is the string "random", tune2fs will use a random value between 20 and 40.
 If
 .I max-mount-counts
-is 0 or \-1, the number of times the filesystem is mounted will be disregarded
+is 0 or \-1, the number of times the file system is mounted will be disregarded
 by
 .BR e2fsck (8)
 and the kernel.
 .sp
-Staggering the mount-counts at which filesystems are forcibly
-checked will avoid all filesystems being checked at one time
-when using journaled filesystems.
+Staggering the mount-counts at which file systems are forcibly
+checked will avoid all file systems being checked at one time
+when using journaled file systems.
 .sp
 Mount-count-dependent checking is disabled by default to avoid
 unanticipated long reboots while e2fsck does its work.  If you
@@ -139,19 +139,19 @@
 however.
 .TP
 .BI \-C " mount-count"
-Set the number of times the filesystem has been mounted.
+Set the number of times the file system has been mounted.
 If set to a greater value than the max-mount-counts parameter
 set by the
 .B \-c
 option,
 .BR e2fsck (8)
-will check the filesystem at the next reboot.
+will check the file system at the next reboot.
 .TP
 .BI \-e " error-behavior"
 Change the behavior of the kernel code when errors are detected.
-In all cases, a filesystem error will cause
+In all cases, a file system error will cause
 .BR e2fsck (8)
-to check the filesystem on the next boot.
+to check the file system on the next boot.
 .I error-behavior
 can be one of the following:
 .RS 1.2i
@@ -160,14 +160,14 @@
 Continue normal execution.
 .TP
 .B remount-ro
-Remount filesystem read-only.
+Remount file system read-only.
 .TP
 .B panic
 Cause a kernel panic.
 .RE
 .TP
 .BI \-E " extended-options"
-Set extended options for the filesystem.  Extended options are comma
+Set extended options for the file system.  Extended options are comma
 separated, and may take an argument using the equals ('=') sign.
 The following extended options are supported:
 .RS 1.2i
@@ -175,7 +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 filesystem corruption can result.  Needs '-f'.
+fscked, or major file system corruption can result.  Needs '-f'.
 .TP
 .BI mmp_update_interval= interval
 Adjust the initial MMP update interval to
@@ -188,25 +188,25 @@
 feature be enabled.
 .TP
 .BI stride= stride-size
-Configure the filesystem for a RAID array with
+Configure the file system for a RAID array with
 .I stride-size
-filesystem blocks. This is the number of blocks read or written to disk
-before moving to next disk. This mostly affects placement of filesystem
+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 filesystem for a RAID array with
+Configure the file system for a RAID array with
 .I stripe-width
-filesystem blocks per stripe. This is typically be stride-size * N, where
+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 filesystems with hashed b-tree
+Set the default hash algorithm used for file systems with hashed b-tree
 directories.  Valid algorithms accepted are:
 .IR legacy ,
 .IR half_md4 ,
@@ -258,44 +258,44 @@
 and not at all by the ext2 and ext3 file system drivers.
 .TP
 .B force_fsck
-Set a flag in the filesystem superblock indicating that errors have been found.
+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
 .B test_fs
-Set a flag in the filesystem superblock indicating that it may be
-mounted using experimental kernel code, such as the ext4dev filesystem.
+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
 .B ^test_fs
-Clear the test_fs flag, indicating the filesystem should only be mounted
-using production-level filesystem code.
+Clear the test_fs flag, indicating the file system should only be mounted
+using production-level file system code.
 .RE
 .TP
 .B \-f
 Force the tune2fs operation to complete even in the face of errors.  This
 option is useful when removing the
 .B has_journal
-filesystem feature from a filesystem which has
+file system feature from a file system which has
 an external journal (or is corrupted
 such that it appears to have an external journal), but that
-external journal is not available.   If the filesystem appears to require
+external journal is not available.   If the file system appears to require
 journal replay, the
 .B \-f
 flag must be specified twice to proceed.
 .sp
 .B WARNING:
-Removing an external journal from a filesystem which was not cleanly unmounted
+Removing an external journal from a file system which was not cleanly unmounted
 without first replaying the external journal can result in
-severe data loss and filesystem corruption.
+severe data loss and file system corruption.
 .TP
 .BI \-g " group"
-Set the group which can use the reserved filesystem blocks.
+Set the group which can use the reserved file system blocks.
 The
 .I group
 parameter can be a numerical gid or a group name.  If a group name is given,
 it is converted to a numerical gid before it is stored in the superblock.
 .TP
 .B \-i " \fIinterval-between-checks\fR[\fBd\fR|\fBm\fR|\fBw\fR]"
-Adjust the maximal time between two filesystem checks.
+Adjust the maximal time between two file system checks.
 No suffix or
 .B d
 will interpret the number
@@ -327,39 +327,39 @@
 extended attributes in the inode table for improved performance.
 .TP
 .B \-j
-Add an ext3 journal to the filesystem.  If the
+Add an ext3 journal to the file system.  If the
 .B \-J
 option is not specified, the default journal parameters will be used to create
-an appropriately sized journal (given the size of the filesystem)
-stored within the filesystem.  Note that you must be using a kernel
+an appropriately sized journal (given the size of the file system)
+stored within the file system.  Note that you must be using a kernel
 which has ext3 support in order to actually make use of the journal.
 .IP
-If this option is used to create a journal on a mounted filesystem, an
+If this option is used to create a journal on a mounted file system, an
 immutable file,
 .BR .journal ,
-will be created in the top-level directory of the filesystem, as it is
-the only safe way to create the journal inode while the filesystem is
+will be created in the top-level directory of the file system, as it is
+the only safe way to create the journal inode while the file system is
 mounted.  While the ext3 journal is visible, it is not safe to
-delete it, or modify it while the filesystem is mounted; for this
+delete it, or modify it while the file system is mounted; for this
 reason the file is marked immutable.
-While checking unmounted filesystems,
+While checking unmounted file systems,
 .BR e2fsck (8)
 will automatically move
 .B .journal
-files to the invisible, reserved journal inode.  For all filesystems
-except for the root filesystem,  this should happen automatically and
-naturally during the next reboot cycle.  Since the root filesystem is
+files to the invisible, reserved journal inode.  For all file systems
+except for the root file system,  this should happen automatically and
+naturally during the next reboot cycle.  Since the root file system is
 mounted read-only,
 .BR e2fsck (8)
 must be run from a rescue floppy in order to effect this transition.
 .IP
 On some distributions, such as Debian, if an initial ramdisk is used,
-the initrd scripts will automatically convert an ext2 root filesystem
+the initrd scripts will automatically convert an ext2 root file system
 to ext3 if the
 .B /etc/fstab
-file specifies the ext3 filesystem for the root filesystem in order to
+file specifies the ext3 file system for the root file system in order to
 avoid requiring the use of a rescue floppy to add an ext3 journal to
-the root filesystem.
+the root file system.
 .TP
 .BR \-J " journal-options"
 Override the default ext3 journal parameters. Journal options are comma
@@ -368,12 +368,12 @@
 .RS 1.2i
 .TP
 .BI size= journal-size
-Create a journal stored in the filesystem of 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 filesystem blocks
+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 filesystem blocks.
-There must be enough free space in the filesystem to create a journal of
+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.
 .TP
 .BI fast_commit_size= fast-commit-size
@@ -394,7 +394,7 @@
 + (
 .I fast-commit-size
 * 1024) megabytes. The total journal size may be no more than
-10,240,000 filesystem blocks or half the total file system size
+10,240,000 file system blocks or half the total file system size
 (whichever is smaller).
 .TP
 .BI location =journal-location
@@ -405,7 +405,7 @@
 beginning of the file system.
 @JDEV@.TP
 @JDEV@.BI device= external-journal
-@JDEV@Attach the filesystem to the journal block device located on
+@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
@@ -416,9 +416,9 @@
 @JDEV@Note that
 @JDEV@.I external-journal
 @JDEV@must be formatted with the same block
-@JDEV@size as filesystems which will be using it.
+@JDEV@size as file systems which will be using it.
 @JDEV@In addition, while there is support for attaching
-@JDEV@multiple filesystems to a single external journal,
+@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.
@@ -440,15 +440,15 @@
 @JDEV@.IP
 @JDEV@Only one of the
 @JDEV@.BR size " or " device
-@JDEV@options can be given for a filesystem.
+@JDEV@options can be given for a file system.
 .TP
 .B \-l
-List the contents of the filesystem superblock, including the current
+List the contents of the file system superblock, including the current
 values of the parameters that can be set via this program.
 .TP
 .BI \-L " volume-label"
-Set the volume label of the filesystem.
-Ext2 filesystem labels can be at most 16 characters long; if
+Set the volume label of the file system.
+Ext2 file system labels can be at most 16 characters long; if
 .I volume-label
 is longer than 16 characters,
 .B tune2fs
@@ -464,21 +464,21 @@
 .BR /dev/hda5 .
 .TP
 .BI \-m " reserved-blocks-percentage"
-Set the percentage of the filesystem which may only be allocated
-by privileged processes.   Reserving some number of filesystem blocks
+Set the percentage of the file system which may only be allocated
+by privileged processes.   Reserving some number of file system blocks
 for use by privileged processes is done
-to avoid filesystem fragmentation, and to allow system
+to avoid file system fragmentation, and to allow system
 daemons, such as
 .BR syslogd (8),
 to continue to function correctly after non-privileged processes are
-prevented from writing to the filesystem.  Normally, the default percentage
+prevented from writing to the file system.  Normally, the default percentage
 of reserved blocks is 5%.
 .TP
 .BI \-M " last-mounted-directory"
-Set the last-mounted directory for the filesystem.
+Set the last-mounted directory for the file system.
 .TP
 .BR \-o " [^]\fImount-option\fR[,...]"
-Set or clear the indicated default mount options in the filesystem.
+Set or clear the indicated default mount options in the file system.
 Default mount options can be overridden by mount options specified
 either in
 .BR /etc/fstab (5)
@@ -490,16 +490,16 @@
 .IP
 More than one mount option can be cleared or set by separating
 features with commas.  Mount options prefixed with a
-caret character ('^') will be cleared in the filesystem's superblock;
+caret character ('^') will be cleared in the file system's superblock;
 mount options without a prefix character or prefixed with a plus
-character ('+') will be added to the filesystem.
+character ('+') will be added to the file system.
 .IP
 The following mount options can be set or cleared using
 .BR tune2fs :
 .RS 1.2i
 .TP
 .B debug
-Enable debugging code for this filesystem.
+Enable debugging code for this file system.
 .TP
 .B bsdgroups
 Emulate BSD behavior when creating new files: they will take the group-id
@@ -520,18 +520,18 @@
 older kernels which only store and expect 16-bit values.
 .TP
 .B journal_data
-When the filesystem is mounted with journalling enabled, all data
+When the file system is mounted with journaling enabled, all data
 (not just metadata) is committed into the journal prior to being written
-into the main filesystem.
+into the main file system.
 .TP
 .B journal_data_ordered
-When the filesystem is mounted with journalling enabled, all data is forced
+When the file system is mounted with journaling enabled, all data is forced
 directly out to the main file system prior to its metadata being committed
 to the journal.
 .TP
 .B journal_data_writeback
-When the filesystem is mounted with journalling enabled, data may be
-written into the main filesystem after its metadata has been committed
+When the file system is mounted with journaling enabled, data may be
+written into the main file system after its metadata has been committed
 to the journal.  This may increase throughput, however, it may allow old
 data to appear in files after a crash and journal recovery.
 .TP
@@ -566,16 +566,16 @@
 .RE
 .TP
 .BR \-O " [^]\fIfeature\fR[,...]"
-Set or clear the indicated filesystem features (options) in the filesystem.
-More than one filesystem feature can be cleared or set by separating
-features with commas.  Filesystem features prefixed with a
-caret character ('^') will be cleared in the filesystem's superblock;
-filesystem features without a prefix character or prefixed with a plus
-character ('+') will be added to the filesystem.  For a detailed
+Set or clear the indicated file system features (options) in the file system.
+More than one file system feature can be cleared or set by separating
+features with commas.  File System features prefixed with a
+caret character ('^') will be cleared in the file system's superblock;
+file system features without a prefix character or prefixed with a plus
+character ('+') will be added to the file system.  For a detailed
 description of the file system features, please see the man page
 .BR ext4 (5).
 .IP
-The following filesystem features can be set or cleared using
+The following file system features can be set or cleared using
 .BR tune2fs :
 .RS 1.2i
 .TP
@@ -585,7 +585,7 @@
 .B casefold
 Enable support for file system level casefolding.
 .B Tune2fs
-currently only supports setting this filesystem feature.
+currently only supports setting this file system feature.
 .TP
 .B dir_index
 Use hashed b-trees to speed up lookups for large directories.
@@ -598,17 +598,17 @@
 separate inode if necessary, increasing the limit on the size and number of
 extended attributes per file.
 .B Tune2fs
-currently only supports setting this filesystem feature.
+currently only supports setting this file system feature.
 .TP
 .B encrypt
 Enable support for file system level encryption.
 .B Tune2fs
-currently only supports setting this filesystem feature.
+currently only supports setting this file system feature.
 .TP
 .B extent
 Enable the use of extent trees to store the location of data blocks in inodes.
 .B Tune2fs
-currently only supports setting this filesystem feature.
+currently only supports setting this file system feature.
 .TP
 .B extra_isize
 Enable the extended inode fields used by ext4.
@@ -626,8 +626,8 @@
 enabled.
 .TP
 .B has_journal
-Use a journal to ensure filesystem consistency even across unclean shutdowns.
-Setting the filesystem feature is equivalent to using the
+Use a journal to ensure file system consistency even across unclean shutdowns.
+Setting the file system feature is equivalent to using the
 .B \-j
 option.
 .TP
@@ -638,20 +638,20 @@
 .B large_dir
 Increase the limit on the number of files per directory.
 .B Tune2fs
-currently only supports setting this filesystem feature.
+currently only supports setting this file system feature.
 .TP
 .B huge_file
 Support files larger than 2 terabytes in size.
 .TP
 .B large_file
-Filesystem can contain files that are greater than 2GB.
+File System can contain files that are greater than 2GB.
 .TP
 .B metadata_csum
 Store a checksum to protect the contents in each metadata block.
 .TP
 .B metadata_csum_seed
-Allow the filesystem to store the metadata checksum seed in the
-superblock, enabling the administrator to change the UUID of a filesystem
+Allow the file system to store the metadata checksum seed in the
+superblock, enabling the administrator to change the UUID of a file system
 using the
 .B metadata_csum
 feature while it is mounted.
@@ -672,23 +672,23 @@
 Reserve space so the block group descriptor table may grow in the
 future.
 .B Tune2fs
-only supports clearing this filesystem feature.
+only supports clearing this file system feature.
 .TP
 .B sparse_super
-Limit the number of backup superblocks to save space on large filesystems.
+Limit the number of backup superblocks to save space on large file systems.
 .B Tune2fs
-currently only supports setting this filesystem feature.
+currently only supports setting this file system feature.
 .TP
 .B stable_inodes
-Prevent the filesystem from being shrunk or having its UUID changed, in order to
+Prevent the file system from being shrunk or having its UUID changed, in order to
 allow the use of specialized encryption settings that make use of the inode
 numbers and UUID.
 .B Tune2fs
-currently only supports setting this filesystem feature.
+currently only supports setting this file system feature.
 .TP
 .B uninit_bg
 Allow the kernel to initialize bitmaps and inode tables lazily, and to
-keep a high watermark for the unused inodes in a filesystem, to reduce
+keep a high watermark for the unused inodes in a file system, to reduce
 .BR e2fsck (8)
 time.  The first e2fsck run after enabling this feature will take the
 full time, but subsequent e2fsck runs will take only a fraction of the
@@ -697,7 +697,7 @@
 .B verity
 Enable support for verity protected files.
 .B Tune2fs
-currently only supports setting this filesystem feature.
+currently only supports setting this file system feature.
 .RE
 .IP
 After setting or clearing
@@ -706,10 +706,10 @@
 .BR filetype ,
 or
 .B resize_inode
-filesystem features,
+file system features,
 the file system may require being checked using
 .BR e2fsck (8)
-to return the filesystem to a consistent state.
+to return the file system to a consistent state.
 .B Tune2fs
 will print a message requesting that the system administrator run
 .BR e2fsck (8)
@@ -718,15 +718,15 @@
 feature,
 .B e2fsck -D
 can be run to convert existing directories to the hashed B-tree format.
-Enabling certain filesystem features may prevent the filesystem from being
+Enabling certain file system features may prevent the file system from being
 mounted by kernels which do not support those features.  In particular, the
 .B uninit_bg
 and
 .B flex_bg
-features are only supported by the ext4 filesystem.
+features are only supported by the ext4 file system.
 .TP
 .BI \-r " reserved-blocks-count"
-Set the number of reserved filesystem blocks.
+Set the number of reserved file system blocks.
 .TP
 .BI \-Q " quota-options"
 Sets 'quota' feature on the superblock and works on the quota files for the
@@ -744,14 +744,14 @@
 .RE
 .TP
 .BI \-T " time-last-checked"
-Set the time the filesystem was last checked using
+Set the time the file system was last checked using
 .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 filesystem, and then check the filesystem
+a consistent snapshot of a file system, and then check the file system
 during off hours to make sure it hasn't been corrupted due to
-hardware problems, etc.  If the filesystem was clean, then this option can
-be used to set the last checked time on the original filesystem.  The format
+hardware problems, etc.  If the file system was clean, then this option can
+be used to set the last checked time on the original file system.  The format
 of
 .I time-last-checked
 is the international date format, with an optional time specifier, i.e.
@@ -761,13 +761,13 @@
 current time.
 .TP
 .BI \-u " user"
-Set the user who can use the reserved filesystem blocks.
+Set the user who can use the reserved file system blocks.
 .I user
 can be a numerical uid or a user name.  If a user name is given, it
 is converted to a numerical uid before it is stored in the superblock.
 .TP
 .BI \-U " UUID"
-Set the universally unique identifier (UUID) of the filesystem to
+Set the universally unique identifier (UUID) of the file system to
 .IR UUID .
 The format of the UUID is a series of hex digits separated by hyphens,
 like this:
@@ -778,7 +778,7 @@
 .RS 1.2i
 .TP
 .I clear
-clear the filesystem UUID
+clear the file system UUID
 .TP
 .I random
 generate a new randomly-generated UUID
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index f739f16..cb5f575 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -59,6 +59,7 @@
 #include "et/com_err.h"
 #include "support/plausible.h"
 #include "support/quotaio.h"
+#include "support/devname.h"
 #include "uuid/uuid.h"
 #include "e2p/e2p.h"
 #include "util.h"
@@ -393,6 +394,8 @@
 				_("while clearing journal inode"));
 			return retval;
 		}
+		fs->super->s_overhead_clusters -=
+			EXT2FS_NUM_B2C(fs, EXT2_I_SIZE(&inode) / fs->blocksize);
 		memset(&inode, 0, sizeof(inode));
 		ext2fs_mark_bb_dirty(fs);
 		fs->flags &= ~EXT2_FLAG_SUPER_ONLY;
@@ -927,7 +930,7 @@
 	ext2fs_free_mem(&ctx.ea_buf);
 }
 
-static void rewrite_metadata_checksums(ext2_filsys fs, unsigned int flags)
+static errcode_t rewrite_metadata_checksums(ext2_filsys fs, unsigned int flags)
 {
 	errcode_t retval;
 	dgrp_t i;
@@ -942,7 +945,9 @@
 	rewrite_inodes(fs, flags);
 	ext2fs_mark_ib_dirty(fs);
 	ext2fs_mark_bb_dirty(fs);
-	ext2fs_mmp_update2(fs, 1);
+	retval = ext2fs_mmp_update2(fs, 1);
+	if (retval)
+		return retval;
 	fs->flags &= ~EXT2_FLAG_SUPER_ONLY;
 	fs->flags &= ~EXT2_FLAG_IGNORE_CSUM_ERRORS;
 	if (ext2fs_has_feature_metadata_csum(fs->super))
@@ -950,6 +955,7 @@
 	else
 		fs->super->s_checksum_type = 0;
 	ext2fs_mark_super_dirty(fs);
+	return 0;
 }
 
 static void enable_uninit_bg(ext2_filsys fs)
@@ -1611,8 +1617,12 @@
 			com_err(program_name, retval, "%s",
 				_("\n\twhile trying to create journal file"));
 			return retval;
-		} else
-			fputs(_("done\n"), stdout);
+		}
+		fs->super->s_overhead_clusters += EXT2FS_NUM_B2C(fs,
+			jparams.num_journal_blocks + jparams.num_fc_blocks);
+		ext2fs_mark_super_dirty(fs);
+		fputs(_("done\n"), stdout);
+
 		/*
 		 * If the filesystem wasn't mounted, we need to force
 		 * the block group descriptors out.
@@ -1671,8 +1681,9 @@
 		if (quota_enable[qtype] == QOPT_ENABLE &&
 		    *quota_sb_inump(fs->super, qtype) == 0) {
 			if ((qf_ino = quota_file_exists(fs, qtype)) > 0) {
-				retval = quota_update_limits(qctx, qf_ino,
-							     qtype);
+				retval = quota_read_all_dquots(qctx, qf_ino,
+							       qtype,
+							       QREAD_LIMITS);
 				if (retval) {
 					com_err(program_name, retval,
 						_("while updating quota limits (%d)"),
@@ -1767,7 +1778,7 @@
 	io_options = strchr(argv[1], '?');
 	if (io_options)
 		*io_options++ = 0;
-	device_name = blkid_get_devname(NULL, argv[1], NULL);
+	device_name = get_devname(NULL, argv[1], NULL);
 	if (!device_name) {
 		com_err("e2label", 0, _("Unable to resolve '%s'"),
 			argv[1]);
@@ -2067,7 +2078,7 @@
 	io_options = strchr(argv[optind], '?');
 	if (io_options)
 		*io_options++ = 0;
-	device_name = blkid_get_devname(NULL, argv[optind], NULL);
+	device_name = get_devname(NULL, argv[optind], NULL);
 	if (!device_name) {
 		com_err(program_name, 0, _("Unable to resolve '%s'"),
 			argv[optind]);
@@ -2944,6 +2955,8 @@
 #endif
 	if (argc && *argv)
 		program_name = *argv;
+	else
+		usage();
 	add_error_table(&et_ext2_error_table);
 
 #ifdef CONFIG_BUILD_FINDFS
@@ -3095,9 +3108,9 @@
 		if (retval) {
 			com_err("tune2fs", retval,
 				"while recovering journal.\n");
-			printf(_("Please run e2fsck -fy %s.\n"), argv[1]);
-			if (fs)
-				ext2fs_close_free(&fs);
+			printf(_("Please run e2fsck -fy %s.\n"), device_name);
+			if (!fs)
+				exit(1);
 			rc = 1;
 			goto closefs;
 		}
@@ -3235,6 +3248,7 @@
 			fputs(_("Error in using clear_mmp. "
 				"It must be used with -f\n"),
 			      stderr);
+			rc = 1;
 			goto closefs;
 		}
 	}
@@ -3401,8 +3415,14 @@
 		}
 	}
 
-	if (rewrite_checksums)
-		rewrite_metadata_checksums(fs, rewrite_checksums);
+	if (rewrite_checksums) {
+		retval = rewrite_metadata_checksums(fs, rewrite_checksums);
+		if (retval != 0) {
+			printf("Failed to rewrite metadata checksums\n");
+			rc = 1;
+			goto closefs;
+		}
+	}
 
 	if (l_flag)
 		list_super(sb);
@@ -3439,5 +3459,13 @@
 
 	if (feature_64bit)
 		convert_64bit(fs, feature_64bit);
-	return (ext2fs_close_free(&fs) ? 1 : 0);
+
+	retval = ext2fs_close_free(&fs);
+	if (retval) {
+		com_err("tune2fs", retval,
+			_("while writing out and closing file system"));
+		rc = 1;
+	}
+
+	return rc;
 }
diff --git a/misc/util.c b/misc/util.c
index 48e623d..3e83169 100644
--- a/misc/util.c
+++ b/misc/util.c
@@ -16,6 +16,11 @@
 #define _LARGEFILE64_SOURCE
 #endif
 
+#ifdef _WIN32
+#define _POSIX
+#define __USE_MINGW_ALARM
+#endif
+
 #include "config.h"
 #include <fcntl.h>
 #include <setjmp.h>
@@ -45,6 +50,7 @@
 #include "ext2fs/ext2_fs.h"
 #include "ext2fs/ext2fs.h"
 #include "support/nls-enable.h"
+#include "support/devname.h"
 #include "blkid/blkid.h"
 #include "util.h"
 
@@ -183,7 +189,7 @@
 		       arg ? arg : "NONE");
 #endif
 		if (strcmp(token, "device") == 0) {
-			journal_device = blkid_get_devname(NULL, arg, NULL);
+			journal_device = get_devname(NULL, arg, NULL);
 			if (!journal_device) {
 				if (arg)
 					fprintf(stderr, _("\nCould not find "
diff --git a/po/LINGUAS b/po/LINGUAS
index 9217232..ef3bda2 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1 +1 @@
-ca cs da de eo es fi fr hu id it ms nl pl pt sr sv tr uk vi zh_CN
+ca cs da de eo es fi fr fur hu id it ms nl pl pt sr sv tr uk vi zh_CN
diff --git a/po/cs.po b/po/cs.po
index df473fa..a351851 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -3,12 +3,15 @@
 # This file is distributed under the same license as the e2fsprogs package.
 # Miloslav Trmac <mitr@volny.cz>, 2003.
 # Petr Pisar <petr.pisar@atlas.cz>, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
-# Petr Pisar <petr.pisar@atlas.cz>, 2016, 2017, 2018, 2019, 2021.
+# Petr Pisar <petr.pisar@atlas.cz>, 2016, 2017, 2018, 2019, 2021, 2022.
 #
 # %i, %b, %N in e2fsck/problem.c do not support positional ordering (%2$i).
 # But they can be freely reordered because those are extracted from a context,
 # not from the separate positional arguments.
 #
+# encryption policy → pravidla šifrování
+# feature flag → příznak vlastnosti
+#
 #. 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,
 #. there is an @-expansion, where strings like "@i" are expanded to
@@ -80,10 +83,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs 1.46.0\n"
+"Project-Id-Version: e2fsprogs 1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-01-28 13:42-0500\n"
-"PO-Revision-Date: 2021-02-02 20:05+01:00\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-13 21:00+02:00\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -93,7 +96,7 @@
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Špatný blok %u mimo rozsah; ignorován.\n"
@@ -106,30 +109,30 @@
 msgid "while reading the bad blocks inode"
 msgstr "při čtení iuzlu špatných bloků"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:692 misc/dumpe2fs.c:696 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2881 misc/tune2fs.c:2980 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "při pokusu otevřít %s"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "při pokusu popen „%s“"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "při načítání seznamu špatných bloků ze souboru"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "při aktualizaci iuzlu špatných bloků"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Varování: v iuzlu špatných bloků nalezen nepovolený blok %u. Vymazán.\n"
@@ -210,64 +213,36 @@
 "ioctl BLKFLSBUF nepodporováno! Nemohu synchronizovat vyrovnávací paměti.\n"
 "\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Použití: %s [-F] [-I bloky_inode_bufferů] zařízení\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "při otevírání %s pro synchronizaci"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:385
-#, c-format
-msgid "while trying to flush %s"
-msgstr "při pokusu synchronizovat %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "při pokusu otevřít „%s“"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "při zahájení průchodu iuzly"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "při získávání dalšího iuzlu"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "prozkoumáno %u iuzlů.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "čtení superbloku žurnálu\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: nenalezen platný superblok žurnálu\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: žurnál příliš krátký\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3787
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: nesprávné bloky pro rychlý zápis\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: obnovuje se žurnál\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: v režimu jen pro čtení se žurnál obnovovat nebude\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "při pokusu znovu otevřít %s"
@@ -437,61 +412,61 @@
 msgid "<Reserved inode 10>"
 msgstr "<Rezervovaný iuzel 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "obyčejný soubor"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "adresář"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "znakové zařízení"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "blokové zařízení"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "pojmenovaná roura"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "symbolický odkaz"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "soket"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "neznámý druh souboru o módu 0%o"
 
 # Expansion of %B in singular nominativ
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "nepřímý blok"
 
 # Expansion of %B in singular nominativ
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "dvojnásobně nepřímý blok"
 
 # Expansion of %B in singular nominativ
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "trojnásobně nepřímý blok"
 
 # Expansion of %B in singular nominativ
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "překladový blok"
 
 # Expansion of %B in singular nominativ
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "blok č."
 
@@ -515,117 +490,125 @@
 msgid "unknown quota type"
 msgstr "neznámého druhu"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "mapa několikrát alokovaných iuzlů"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "vnitřní chyba: nemohu najít dup_blk pro %llu\n"
 
-#: e2fsck/pass1b.c:956
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "vrácený z clone_file_block"
 
-#: e2fsck/pass1b.c:980
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "Vnitřní chyba: nemohu najít záznam EA bloku pro %llu"
 
-#: e2fsck/pass1b.c:992
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "Vnitřní chyba: nemohu najít záznam EA iuzlu pro %u"
 
-#: e2fsck/pass1.c:358
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "při výpočtu hashe položky s e_value_inum = %u"
 
-#: e2fsck/pass1.c:776 e2fsck/pass2.c:1018
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr "čtení adresářového bloku"
 
-#: e2fsck/pass1.c:1175
+#: e2fsck/pass1.c:1169
 msgid "getting next inode from scan"
 msgstr "získávání dalšího iuzlu z průzkumu"
 
-#: e2fsck/pass1.c:1227
+#: e2fsck/pass1.c:1221
 msgid "in-use inode map"
 msgstr "mapa používaných iuzlů"
 
-#: e2fsck/pass1.c:1238
+#: e2fsck/pass1.c:1232
 msgid "directory inode map"
 msgstr "mapa iuzlů adresářů"
 
-#: e2fsck/pass1.c:1248
+#: e2fsck/pass1.c:1242
 msgid "regular file inode map"
 msgstr "mapa iuzlů obyčejných souborů"
 
-#: e2fsck/pass1.c:1257 misc/e2image.c:1282
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
 msgid "in-use block map"
 msgstr "mapa používaných bloků"
 
-#: e2fsck/pass1.c:1266
+#: e2fsck/pass1.c:1260
 msgid "metadata block map"
 msgstr "mapa bloků metadat"
 
-#: e2fsck/pass1.c:1328
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "mapa velikosti znaků iuzlů"
+
+#: e2fsck/pass1.c:1336
 msgid "opening inode scan"
 msgstr "otevírání průzkumu iuzlů"
 
-#: e2fsck/pass1.c:2083
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
 msgstr "Průchod 1"
 
-#: e2fsck/pass1.c:2144
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "čtu nepřímé bloky iuzlu %u"
 
-#: e2fsck/pass1.c:2195
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
 msgstr "mapa špatných iuzlů"
 
-#: e2fsck/pass1.c:2253
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
 msgstr "iuzel v mapě špatných bloků"
 
-#: e2fsck/pass1.c:2273
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
 msgstr "mapa imagic iuzlů"
 
-#: e2fsck/pass1.c:2304
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr "mapa několikrát alokovaných bloků"
 
-#: e2fsck/pass1.c:2429
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "mapa bloků rozšířených atributů"
 
-#: e2fsck/pass1.c:3685
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): očekáváno %6lu, obdrženo fyz. %6lu (bloků %lld)\n"
 
-#: e2fsck/pass1.c:4105
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "bitmapa bloků"
 
-#: e2fsck/pass1.c:4111
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "bitmapa iuzlů"
 
-#: e2fsck/pass1.c:4117
+#: e2fsck/pass1.c:4162
 msgid "inode table"
 msgstr "tabulka iuzlů"
 
-#: e2fsck/pass2.c:312
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr "Průchod 2"
 
-#: e2fsck/pass2.c:1091 e2fsck/pass2.c:1266
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "Podpora pro přirozené jazyky je rozbitá."
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "Nemohu pokračovat."
 
@@ -641,7 +624,7 @@
 msgid "Pass 3"
 msgstr "Průchod 3"
 
-#: e2fsck/pass3.c:350
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr "bitmapa detekce cyklů iuzlů"
 
@@ -1564,7 +1547,7 @@
 msgstr "Varování: nemohu zapsat blok %b pro %s: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:726 e2fsck/problem.c:1898
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "Chyba při alokaci bitmapy iuzlů (%N): %m\n"
 
@@ -2081,10 +2064,10 @@
 "Iuzel %i má zdvojené mapování rozsahu\n"
 "\t(logický blok %c, neplatný fyzický blok %b, délka %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
 #: e2fsck/problem.c:1204
-msgid "@A memory for encrypted @d list\n"
-msgstr "Chyba při alokaci paměti pro seznam šifrovaných adresářů\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "Chyba při alokaci %N bajtů paměti pro seznam šifrovaných iuzlů\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
 #: e2fsck/problem.c:1209
@@ -2129,15 +2112,21 @@
 "Iuzlu rozšířeného atributu %N pro rodičovský iuzel %i chybí příznak EA_INODE.\n"
 " "
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "Iuzel %i má na bloku %c (délka %N) rozsah označený jako neinicializovaný. "
+
 #. @-expanded: inode %i has the casefold flag set but is not a directory.  
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1254
 #, c-format
 msgid "@i %i has the casefold flag set but is not a directory.  "
 msgstr "Iuzel %i má nastaven příznak casefold, ale není adresářem. "
 
 #. @-expanded: directory %p has the casefold flag, but the\n
 #. @-expanded: casefold feature is not enabled.  
-#: e2fsck/problem.c:1253
+#: e2fsck/problem.c:1259
 #, c-format
 msgid ""
 "@d %p has the casefold flag, but the\n"
@@ -2146,13 +2135,25 @@
 "Adresář %p má příznak casefold, ale\n"
 "vlastnost casefold není zapnuta.  "
 
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "Iuzel %i má nastaven příznak šifrování, ale nemá žádný šifrovací rozšířený atribut.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "Šifrovaný iuzel %i má poškozený šifrovací rozšířený atribut.\n"
+
 #. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
-#: e2fsck/problem.c:1258
+#: e2fsck/problem.c:1274
 msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
 msgstr "Iuzel %i HTREE adresáře používá verzi hashe (%N), ale měl by používat SipHash (6) \n"
 
 #. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
-#: e2fsck/problem.c:1263
+#: e2fsck/problem.c:1279
 #, c-format
 msgid "@h %i uses SipHash, but should not.  "
 msgstr "Iuzel %i HTREE adresáře používá SipHash, ale neměl by.  "
@@ -2160,7 +2161,7 @@
 #. @-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
-#: e2fsck/problem.c:1270
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2172,46 +2173,46 @@
 "Průchod 1B: Znovu vyšetřuji více krát alokované bloky\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "Více krát alokovaný(é) blok(y) v iuzlu %i:"
 
-#: e2fsck/problem.c:1293
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Chyba při zkoumání iuzlů (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1299
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "Chyba při alokaci bitmapy iuzlů (inode_dup_map): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1305
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Chyba při iteraci přes bloky v iuzlu %i (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1310 e2fsck/problem.c:1685
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Chyba při úpravě počtu odkazů bloku rozšířených atributů %b (iuzel %i): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Průchod 1C: Hledání iuzlů s duplikovanými bloky v adresářích.\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1326
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Průchod 1D: Opravuji duplikátní bloky\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1331
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2220,18 +2221,18 @@
 "  má %r duplikovaný(ch) blok(ů) sdílený(ch) mezi %N soubory/souborem:\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1337
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "        %Q (iuzel %i, čas změny %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1342
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<metadata systému souborů>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1347
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2241,7 +2242,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1352
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2249,347 +2250,352 @@
 "Duplikátní bloky již přiřazeny nebo naklonovány.\n"
 "\n"
 
-#: e2fsck/problem.c:1366
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Nemohu klonovat soubor: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1372
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Průchod 1E: Optimalizují se stromy rozsahů\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1378
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Optimalizace stromu rozsahů %p (%i) selhala: %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1383
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Optimalizují se stromy rozsahů: "
 
-#: e2fsck/problem.c:1398
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Vnitřní chyba: maximální hloubka stromu rozsahů je příliš velká (%b, očekáváno=%c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1403
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "Strom rozsahu iuzlu %i (na úrovni %b) by mohl být kratší. "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1408
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "Strom rozsahu iuzlu %i (na úrovni %b) by mohl být užší. "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1415
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Průchod 2: Kontroluje se struktura adresářů\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1421
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "Špatné číslo iuzlu pro „.“ v iuzlu adresáře %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1426
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "Položka „%Dn“ v %p (%i) má špatné číslo iuzlu: %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1431
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "Položka „%Dn“ v %p (%i) má odstraněný/nepoužívaný iuzel %Di. "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1436
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "Položka „%Dn“ v %p (%i) je odkaz na „.“ "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1441
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "Položka „%Dn“ v %p (%i) ukazuje na iuzel (%Di) umístěný ve špatném bloku.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "Položka „%Dn“ v %p (%i) je odkaz na adresář %P (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "Položka „%Dn“ v %p (%i) je odkaz na kořenový iuzel.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "Položka „%Dn“ v %p (%i) má ve svém jméně neplatné znaky.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1462
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "Chybí „.“ v iuzlu adresáře %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1468
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "Chybí „..“ v iuzlu adresáře %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1473
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "První položka „%Dn“ (iuzel=%Di) v iuzlu adresáře %i (%p) by měla být „.“\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1478
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "Druhá položka „%Dn“ (iuzel=%Di) v iuzlu adresáře %i by měla být „..“\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1483
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "i_faddr pro iuzel %i (%Q) je %IF, měla by být nula.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1488
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "i_file_acl pro iuzel %i (%Q) je %If, mělo by být nula.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1493
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "i_size_high pro iuzel %i (%Q) je %Id, měla by být nula.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1498
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "i_frag pro iuzel %i (%Q) je %N, mělo by být nula.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1503
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "i_fsize pro iuzel %i (%Q) je %N, měla by být nula.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1508
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "Iuzel %i (%Q) má špatný mód (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "Iuzel adresáře %i, %B, pozice %N: adresář poškozen\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "Iuzel adresáře %i, blok %B, pozice %N: název souboru příliš dlouhý\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "Iuzel adresáře %i má nealokovaný %B. "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1529
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "Položka adresáře „.“ v iuzlu adresáře %i není ukončena NULL\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1535
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "Položka adresáře „..“ v iuzlu adresáře %i není ukončena NULL\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1540
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "Iuzel %i (%q) je neplatné znakové zařízení.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1545
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "Iuzel %i (%Q) je neplatné blokové zařízení.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "Položka „%Dn“ v %p (%i) je duplikátní položka „.“.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1555
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "Položka „%Dn“ v %p (%i) je duplikátní položka „..“.\n"
 
-#: e2fsck/problem.c:1561 e2fsck/problem.c:1925
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Interní chyba: nemohu najít dir_info pro %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "Položka „%Dn“ v %p (%i) má rec_len %Dr, měla by být %N.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "Chyba při alokaci struktury icount: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Chyba při iterování přes bloky adresáře: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1583
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Chyba při čtení bloku adresáře %b (iuzel %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1588
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Chyba při zápisu bloku adresáře %b (iuzel %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "Chyba při alokaci nového bloku adresáře pro iuzel %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1600
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Chyba při dealokaci iuzlu %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1606
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "Položka adresáře pro „.“ v %p (%i) je velká.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1611
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "Iuzel %i (%Q) je neplatná FIFO.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1616
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "Iuzel %i (%Q) je neplatný socket.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1621
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Nastavuje se filetype pro položku „%Dn“ v %p (%i) na %N.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1626
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "Položka „%Dn“ v %p (%i) má chybný filetype (byl %Dt, měl by být %N).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1631
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "Položka „%Dn“ v %p (%i) má nastaven filetype.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1636
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "Položka „%Dn“ v %p (%i) má název nulové délky.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1641
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Symbolický odkaz %Q (iuzel #%i) není platný.\n"
 
 # FIXME: @F already ends with 'is'
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1646
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "Blok rozšířených atributů pro iuzel %i (%Q) není platný (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1651
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr "Systém souborů obsahuje velké soubory, ale v superbloku nemá příznak LARGE_FILE.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1656
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: na %B neexistuje odkaz\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1661
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: na %B vedou dva odkazy\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1666
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: %B má špatný min hash\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1671
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: %B má špatný max hash\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1676
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "Neplatný iuzel HTREE adresáře %d (%q). "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "Systém souborů obsahuje velké adresáře, ale v superbloku nemá příznak LARGE_DIR.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1680
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "Problém v iuzlu HTREE adresáře %d (%q): špatné číslo bloku %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1691
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: kořenový uzel není platný\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1696
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: %B má špatný limit (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1701
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: %B má špatný počet (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1706
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: %B má nesetříděnou hash tabulku\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1711
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: %B má špatnou hloubku (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1716
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Nalezena duplikátní položka „%Dn“ v %p (%i). "
 
 # FIXME: no-c-format
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1721
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2601,7 +2607,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1726
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2612,160 +2618,175 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1731
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi pro iuzel %i (%Q) je %N, měl by být nula.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1736
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "Neočekávaný blok v iuzlu HTREE adresáře %d (%q).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "Položka „%Di“ v %p (%i) odkazuje na iuzel %Di ve skupině %g, kde je nastaveno _INODE_UNINIT.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "Položka „%Dn“ v %p (%i) odkazuje na iuzel %Di nalezený ve skupině %g oblasti nepoužitých iuzlů.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "i_file_acl_hi pro iuzel %i (%Q) je %N, mělo by být nula.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1757
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: kontrolní součet kořenového uzlu nesouhlasí.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1763
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "Problém v iuzlu HTREE adresáře %d: kontrolní součet vnitřního uzlu nesouhlasí.\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1768
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "Iuzel adresáře %i, %B, pozice %N: adresář nemá kontrolní součet.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1773
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "Iuzel adresáře %i, %B: adresář prošel kontrolami, ale součet nesouhlasí.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1778
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "Velikost (%N) iuzlu %i vestavěného adresáře musí být násobek čtyř.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Oprava velikosti iuzly vestavěného adresáře %i se nepodařila.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1789
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "Zašifrovaný záznam „%Dn“ v %p (%i) je příliš krátký.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "Šifrovaný záznam „%Dn“ v %p (%i) odkazuje na nešifrovaný iuzel %Di.\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "Šifrovaný záznam „%Dn“ v %p (%i) odkazuje na iuzel %Di, který má odlišná pravidla šifrování.\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "Položka „%Dn“ v %p (%i) má ve svém jméně neplatné znaky UTF-8.\n"
+
 #. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1794
+#: e2fsck/problem.c:1831
 msgid "Duplicate filename @E found.  "
 msgstr "Nalezena duplikátní položka názvu souboru „%Dn“ v %p (%i).  "
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1801
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Průchod 3: Kontroluje se dosažitelnost adresářů\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "Kořenový iuzel nealokován. "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1811
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Není místo v adresáři lost+found. "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1817
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "Nepřipojený adresářový iuzel %i (%p)\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "Nepřipojený adresářový iuzel %i (byl v %q)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1822
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "/lost+found nenalezeno. "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1827
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "„..“ v %Q (%i) je %P (%j), mělo by být %q (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1833
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "Špatné nebo neexistující /lost+found. Nemohu znovu připojit.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1839
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Nemohu zvětšit /lost+found: %m\n"
 
-#: e2fsck/problem.c:1845
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Nemohu znovu připojit %i: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1851
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Chyba při pokusu najít /lost+found: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1857
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_block: %m při pokusu vytvořit adresář /lost+found\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1863
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_inode: %m při pokusu vytvořit adresář /lost+found\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1869
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_block: %m při pokusu vytváření nového adresáře /lost+found\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1875
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_block: %m při zápisu bloku adresáře pro /lost+found\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1881
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Chyba při úpravě četnosti iuzlu v iuzlu %i\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1887
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2776,7 +2797,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2786,41 +2807,41 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Chyba při vytváření kořenového adresáře (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1910
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Chyba při vytváření adresáře /lost+found (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1915
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "Kořenový iuzel není adresář; končím.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1920
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Nemohu pokračovat bez kořenového iuzlu.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/lost+found není adresář (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1936
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/lost+found má vestavěná data\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1941
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2831,7 +2852,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1946
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2841,52 +2862,58 @@
 "Přesuňte data ze souborového systému a e2fsck spusťte znovu.\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1951
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/lost+found je zašifrován\n"
 
-#: e2fsck/problem.c:1958
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "Rekurzivně zacyklený adresářový iuzel %i (%p)\n"
+
+#: e2fsck/problem.c:2002
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Průchod 3A: Optimalizuji adresáře\n"
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Nemohu vytvořit iterátor dirs_to_hash: %m\n"
 
-#: e2fsck/problem.c:1969
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Nemohu optimalizovat adresář %q (%d): %m\n"
 
-#: e2fsck/problem.c:1974
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Optimalizuji adresáře: "
 
-#: e2fsck/problem.c:1991
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Průchod 4: Kontrolují se počty odkazů\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "Osiřelý iuzel %i s nulovou délkou. "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:2003
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "Osiřelý iuzel %i\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:2008
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "Počet odkazů na iuzel %i je %Il, měl by být %N. "
 
 #. @-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
-#: e2fsck/problem.c:2012
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2898,151 +2925,151 @@
 "inode_link_info[%i] je %N, inode.i_links_count je %Il. Měly by být stejné!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "Počet odkazů na iuzel rozšířeného atributu %i je %N, měl by být %n. "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:2024
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "Adresář překračuje maximum odkazů, ale v superbloku chybí vlastnost DIR_NLINK.\n"
 
 #. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
-#: e2fsck/problem.c:2029
+#: e2fsck/problem.c:2073
 msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
 msgstr "Počítadlo odkazů iuzlu %i adresáře nastaveno na přetečeno, ale mohlo by být přesně %N.  "
 
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2036
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Průchod 5: Kontrolují se souhrnné informace skupin\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr "Výplň na konci bitmapy iuzlů není nastavena. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2046
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
 msgstr "Výplň na konci bitmapy bloků není nastavena. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2051
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "Rozdíly v bitmapě bloků: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "Rozdíly v bitmapě iuzlů: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2095
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Počet volných iuzlů ve skupině č. %g špatně (%i, spočteno=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Počet adresářů ve skupině č. %g špatně (%i, spočteno=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2105
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Počet volných iuzlů špatně (%i, spočteno=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2110
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Počet volných bloků ve skupině č. %g špatně (%b, spočteno=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2115
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Počet volných bloků špatně (%b, spočteno=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2120
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr "CHYBA PŘI PROGRAMOVÁNÍ: hranice (%b, %c) bitmapy systému souborů (#%N) neodpovídají vypočteným hranicím bitmapy (%i, %j)\n"
 
-#: e2fsck/problem.c:2126
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Interní chyba: pokažený konec bitmapy (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2132
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Chyba při kopírování do náhradní bitmapy iuzlů: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2138
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Chyba při kopírování do náhradní bitmapy bloků: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2168
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "Blok(y) skupiny %g je/jsou používán(y), ale skupina je označena jako BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2174
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "Iuzel/iuzly skupiny %g je/jsou používán(y), ale skupina je označena jako INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2180
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "Bitmapa iuzlů skupiny %g neodpovídá kontrolnímu součtu.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2186
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "Bitmapa bloků skupiny %g neodpovídá kontrolnímu součtu.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2193
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "Znovu vytvořit žurnál"
 
-#: e2fsck/problem.c:2198
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "Aktualizovat údaje o kvótách pro druh kvót %N"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2204
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Chyba při nastavování informace o kontrolním součtu skupiny bloků: %m\n"
 
-#: e2fsck/problem.c:2210
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Chyba při zápisu údajů o souborovém systému: %m\n"
 
-#: e2fsck/problem.c:2216
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Chyba při synchronizaci zápisů na zařízení úložiště: %m\n"
 
-#: e2fsck/problem.c:2221
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Chyba při zápisu údajů o kvótách pro druh kvót %N: %m\n"
 
-#: e2fsck/problem.c:2384
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Neobsloužený kód chyby (0x%x)!\n"
 
-#: e2fsck/problem.c:2514 e2fsck/problem.c:2518
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "IGNOROVÁNO"
 
@@ -3060,6 +3087,10 @@
 msgid "size of inode=%d\n"
 msgstr "velikost iuzlu=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "při zahájení průchodu iuzly"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "při spouštění prohlídky iuzlů"
@@ -3078,15 +3109,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "při volání ext2fs_adjust_ea_refcount2 pro iuzel %u"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "Usekávám"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Mažu"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3097,7 +3128,7 @@
 "\t\t[-l|-L soubor_špatných_bloků] [-C fd] [-j externí_žurnál]\n"
 "\t\t[-E rozšířené-přepínače] [-z soubor_s_historií] zařízení\n"
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3115,7 +3146,7 @@
 " -c                   Hledat špatné bloky a přidat je do seznamu špatných bloků\n"
 " -f                   Vynutit kontrolu, i když je systém souborů označen čistý\n"
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3136,12 +3167,12 @@
 " -z soubor_s_historií\n"
 "                      Vytvořit soubor pro návrat změn\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %'u/%'u souborů (%0d,%d %% nesouvislých), %'llu/%'llu bloků\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3159,7 +3190,7 @@
 "\n"
 "%12u použitých iuzlů (%2.2f %% z %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
@@ -3167,7 +3198,7 @@
 msgstr[1] "%12u nesouvislé soubory (%0d,%d %%)\n"
 msgstr[2] "%12u nesouvislých souborů (%0d,%d %%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
@@ -3175,16 +3206,16 @@
 msgstr[1] "%12u nesouvislé adresáře (%0d,%d %%)\n"
 msgstr[2] "%12u nesouvislých adresářů (%0d,%d %%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             Počet iuzlů s ind/dind/tind bloky: %'u/%'u/%'u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr "             Histogram hloubky rozsahu: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
@@ -3192,7 +3223,7 @@
 msgstr[1] "%12llu použité bloky (%2.2f %% z %llu)\n"
 msgstr[2] "%12llu použitých bloků (%2.2f %% z %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
@@ -3200,7 +3231,7 @@
 msgstr[1] "%12u chybné bloky\n"
 msgstr[2] "%12u chybných bloků\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
@@ -3208,7 +3239,7 @@
 msgstr[1] "%12u velké soubory\n"
 msgstr[2] "%12u velkých souborů\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3226,7 +3257,7 @@
 "\n"
 "%12u obyčejných souborů\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
@@ -3234,7 +3265,7 @@
 msgstr[1] "%12u adresáře\n"
 msgstr[2] "%12u adresářů\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
@@ -3242,7 +3273,7 @@
 msgstr[1] "%12u znaková zařízení\n"
 msgstr[2] "%12u znakových zařízení\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
@@ -3250,7 +3281,7 @@
 msgstr[1] "%12u bloková zařízení\n"
 msgstr[2] "%12u blokových zařízení\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
@@ -3258,7 +3289,7 @@
 msgstr[1] "%12u roury\n"
 msgstr[2] "%12u rour\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
@@ -3266,7 +3297,7 @@
 msgstr[1] "%12u odkazy\n"
 msgstr[2] "%12u odkazů\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
@@ -3274,7 +3305,7 @@
 msgstr[1] "%12u symbolické odkazy"
 msgstr[2] "%12u symbolických odkazů"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
@@ -3282,7 +3313,7 @@
 msgstr[1] "(%u rychlé symbolické odkazy)\n"
 msgstr[2] "(%u rychlých symbolických odkazů)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
@@ -3290,7 +3321,7 @@
 msgstr[1] "%12u sockety\n"
 msgstr[2] "%12u socketů\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
@@ -3298,33 +3329,33 @@
 msgstr[1] "%12u soubory\n"
 msgstr[2] "%12u souborů\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3072 misc/util.c:129
-#: resize/main.c:356
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "při zjišťování, jestli je %s připojen."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Pozor! %s je připojen.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Pozor! %s se používá.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s je připojen.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s se používá.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3332,7 +3363,7 @@
 "Nemohu pokračovat, končím.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3346,85 +3377,85 @@
 "***ZPŮSOBÍTE VÁŽNÉ*** poškození systému souborů.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "Chcete opravdu pokračovat"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "kontrola přerušena.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " obsahuje systém souborů s chybami"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " nebyl čistě odpojen"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr " vlastnosti primárního superbloku se liší od záložního"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " byl připojen %ukrát bez kontroly"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " má čas poslední kontroly systému souborů v budoucnosti"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " nebyl kontrolován %u dní"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr "ignoruje se interval mezi kontrolami, je nastaveno broken_system_clock\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", kontrola vynucena.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: čistý, %'u/%'u souborů, %'llu/%'llu bloků"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr " (kontrola odložena, běžím na baterii)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (kontrola po příštím připojení)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (kontrola za %ld připojení)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "CHYBA: Nemohu otevřít /dev/null (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Neplatná verze EA.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "Neplatná velikost paměti pro přednačítání.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Neznámý rozšířený přepínač: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3436,15 +3467,15 @@
 "oddělen znaménkem rovná se („=“). Platné rozšířené přepínače jsou:\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "\tea_ver=<verze_rozšířeného_atributu (1 nebo 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "\treadahead_kb=<velikost_vyrovnávací_paměti>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3453,55 +3484,65 @@
 "Syntaktická chyba v konfiguračním souboru e2fsck (%s, řádek č. %d)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Chyba při ověřování platnosti deskriptoru souboru %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr "Neplatný deskriptor souborů informace o dokončení"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Může být zadán jen jeden z přepínačů -p/-a, -n nebo -y."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "Přepínač -t není v této verzi e2fsck podporován.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1721 misc/tune2fs.c:2016 misc/tune2fs.c:2034
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Nelze vyřešit „%s“"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr "Přepínače -n a -D se vzájemně vylučují."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr "Přepínače -n a -c se vzájemně vylučují."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr "Přepínače -n a -l/-L se vzájemně vylučují."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Přepínače -D a -E fixes_only se vzájemně vylučují."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Přepínače -E bmap2extent a fixes_only se vzájemně vylučují."
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "při otevírání %s pro synchronizaci"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "při pokusu synchronizovat %s"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "Přepínače -c a -l/-L nemohou být použity zároveň.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3510,7 +3551,7 @@
 "E2FSCK_JBD_DEBUG „%s“ není celým číslem\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3521,16 +3562,16 @@
 "Neplatný nečíselný argument u -%c („%s“)\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "Interval MMP je %u sekund a celková doba čekání je %u sekund. Prosím o strpení…\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "při kontrole bloku MMP"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3539,13 +3580,13 @@
 "Jste-li si jisti, že souborový systém není používán na žádném uzlu, spusťte:\n"
 "„tune2fs -f -E clear_mmp %s“\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "při čtení bloku MMP"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2708 misc/mke2fs.c:2759 misc/tune2fs.c:2798
-#: misc/tune2fs.c:2843 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3555,57 +3596,57 @@
 "Přepisuji existující systém souborů, toto může být odčiněno příkazem:\n"
 "   e2undo %s %s\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2748 misc/tune2fs.c:2832
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "při pokusu smazat %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2774 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "při pokusu nastavit soubor pro odvolání změn\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Chyba: stará verze knihovny ext2fs!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "při pokusu inicializovat program"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\tPoužívám %s, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "pro interaktivní opravy potřebuji terminál"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s zkouším záložní bloky…\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "Neplatný superblok,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Deskriptory skupin vypadají špatně…"
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: %s při použití záložních bloků"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: návrat k původnímu superbloku\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3615,28 +3656,28 @@
 "(Nebo je superblok systému souborů poškozen)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "Mohl by toto být oddíl nulové délky?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Musíte mít přístup %s k systému souborů nebo být root\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Pravděpodobně neexistující nebo odkládací zařízení?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "Systém souborů připojen nebo otevřen výlučně jiným programem?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "Pravděpodobně neexistující zařízení?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3644,79 +3685,79 @@
 "Disk chráněn proti zápisu; použijte přepínač -n pro provedení\n"
 "kontroly zařízení jen pro čtení.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: Superblok se zkusí načíst i přes chyby…\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr "Sežeňte novější verzi e2fsck!"
 
-#: e2fsck/unix.c:1748
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "při kontrole žurnálu pro %s"
 
-#: e2fsck/unix.c:1751
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr "Nelze pokračovat v kontrole souborového systému"
 
-#: e2fsck/unix.c:1762
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr ""
 "Varování: přeskakuji obnovu žurnálu, protože provádím kontrolu systému\n"
 "souborů jen pro čtení.\n"
 
-#: e2fsck/unix.c:1774
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "nemohu nastavit příznaky superbloku na %s\n"
 
-#: e2fsck/unix.c:1780
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Nalezena chyba kontrolního součtu žurnálu v %s\n"
 
-#: e2fsck/unix.c:1784
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Žurnál poškozen v %s\n"
 
-#: e2fsck/unix.c:1788
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "při obnově žurnálu %s"
 
-#: e2fsck/unix.c:1810
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s má nepodporovanou vlastnost(i):"
 
-#: e2fsck/unix.c:1825
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s má nepodporované kódování: %0x\n"
 
-#: e2fsck/unix.c:1875
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: %s při čtení iuzlu špatných bloků\n"
 
-#: e2fsck/unix.c:1878
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Toto nevypadá dobře, ale zkusíme pokračovat…\n"
 
-#: e2fsck/unix.c:1918
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Vytváří se žurnál (%d bloků): "
 
-#: e2fsck/unix.c:1928
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr " Hotovo.\n"
 
-#: e2fsck/unix.c:1930
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3724,24 +3765,24 @@
 "\n"
 "*** žurnál byl znovu vytvořen ***\n"
 
-#: e2fsck/unix.c:1936
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "přerušen"
 
-#: e2fsck/unix.c:1938
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: e2fsck přerušen.\n"
 
-#: e2fsck/unix.c:1965
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "Spouštím e2fsck od začátku…\n"
 
-#: e2fsck/unix.c:1969
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "při nulování kontextu"
 
-#: e2fsck/unix.c:2028
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
@@ -3750,12 +3791,12 @@
 "\n"
 "%s: ***** CHYBY SOUBOROVÉHO SYSTÉM BYLY OPRAVENY *****\n"
 
-#: e2fsck/unix.c:2030
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: Souborový systém byl pozměněn.\n"
 
-#: e2fsck/unix.c:2034 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3764,12 +3805,12 @@
 "\n"
 "%s: ***** SYSTÉM SOUBORŮ BYL ZMĚNĚN *****\n"
 
-#: e2fsck/unix.c:2039
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** ZNOVU ZAVEĎTE SYSTÉM *****\n"
 
-#: e2fsck/unix.c:2049 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3780,51 +3821,51 @@
 "%s: ********** VAROVÁNÍ: Systém souborů má stále chyby **********\n"
 "\n"
 
-#: e2fsck/util.c:195 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "aA"
 
-#: e2fsck/util.c:196 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:197
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "vV"
 
-#: e2fsck/util.c:201
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " („v“ zapne „ano“ pro vše) "
 
-#: e2fsck/util.c:218
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<a>"
 
-#: e2fsck/util.c:220
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:222
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (a/n)"
 
-#: e2fsck/util.c:245
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "přerušeno!\n"
 
-#: e2fsck/util.c:278
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "ano pro vše\n"
 
-#: e2fsck/util.c:280
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "ano\n"
 
-#: e2fsck/util.c:282
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "ne\n"
 
-#: e2fsck/util.c:292
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3833,7 +3874,7 @@
 "%s? ne\n"
 "\n"
 
-#: e2fsck/util.c:296
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3842,38 +3883,38 @@
 "%s? ano\n"
 "\n"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "ano"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "ne"
 
-#: e2fsck/util.c:316
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps: neplatný blok(y) bitmapy pro %s"
 
-#: e2fsck/util.c:321
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "čtení bitmap iuzlů a bloků"
 
-#: e2fsck/util.c:333
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "při opakovaném pokusu načíst bitmapy pro %s"
 
-#: e2fsck/util.c:345
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "zápisu bitmap bloků a iuzlů"
 
-#: e2fsck/util.c:350
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "při přepisu bitmap bloků a iuzlů pro %s"
 
-#: e2fsck/util.c:362
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3886,37 +3927,37 @@
 "%s: NEOČEKÁVANÁ NEKONZISTENCE; SPUSŤTE fsck RUČNĚ.\n"
 "\t(tj. bez přepínačů -a nebo -p)\n"
 
-#: e2fsck/util.c:442
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
 msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Použitá paměť: %llu k/%llu k (%llu k/%llu k), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
 msgid "Memory used: %lluk, "
 msgstr "Použitá paměť: %llu k, "
 
-#: e2fsck/util.c:454
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "čas: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:459
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "strávený čas: %6.3f\n"
 
-#: e2fsck/util.c:494 e2fsck/util.c:508
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "při čtení iuzlu %lu v %s"
 
-#: e2fsck/util.c:522 e2fsck/util.c:535
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "při zápisu iuzlu %lu v %s"
 
-#: e2fsck/util.c:793
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "NEČEKANÁ NEKONZISTENCE: souborový systém je měněn, zatímco fsck běží.\n"
 
@@ -4033,52 +4074,62 @@
 msgid "during test data write, block %lu"
 msgstr "při testovacím zápisu dat, blok %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s je připojen; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "badblocks přesto vynucen. Doufám, že /etc/mtab je nesprávný.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "není bezpečné spouštět badblocks!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s je zjevně systémem právě používán; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "badblocks přesto vynucen.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "neplatný %s – %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "Příliš velký počet chybných bloků %u – maximum je %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "Nemohu alokovat paměť pro zkušební_vzorek – %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "V režimu pouhého čtení lze zadat nejvýše jeden zkušební_vzorek"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "V režimu pouhého čtení není náhodný zkušební_vzorek přípustný"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Špatná velikost bloku: %d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Neplatný parametr bloků_najednou: %d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4086,56 +4137,56 @@
 "Nemohu zjistit velikost zařízení; musíte velikost\n"
 "zadat ručně\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "při pokusu zjistit velikost zařízení"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "poslední blok"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "první blok"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "špatný počáteční blok (%llu): musí být menší než %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "špatný koncový blok (%llu): musí se jednat o 32bitovou hodnotu"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "při vytváření seznam špatných bloků v paměti"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "vstupní soubor – chybný formát"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "při přidávání do seznamu špatných bloků v paměti"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Průchod dokončen, nalezeno %u špatných bloků (%d/%d/%d chyb).\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
-msgstr "Použití: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v verze] soubory…\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "Použití: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p projekt] [-v verze] soubory…\n"
 
-#: misc/chattr.c:161
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "špatný projekt – %s\n"
 
-#: misc/chattr.c:175
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "špatná verze – %s\n"
@@ -4197,8 +4248,8 @@
 msgid "while reading inode %u"
 msgstr "při čtení iuzlu %u"
 
-#: misc/create_inode.c:90 misc/create_inode.c:290 misc/create_inode.c:355
-#: misc/create_inode.c:393
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "při zvětšování adresáře"
 
@@ -4207,12 +4258,12 @@
 msgid "while linking \"%s\""
 msgstr "při vytváření odkazu „%s“"
 
-#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:324
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "při zápisu iuzlu %u"
 
-#: misc/create_inode.c:154 misc/create_inode.c:178
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "při vypisování atributů „%s“"
@@ -4222,129 +4273,134 @@
 msgid "while opening inode %u"
 msgstr "při otevírání iuzlu %u"
 
-#: misc/create_inode.c:171 misc/create_inode.c:198 misc/create_inode.c:1045
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "při čtení rozšířeného atributu iuzlu %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "při alokaci paměti"
 
-#: misc/create_inode.c:191 misc/create_inode.c:207
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "při čtení atributu „%s“ u „%s“"
 
-#: misc/create_inode.c:216
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "při zápisu atributu „%s“ do iuzlu %u"
 
-#: misc/create_inode.c:226
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "při uzavírání iuzlu %u"
 
-#: misc/create_inode.c:277
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "při alokaci iuzlu „%s“"
 
-#: misc/create_inode.c:296
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "při vytváření iuzlu „%s“"
 
-#: misc/create_inode.c:362
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "při vytváření symbolického odkazu „%s“"
 
-#: misc/create_inode.c:380 misc/create_inode.c:965
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "při vyhledávání „%s“"
 
-#: misc/create_inode.c:400
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "při vytváření adresáře „%s“"
 
-#: misc/create_inode.c:629
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "při otevírání „%s“ za účelem kopírování"
 
-#: misc/create_inode.c:807
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "při změně pracovního adresáře na „%s“"
 
-#: misc/create_inode.c:817
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "při zkoumání adresáře „%s“"
 
-#: misc/create_inode.c:827
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "při volání lstat nad „%s“"
 
-#: misc/create_inode.c:877
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "při vytváření zvláštního souboru „%s“"
 
-#: misc/create_inode.c:886
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "volání malloc selhalo"
 
-#: misc/create_inode.c:894
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "při pokusu přečíst odkaz „%s“"
 
-#: misc/create_inode.c:901
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "mezi voláním lstat() a readlink() se velikost symbolického odkazu prodloužila"
 
-#: misc/create_inode.c:912
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "při zápisu symbolického odkazu „%s“"
 
-#: misc/create_inode.c:923
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "při zápisu souboru „%s“"
 
-#: misc/create_inode.c:936
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "při výrobě adresáře „%s“"
 
-#: misc/create_inode.c:954
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "při změně adresáře"
 
-#: misc/create_inode.c:960
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "ignoruje se záznam „%s“"
 
-#: misc/create_inode.c:973
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "při nastavování iuzlu pro „%s“"
 
-#: misc/create_inode.c:980
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "při nastavování rozšířených atributů u „%s“"
 
-#: misc/create_inode.c:1006
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "při ukládání dat iuzlu"
 
-#: misc/create_inode.c:1056
+#: misc/create_inode.c:1077
 msgid "while copying xattrs on root directory"
 msgstr "při kopírování rozšířených atributů kořenového adresáře"
 
@@ -4467,59 +4523,59 @@
 msgid "while printing bad block list"
 msgstr "při tisku seznamu špatných bloků"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Špatné bloky: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:375
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "při čtení iuzlu žurnálu"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr "při otevírání iuzlu žurnálu"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "při čtení superbloku žurnálu"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Magické číslo superbloku žurnálu je špatně!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:218
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "při čtení superbloku žurnálu"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Nemohu najít magická čísla superbloku žurnálu"
 
-#: misc/dumpe2fs.c:470
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr "alokace vyrovnávací paměti pro MMP selhala\n"
 
-#: misc/dumpe2fs.c:481
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "čtení MMP bloku %llu z „%s“\n"
 
-#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2056
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Nemohu alokovat paměť pro zpracování přepínačů!\n"
 
-#: misc/dumpe2fs.c:537
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Neplatný parametr superblok: %s\n"
 
-#: misc/dumpe2fs.c:552
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Neplatný parametr blocksize (velikost_bloku): %s\n"
 
-#: misc/dumpe2fs.c:563
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4542,27 +4598,27 @@
 "\tsuperblock=<číslo superbloku>\n"
 "\tblocksize=<velikost bloku>\n"
 
-#: misc/dumpe2fs.c:653 misc/mke2fs.c:1892
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tPoužívám %s\n"
 
-#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2998
-#: resize/main.c:418
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Nemohu najít platný superblok systému souborů.\n"
 
-#: misc/dumpe2fs.c:720
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: vlastnost MMP není zapnuta.\n"
 
-#: misc/dumpe2fs.c:751
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "při pokusu načíst bitmapy pro %s\n"
 
-#: misc/dumpe2fs.c:760
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4570,197 +4626,201 @@
 "*** Nyní spusťte e2fsck!\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
 msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
 msgstr "Použití: %s [-r|Q] [-f] [-b superblok] [-B velikost_bloku] zařízení soubor_s_obrazem\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "       %s -I zařízení soubor_s_obrazem\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
 msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr ""
 "       %s -ra [-cfnp] [-o pozice_zdroje] [-O pozice_cíle]\n"
 "          zdrojový_souborový_systém [cílový_souborový_systém]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "při alokaci vyrovnávací paměti"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "Zapisuje se blok %llu\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr "chyba při zápisu bloku %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "chyba ve funkci generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Chyba: hlavička je větší než wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr "Nemohu alokovat vyrovnávací paměť hlavičky\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "při zápisu superbloku"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "při zápisu tabulky iuzlů"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "při zápisu bitmapy bloků"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "při zápisu bitmapy iuzlů"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Poškozený blok adresáře %llu: chybný rec_len (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Poškozený blok adresáře %llu: chybný name_len (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu/%llu bloků (%d %%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "Kopíruje se "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr ""
 "Zastavení na tomto místě zničí souborový systém. Jste-li si jisti,\n"
 "vyvolejte přerušení znovu\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " %s zbývá při %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr "chyba při čtení bloku %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Zkopírováno %llu/%llu bloků (%d %%) v %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "při %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr "při alokaci tabulky l1"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr "při alokaci vyrovnávacích paměti druhé úrovně"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 "Pozor: V okamžiku vkládání vyrovnávací paměti stále jsou ve vyrovnávací paměti tabulky, což vede ke ztrátě dat a obraz možná bude poškozený.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr "při alokaci ext2_qcow2_image"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr "při inicializaci ext2_qcow2_image"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Chyba v programu: vytvořeny násobné bloky posloupných počtů odkazů!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr "při alokaci bitmapy bloků"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr "při alokaci bitmapy zatemňovacích bloků"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr "Hledají se iuzly…\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr "Nelze alokovat vyrovnávací paměť bloku"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "při získávání dalšího iuzlu"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "při procházení iuzlu %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "Obyčejné a QCOW2 obrazy nelze nainstalovat"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "chyba při čtení bitmap"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "při otevírání souboru zařízení"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr "při obnovování tabulky obrazu"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "Přepínač -a lze použít jen s s obyčejnými nebo QCOW2 obrazy."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "Přepínač -b lze použít jen s obyčejnými nebo QCOW2 obrazy."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr "Pozice jsou dovoleny jen u obyčejných obrazů."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr "Režim přesunu je dovolen jen u obyčejných obrazů."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr "Režim přesunu vyžaduje režim všech dat."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "kontrola na připojení"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4772,56 +4832,56 @@
 "k nekonzistentnímu obrazu, který se nehodí na ladění.\n"
 "Pokud tak opravdu chcete, použijte přepínač -f.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "QCOW2 obraz nelze zapsat na standardní výstup!\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr "Nelze zjistit údaje o výstupu\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "Obraz (%s) je komprimován.\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "Obraz (%s) je zašifrován\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "Obraz (%s) je poškozen\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "při pokusu převést obraz qcow2 (%s) do binární obrazu (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr "Přepínač -c je podporován jen v obyčejném režimu\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "Přepínač -c není při zápisu na standardní výstup podporován\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr "při alokaci check_buf"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr "Přepínač -p je podporován jen v obyčejném režimu\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d bloků již obsahuje data, která se měla zkopírovat\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Použití: %s -r zařízení\n"
@@ -4846,7 +4906,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: není systém souborů ext2\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3203
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Varování: jmenovka příliš dlouhá, zkracuji.\n"
@@ -4861,7 +4921,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: chyba při zápisu superbloku\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1713
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Použití: e2label zařízení [novájmenovka]\n"
@@ -4874,151 +4934,151 @@
 "            [-z soubor_pro_odvolání_změn] <transakční_soubor>\n"
 "            <souborový_systém>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "Superblok systému souborů se neshoduje se souborem pro odvolání změn.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "UUID nesouhlasí.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "Čas posledního připojení neodpovídá.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "Čas posledního zápisu neodpovídá.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Celoživotní počítadlo zápisů neodpovídá.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "při čtení superbloku souborového systému."
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "při čtení superbloku"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "Kontrolní součet superbloku souboru pro odvolání změn neodpovídá.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "neplatná pozice – %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "Nebude zapisovat do souboru pro odvolání změn, zatímco se z něj přehrává.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "při otevírání souboru pro odvolání změn „%s“\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "při čtení souboru pro odvolání změn"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: Nejedná se o soubor pro odvolání změn.\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: Kontrolní součet hlavičky neodpovídá.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: Poškozená hlavička souboru pro odvolání změn.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: Velikost bloku pro odvolání změn je příliš veliká.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: Velikost bloku pro odvolání změn je příliš malá.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: Nastaven příznak vlastnosti neznámého souboru pro odvolání změn.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Chyba při zjišťování, jestli je %s připojen."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo by měl být pouštěn jen na nepřipojených souborových systémech"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "při otevírání „%s“"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "zadaná pozice je příliš velká"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "při čtení klíčů"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: chybné signatura klíče na pozici %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: chyba kontrolního součtu bloku s klíčem na pozici %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: blok %llu je příliš dlouhý."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "při čtení bloku %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "chyba kontrolního součtu v bloku souborového systému %llu (odvolací blok %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "při zápisu bloku %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Soubor pro odvolání změn je poškozený, IHNED spusťte e2fsck!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "Chyba vstupu-výstupu při přehrávání, IHNED spusťte e2fsck!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Neúplný záznam pro odvolání změn, spusťte e2fsck.\n"
@@ -5076,17 +5136,17 @@
 "\n"
 "%11Lu: dokončeno s číslem chyby %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "VAROVÁNÍ: nemohu otevřít %s: %s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr "VAROVÁNÍ: špatný formát na řádku %d %s\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5098,37 +5158,37 @@
 "\topravit, jak nejdříve budete moci.\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck: %s: nenalezen\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr "%s: wait: Žádný další synovský proces?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr "Varování… %s pro zařízení %s skončil se signálem %d.\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr "%s %s: stav je %x, nemělo by se nikdy stát.\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Dokončen s %s (stav ukončení %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr "%s: Chyba %d při spouštění fsck.%s pro %s\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
@@ -5136,90 +5196,95 @@
 "Buď všechny nebo žádný typ systému souborů předaný -t musí mít předponu\n"
 "„no“ nebo „!“.\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr "Nemohu alokovat paměť pro typy systému souborů\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr ""
 "%s: přeskakuji chybný řádek v /etc/fstab: připojení typu bind s nenulovým\n"
 "pořadím průchodu skrze fsck\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr "fsck: nemohu zkontrolovat %s: fsck.%s nenalezen\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "Kontrolují se všechny systémy souborů.\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "--čekám-- (průchod %d)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr "Použití: fsck [-AMNPRTV] [-C [fd]] [-t typss] [přepínače-ss] [systémsouborů…]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s: příliš mnoho zařízení\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: příliš mnoho argumentů\n"
 
-#: misc/fuse2fs.c:3740
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Připojuje se jen pro čtení.\n"
 
-#: misc/fuse2fs.c:3764
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: Uživatelé budou mít dovoleno alokovat všechny bloky. To je nebezpečné!\n"
 
-#: misc/fuse2fs.c:3776 misc/fuse2fs.c:3790
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3098
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Spusťte prosím „e2fsck -fy %s“.\n"
 
-#: misc/fuse2fs.c:3799
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: připojuje se jen pro čtení bez obnovení žurnálu\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Žurnál potřebuje obnovu, je třeba spustit „e2fsck -E journal_only“.\n"
 
-#: misc/fuse2fs.c:3807
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: Zapisování do žurnálu není podporováno.\n"
 
-#: misc/fuse2fs.c:3822
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Pozor: Připojuje se nezkontrolovaný systém, doporučuje se spustit e2fsck.\n"
 
-#: misc/fuse2fs.c:3826
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Pozor: Dosaženo maximálního počtu připojení, doporučuje se spustit e2fsck.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Pozor: Čas kontroly dosažen, doporučuje se spustit e2fsck.\n"
 
-#: misc/fuse2fs.c:3835
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Nalezeni sirotci, doporučuje se spustit e2fsck.\n"
 
-#: misc/fuse2fs.c:3839
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Nalezeny chyby, doporučuje se spustit e2fsck.\n"
 
@@ -5243,7 +5308,11 @@
 msgid "While reading version on %s"
 msgstr "Při čtení verze %s"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "Nebylo možné alokovat proměnou path v lsattr_dir_proc\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5265,35 +5334,35 @@
 "\t[-e chování_při_chybě][-z soubor_pro_odvolání_změn]\n"
 "\t[-jnqvDFKSV] zařízení [počet-bloků]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Spouštím příkaz: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "při pokusu spustit „%s“"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "při zpracovávání seznamu špatných bloků z programu"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Blok %d v oblasti primárního superbloku/deskriptorů skupin špatný.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "Bloky %u až %u musí být pro vytvoření systému souborů v pořádku.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
-msgstr "Končím…\n"
+msgstr "Končí se…\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5304,19 +5373,19 @@
 "\tšpatné bloky.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "při označování špatných bloků jako použité"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "při zápisu vyhrazených iuzlů"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Zapisuji tabulky iuzlů: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5325,77 +5394,81 @@
 "\n"
 "Nemohu zapsat %d bloků do tabulky iuzlů počínaje %llu: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2821 misc/mke2fs.c:3226
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "hotovo                          \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "při vytváření kořenového adresáře"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "při čtení kořenového iuzlu"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "při nastavování vlastnictví kořenového iuzlu"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "při vytváření /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "při vyhledávání /lost+found"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "při zvětšování /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "při nastavování iuzlu špatných bloků"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Nedostatek paměti při mazání sektorů %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Varování: nemohu načíst blok 0: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Varování: nemohu vymazat sektor %d: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "při dělení velikosti žurnálu"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "při inicializaci superbloku žurnálu"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Nuluji zařízení žurnálu: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "při nulování zařízení žurnálu (blok %llu, počet %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "při zápisu superbloku žurnálu"
 
-#: misc/mke2fs.c:664
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "Vytváří se systém souborů s %'llu (%dk) bloky a %'u uzly\n"
 
 # TODO pluralize
-#: misc/mke2fs.c:672
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5404,164 +5477,164 @@
 "pozor: nepoužito %'llu bloků.\n"
 "\n"
 
-#: misc/mke2fs.c:675
+#: misc/mke2fs.c:688
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr "Jmenovka systému souborů=%.*s\n"
 
-#: misc/mke2fs.c:679
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "Typ OS: %s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Velikost bloku=%u (log=%u)\n"
 
-#: misc/mke2fs.c:684
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Velikost clusteru=%u (log=%u)\n"
 
-#: misc/mke2fs.c:688
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Velikost fragmentu=%u (log=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "Krok=%u bloků, Šířka pásu=%u bloků\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u iuzlů, %llu bloků\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu bloků (%2.2f %%) rezervováno pro superuživatele\n"
 
-#: misc/mke2fs.c:697
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "První blok dat=%u\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Vlastník kořenového adresáře=%u:%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Maximum bloků v systému souborů=%'lu\n"
 
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u skupin bloků\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u skupina bloků\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u bloků ve skupině, %u clusterů ve skupině\n"
 
-#: misc/mke2fs.c:712
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u bloků ve skupině, %u fragmentů ve skupině\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u iuzlů ve skupině\n"
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "UUID systému souborů=%s\n"
 
-#: misc/mke2fs.c:724
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Zálohy superbloku uloženy v blocích: "
 
-#: misc/mke2fs.c:820
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s vyžaduje „-O 64bit“\n"
 
-#: misc/mke2fs.c:826
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "„%s“ musí být před „resize=%u“\n"
 
-#: misc/mke2fs.c:839
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "Neplatná desc_size: „%s“\n"
 
-#: misc/mke2fs.c:853
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "Neplatná počáteční hodnota hashe: %s\n"
 
-#: misc/mke2fs.c:865
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Neplatná pozice: %s\n"
 
-#: misc/mke2fs.c:879 misc/tune2fs.c:2084
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "Neplatný interval_aktualizace_mmp: %s\n"
 
-#: misc/mke2fs.c:896
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Neplatný počet záložních superbloků: %s\n"
 
-#: misc/mke2fs.c:918
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Neplatný parametr kroku (stride): %s\n"
 
-#: misc/mke2fs.c:933
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Neplatný parametr šířka-pásu (stripe-width): %s\n"
 
-#: misc/mke2fs.c:956
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Neplatný parametr změny velikosti: %s\n"
 
-#: misc/mke2fs.c:963
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "Maximum změny velkosti musí být větší než velikost systému souborů.\n"
 
-#: misc/mke2fs.c:987
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr "Revize 0 souborového systému nepodporuje změnu velikosti za běhu\n"
 
-#: misc/mke2fs.c:1013 misc/mke2fs.c:1022
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "Neplatný vlastník kořenu: „%s“\n"
 
-#: misc/mke2fs.c:1067
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "Neplatné kódování: %s"
 
-#: misc/mke2fs.c:1085
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5614,7 +5687,7 @@
 "\tquotatype=<zapnuté druhy kvót>\n"
 "\n"
 
-#: misc/mke2fs.c:1112
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5625,17 +5698,17 @@
 "Varování: šířka pruhu RAIDu %u není sudý násobek kroku (stride) %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1123 misc/tune2fs.c:2220
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr "chyba: Neplatné příznaky kódování: %s\n"
 
-#: misc/mke2fs.c:1129 misc/tune2fs.c:2229
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr "chyba: Jsou-li předány příznaky kódování, je třeba explicitně určit kódování\n"
 
-#: misc/mke2fs.c:1177
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5644,17 +5717,17 @@
 "Chyba syntaxe v konfiguračním souboru mke2fs (%s, řádek č. %d)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1190 misc/tune2fs.c:1072
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Neplatná sada přepínačů systému souborů: %s\n"
 
-#: misc/mke2fs.c:1202 misc/tune2fs.c:419
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Nastaven neplatný přepínač připojení: %s\n"
 
-#: misc/mke2fs.c:1338
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5663,7 +5736,7 @@
 "\n"
 "Váš soubor mke2fs.conf nedefinuje druh souborového systému %s.\n"
 
-#: misc/mke2fs.c:1342
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5671,11 +5744,11 @@
 "Pravděpodobně potřebujete nainstalovat aktualizovaný soubor mke2fs.conf.\n"
 "\n"
 
-#: misc/mke2fs.c:1346
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
-msgstr "Přerušuje se…\n"
+msgstr "Končí se…\n"
 
-#: misc/mke2fs.c:1387
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5686,146 +5759,156 @@
 "Pozor: fs_type (druh SS) %s není v mke2fs.conf definován\n"
 "\n"
 
-#: misc/mke2fs.c:1574
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Nemohu alokovat paměť pro novou proměnnou PATH.\n"
 
-#: misc/mke2fs.c:1611
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "Profil nebylo možné správně inicializovat (chyba: %ld).\n"
 
-#: misc/mke2fs.c:1644
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "špatná velikost bloku – %s"
 
-#: misc/mke2fs.c:1648
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Varování: velikost bloku %d není na většině systémů použitelná.\n"
 
-#: misc/mke2fs.c:1664
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "špatná velikost clusteru – %s"
 
-#: misc/mke2fs.c:1677
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "Přepínač „-R“ je zastaralý, použijte místo něj „-E“"
 
-#: misc/mke2fs.c:1691 misc/tune2fs.c:1810
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "špatné chování při chybách - %s"
 
-#: misc/mke2fs.c:1703
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Neplatný počet bloků ve skupině"
 
-#: misc/mke2fs.c:1708
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "bloky ve skupině musí být násobek 8"
 
-#: misc/mke2fs.c:1716
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Neplatné číslo pro velikost flex_bg"
 
-#: misc/mke2fs.c:1722
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "Velikost flex_bg musí být mocninou 2"
 
-#: misc/mke2fs.c:1727
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "Velikost flex_bg (%lu) musí menší nebo rovna 2^31"
 
-#: misc/mke2fs.c:1737
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "špatný podíl iuzlů %s (min %d/max %d)"
 
-#: misc/mke2fs.c:1747
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "špatná velikost iuzlu – %s"
 
-#: misc/mke2fs.c:1760
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "Pozor: Přepínač -K je zastaralý a neměl by se již používat. Místo něj použijte rozšířený přepínač „-E nodiscard“!\n"
 
-#: misc/mke2fs.c:1771
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "v malloc pro bad_blocks_filename"
 
-#: misc/mke2fs.c:1780
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
 "\n"
 msgstr "Pozor: jmenovka je příliš dlouhá, bude zkrácena na „%s“\n"
 
-#: misc/mke2fs.c:1789
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "špatné procento rezervovaných bloků – %s"
 
-#: misc/mke2fs.c:1804
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "chybný počet iuzlů – %s"
 
-#: misc/mke2fs.c:1817
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "při alokaci řetězce fs_feature"
 
-#: misc/mke2fs.c:1834
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "špatné číslo revize – %s"
 
-#: misc/mke2fs.c:1839
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "při pokusu vytvořit revizi %d"
 
-#: misc/mke2fs.c:1853
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "Přepínač -t lze použít jen jednou"
 
-#: misc/mke2fs.c:1861
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "Přepínač -T lze použít jen jednou"
 
-#: misc/mke2fs.c:1917 misc/mke2fs.c:3310
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "při pokusu otevřít zařízení žurnálu %s\n"
 
-#: misc/mke2fs.c:1923
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr "Velikost bloku zařízení žurnálu (%d) menší než minimální velikost bloku %d\n"
 
-#: misc/mke2fs.c:1929
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Použiji velikost bloku žurnálovacího zařízení: %d\n"
 
-#: misc/mke2fs.c:1940
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "špatné bloky „%s“ na zařízení „%s“"
 
-#: misc/mke2fs.c:1970
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "systém souborů"
 
-#: misc/mke2fs.c:1988 resize/main.c:499
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "Soubor %s neexistuje a žádná velikost nebyla zadána.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Vytváří se obyčejný soubor %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "při pokusu zjistit velikost systému souborů"
 
-#: misc/mke2fs.c:1994
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5833,7 +5916,7 @@
 "Nemohu zjistit velikost zařízení; musíte zadat\n"
 "velikost systému souborů\n"
 
-#: misc/mke2fs.c:2001
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5845,48 +5928,48 @@
 "         oddíl se používá. Možná budete muset pro opětovné načtení\n"
 "         své tabulky oddílů znovu zavést systém.\n"
 
-#: misc/mke2fs.c:2018
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "Systém souborů větší než velikost zařízení."
 
-#: misc/mke2fs.c:2038
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "Seznam druhů souborových systému se nezdařilo rozebrat\n"
 
-#: misc/mke2fs.c:2088
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "Hurd nepodporuje vlastnost filetype (druh souboru).\n"
 
-#: misc/mke2fs.c:2093
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "Hurd nepodporuje vlastnost huge_file (velký soubor).\n"
 
-#: misc/mke2fs.c:2098
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "Hurd nepodporuje vlastnost metadata_csum (kontrolní součet metadat).\n"
 
-#: misc/mke2fs.c:2103
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "Hurd nepodporuje vlastnost ea_inode (iuzly rozšířených atributů).\n"
 
-#: misc/mke2fs.c:2113
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "při pokusu zjistit velikost hardwarového sektoru"
 
-#: misc/mke2fs.c:2119
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "při pokusu určit velikost fyzického sektoru"
 
-#: misc/mke2fs.c:2151
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "při nastavování velikosti bloku; pro zařízení příliš malá hodnota\n"
 
-#: misc/mke2fs.c:2156
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Pozor: zadaná velikost bloku %d je menší než velikost fyzického sektoru %d\n"
 
-#: misc/mke2fs.c:2180
+#: misc/mke2fs.c:2206
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5895,7 +5978,7 @@
 "%s: Velikost zařízení (0x%llx bloků) %s je příliš velká, aby byla\n"
 "vyjádřena v 32 bitech za použití bloku o velikosti %d.\n"
 
-#: misc/mke2fs.c:2194
+#: misc/mke2fs.c:2220
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5904,87 +5987,87 @@
 "%s: Velikost zařízení (0x%llx bloků) %s je příliš velká, aby bylo\n"
 "možné vytvořit souborový systém za použití bloku o velikosti %d.\n"
 
-#: misc/mke2fs.c:2216
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "fs_types (druhy SS) pro řešení v mke2fs.conf: "
 
-#: misc/mke2fs.c:2223
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr "Vlastnosti systému souborů nejsou v revizi 0 podporovány\n"
 
-#: misc/mke2fs.c:2231
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr "Řídké superbloky systému souborů nejsou v revizi 0 podporovány\n"
 
-#: misc/mke2fs.c:2241
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr "Revize 0 systému souborů žurnály nepodporuje\n"
 
-#: misc/mke2fs.c:2254
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "špatné procento rezervovaných bloků – %lf"
 
-#: misc/mke2fs.c:2271
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr ""
 "Rozsahy MUSÍ být u 64bitových souborových systémů zapnuty. Toho docílíte\n"
 "zadáním „-O extents“.\n"
 
-#: misc/mke2fs.c:2291
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "Velikost clusteru nemusí být menší než velikost bloku.\n"
 
-#: misc/mke2fs.c:2297
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "definice velikosti clusteru vyžaduje vlastnost bigalloc"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "varování: Není možné zjistit geometrii %s\n"
 
-#: misc/mke2fs.c:2329
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "Zarovnání %s představuje posun o %'lu bajtů.\n"
 
-#: misc/mke2fs.c:2331
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr "Toto může vést k velmi špatnému výkonu, doporučuje se (nové) vytvoření oddílů.\n"
 
-#: misc/mke2fs.c:2337
+#: misc/mke2fs.c:2363
 #, 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 "%s umí DAX, avšak současná velikost bloku %u se liší od velikosti stránky systému %u, takže souborový systém DAX podporovat nebude.\n"
 
-#: misc/mke2fs.c:2361
+#: misc/mke2fs.c:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "%d-bajtové bloky příliš velké pro systém (max %d)"
 
-#: misc/mke2fs.c:2365
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr "Varování: %d-bajtové bloky příliš velké pro systém (max %d), donucen pokračovat\n"
 
-#: misc/mke2fs.c:2373
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Návrh: Pro vyšší stabilitu metadat a schopnost kontrolních součtů žurnálu použijte linuxové jádro >= 3.18.\n"
 
-#: misc/mke2fs.c:2419
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr "Neznámé kódování názvů souborů v profilu: %s"
 
-#: misc/mke2fs.c:2430
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr "Neznámé příznaky kódování v profilu: %s"
 
-#: misc/mke2fs.c:2455
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5999,16 +6082,16 @@
 "nemusí být to, co chcete.\n"
 "\n"
 
-#: misc/mke2fs.c:2470
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "%dbajtové iuzly jsou příliš malé pro projektové kvóty"
 
-#: misc/mke2fs.c:2492
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "Vlastnost bigalloc nelze bez vlastnosti rozsahů zapnout"
 
-#: misc/mke2fs.c:2499
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -6016,53 +6099,56 @@
 "Vlastnosti resize_inode a meta_bg nejsou slučitelné.\n"
 "Obě nemohou být zapnuty současně.\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
 "\n"
-"Pozor: vlastnost bigalloc je stále ve vývoji.\n"
-"Podrobnosti naleznete na <https://ext4.wiki.kernel.org/index.php/Bigalloc>.\n"
-"\n"
+"Pozor: souborové systémy s bigalloc a velikostí clusteru větší než\n"
+"16násobek velikosti bloku jsou experimentální.\n"
 
-#: misc/mke2fs.c:2519
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr ""
 "bloky vyhrazené pro změnu velikosti za běhu nejsou podporovány na neřídkém\n"
 "\tsystému souborů"
 
-#: misc/mke2fs.c:2528
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "počet bloků ve skupině mimo rozsah"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "Vlastnost flex_bg není povolena, takže její velikost nemůže být zadána"
 
-#: misc/mke2fs.c:2562
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "špatná velikost iuzlu %d (min %d/max %d)"
 
-#: misc/mke2fs.c:2577
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "%dbajtové iuzly jsou příliš malé pro vestavěná data. Zadejte větší velikost."
 
-#: misc/mke2fs.c:2592
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "128bytové iuzly nedokáží pojmout data po roce 2038 a jsou zastaralé\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "příliš mnoho iuzlů (%'llu), zvýšit poměr iuzlů?"
 
-#: misc/mke2fs.c:2599
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "příliš mnoho iuzlů (%'llu), zadejte < 2^32 iuzlů"
 
-#: misc/mke2fs.c:2613
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6073,72 +6159,76 @@
 "\tsystém souborů s %'llu bloky, zadejte vyšší poměr_iuzlu (-i)\n"
 "\tnebo snižte počet iuzlů (-N).\n"
 
-#: misc/mke2fs.c:2800
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
 msgstr "Zahazují se bloky zařízení: "
 
 # Continuation of "Calling BLKDISCARD from %llu to %llu "
-#: misc/mke2fs.c:2816
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "selhalo – "
 
-#: misc/mke2fs.c:2875
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "při inicializaci kontextu kvót"
 
-#: misc/mke2fs.c:2882
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "při zápisu iuzlů kvót"
 
-#: misc/mke2fs.c:2907
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "v profilu je špatné chování při chybě - %s"
 
-#: misc/mke2fs.c:2983
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "v malloc pro android_sparse_params"
 
-#: misc/mke2fs.c:2997
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "při nastavování superbloku"
 
-#: misc/mke2fs.c:3013
+#: misc/mke2fs.c:3065
 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 ""
 "Rozsahy nejsou zapnuty. Strom rozsahů souborů může být kontrolován součty,\n"
 "zatímco mapy bloků nikoliv. Nezapnutí rozsahů snižuje pokrytí metadat\n"
 "kontrolními součty. Situaci lze napravit uvedením -O extents.\n"
 
-#: misc/mke2fs.c:3020
+#: misc/mke2fs.c:3072
 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 ""
 "Podpora 64bitového souborového systému není zapnuta. Větší položky dostupné\n"
 "s touto vlastností umožňují silnější kontrolní součty. Situaci lze napravit\n"
 "uvedením -I 64bit.\n"
 
-#: misc/mke2fs.c:3028
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "Vlastnost metadata_csum_seed vyžaduje vlastnost metadata_csum.\n"
 
-#: misc/mke2fs.c:3052
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "Skartování (discard) uspělo a bude vráceno 0s – vynechá se výmaz tabulky iuzlů\n"
 
-#: misc/mke2fs.c:3151
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "neznámý os – %s"
 
-#: misc/mke2fs.c:3214
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
 msgstr "Alokují se tabulky skupin: "
 
-#: misc/mke2fs.c:3222
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "při pokusu alokovat tabulky systému souborů"
 
-#: misc/mke2fs.c:3231
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "při rušení označení špatných bloků"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6146,30 +6236,34 @@
 "\n"
 "\tpři převodu bitmapy subclusterů"
 
-#: misc/mke2fs.c:3237
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "při výpočtu režie"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s může být dále poškozen přepsáním superbloku\n"
 
-#: misc/mke2fs.c:3278
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "při nulování bloku %llu na konci systému souborů"
 
-#: misc/mke2fs.c:3291
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr "při rezervaci bloků pro změnu velikosti za běhu"
 
-#: misc/mke2fs.c:3303 misc/tune2fs.c:1516
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "žurnál"
 
-#: misc/mke2fs.c:3315
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Přidávám žurnál k zařízení %s: "
 
-#: misc/mke2fs.c:3322
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
@@ -6178,21 +6272,21 @@
 "\n"
 "\tpři pokusu přidat žurnál k zařízení %s"
 
-#: misc/mke2fs.c:3327 misc/mke2fs.c:3356 misc/mke2fs.c:3394
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1545 misc/tune2fs.c:1564
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "hotovo\n"
 
-#: misc/mke2fs.c:3333
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "V režimu jen-superdata bude vynechána tvorba žurnálu\n"
 
-#: misc/mke2fs.c:3343
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Vytváří se žurnál (%'u bloků): "
 
-#: misc/mke2fs.c:3352
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6200,7 +6294,7 @@
 "\n"
 "\tpři pokusu vytvořit žurnál"
 
-#: misc/mke2fs.c:3364 misc/tune2fs.c:1137
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6209,28 +6303,28 @@
 "Chyba při zapínání ochrany proti násobnému připojení."
 
 # TODO: Pluralize
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr "Ochrana proti násobnému připojení je zapnuta s aktualizačním intervalem %d sekund.\n"
 
-#: misc/mke2fs.c:3385
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "Kopírování souborů na zařízení: "
 
-#: misc/mke2fs.c:3391
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
 msgstr "při naplňování souborového systému"
 
-#: misc/mke2fs.c:3398
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr "Zapisuji superbloky a účtovací informace systému souborů: "
 
-#: misc/mke2fs.c:3405
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "při zapisování a uzavírání systému souborů"
 
-#: misc/mke2fs.c:3408
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6243,28 +6337,28 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "při nulování bloku %llu pro obrovský soubor (hugefile)"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Odsazení oddílu %llu (%uk) bloků není slučitelné s velikostí clusteru %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Velké soubory budou vynulovány\n"
 
 # TODO: pluralize
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Vytváří se %lu velkých souborů "
 
 # TODO pluralize
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "každý o %'llu blocích"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "při vytváření velkého souboru %lu"
@@ -6308,7 +6402,7 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s: h=%3d s=%3d c=%4d   začátek=%8d velikost=%8lu konec=%8d\n"
 
-#: misc/tune2fs.c:120
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
@@ -6316,15 +6410,15 @@
 "\n"
 "Tato operace vyžaduje nově zkontrolovaný souborový systém.\n"
 
-#: misc/tune2fs.c:122
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "Spusťte prosím na tomto systému souborů e2fsck -f.\n"
 
-#: misc/tune2fs.c:124
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "Spusťte prosím na tomto systému souborů e2fsck -fD.\n"
 
-#: misc/tune2fs.c:137
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6345,20 +6439,20 @@
 "\t[-E rozšířený_přepínač[,…]] [-T čas_poslední_kontroly] [-U UUID]\n"
 "\t[-I nová_velikost_iuzlu] [-z soubor_pro_odvolání_změn] zařízení\n"
 
-#: misc/tune2fs.c:225
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "Superblok žurnálu nenalezen!\n"
 
-#: misc/tune2fs.c:283
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "při pokusu otevřít externí žurnál"
 
-#: misc/tune2fs.c:289 misc/tune2fs.c:2889
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s není zařízení žurnálu.\n"
 
-#: misc/tune2fs.c:298 misc/tune2fs.c:2898
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
@@ -6367,11 +6461,11 @@
 "Superblok žurnálu je poškozený, hodnota nr_users\n"
 "je příliš vysoká (%d).\n"
 
-#: misc/tune2fs.c:305 misc/tune2fs.c:2905
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr "UUID systému souborů nenalezeno na zařízení žurnálu.\n"
 
-#: misc/tune2fs.c:329
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6379,52 +6473,52 @@
 "Zařízení žurnálu nelze nalézt. Odstraněno NEBYLO.\n"
 "Chybějící zařízení žurnálu lze odebrat přepínačem -f.\n"
 
-#: misc/tune2fs.c:338
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Žurnál odstraněn\n"
 
-#: misc/tune2fs.c:382
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "při čtení bitmap"
 
-#: misc/tune2fs.c:390
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "při čištění iuzlu žurnálu"
 
-#: misc/tune2fs.c:401
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "při zápisu iuzlu žurnálu"
 
-#: misc/tune2fs.c:437 misc/tune2fs.c:462 misc/tune2fs.c:475
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(a po té rebootujte!)\n"
 
-#: misc/tune2fs.c:490
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Po dokončení e2fsck spusťte, prosím, „resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Spusťte, prosím, „resize2fs %s %s"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z „%s“"
 
-#: misc/tune2fs.c:499
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "“, abyste zapnuli 64bitový režim.\n"
 
-#: misc/tune2fs.c:501
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "“, abyste vypnuli 64bitový režim.\n"
 
-#: misc/tune2fs.c:1039
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6432,17 +6526,17 @@
 "POZOR: Nebylo možné potvrdit podporu pro metadata_csum_seed v jádře.\n"
 "Tato vlastnost vyžaduje Linux >= v4.4.\n"
 
-#: misc/tune2fs.c:1075
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "Odstranění vlastnosti systému souborů „%s“ není podporováno.\n"
 
-#: misc/tune2fs.c:1081
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "Nastavená vlastnosti systému souborů „%s“ není podporováno.\n"
 
-#: misc/tune2fs.c:1090
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6450,7 +6544,7 @@
 "Příznak has_journal může být vymazán jen, když je systém souborů\n"
 "odpojen nebo připojen jen pro čtení.\n"
 
-#: misc/tune2fs.c:1098
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6458,7 +6552,7 @@
 "Příznak needs_recovery je nastaven. Před vymazáním příznaku has_journal\n"
 "prosím spusťte e2fsck.\n"
 
-#: misc/tune2fs.c:1116
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6466,7 +6560,7 @@
 "Na souborových systémech se zapnutou vlastností meta_bg není nastavení\n"
 "vlastnosti „sparse_super“ podporováno.\n"
 
-#: misc/tune2fs.c:1129
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6475,12 +6569,12 @@
 "Ochranu před násobným připojením nelze nastavit,\n"
 "pokud je systém souborů připojen nebo je-li jen pro čtení.\n"
 
-#: misc/tune2fs.c:1147
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr "Ochrana před násobným připojením byla zapnuta s intervalem aktualizace %d s.\n"
 
-#: misc/tune2fs.c:1156
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6488,20 +6582,28 @@
 "Ochranu před násobným přijením nelze vypnout,\n"
 "je-li souborový systém jen pro čtení.\n"
 
-#: misc/tune2fs.c:1164
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "Chyba při čtení bitmap\n"
 
-#: misc/tune2fs.c:1173
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "Magické číslo v bloku MMP se neshoduje. Očekáváno: %x, skutečnost: %x\n"
 
-#: misc/tune2fs.c:1178
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
 msgstr "při čtení bloku MMP."
 
-#: misc/tune2fs.c:1210
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Vypnutí indexu adresářů na souborovém systému s kontrolními součty by mohlo trvat nějakou dobu."
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Na připojeném souborovém systému nelze vypnout dir_index!\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
@@ -6509,7 +6611,7 @@
 "Odstranění příznaku flex_bg by mohlo způsobit nekonzistenci systému\n"
 "souborů.\n"
 
-#: misc/tune2fs.c:1221
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6517,60 +6619,60 @@
 "Příznak huge_file může být vymazán jen, když je systém souborů\n"
 "odpojen nebo připojen jen pro čtení.\n"
 
-#: misc/tune2fs.c:1232
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr "Zapnutí kontrolních součtů by mohlo trvat nějakou dobu."
 
-#: misc/tune2fs.c:1235
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "Na připojeném souborovém systému nelze zapnout metadata_csum!\n"
 
-#: misc/tune2fs.c:1241
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr ""
 "Rozsahy nejsou zapnuty. Strom rozsahů souborů může být prověřen na\n"
 "kontrolní součty, ale mapy bloků nikoliv. Nezapnutí rozsahů snižuje pokrytí\n"
 "metadat kontrolními součty. Situaci lze napravit spuštěním s -O extent.\n"
 
-#: misc/tune2fs.c:1248
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr ""
 "Podpora pro 64bitový souborový systém není zapnuta. Větší položky dostupné\n"
 "s touto podporou umožní silnější kontrolní součty. Situaci lze napravit\n"
 "spuštěním resize2fs -b.\n"
 
-#: misc/tune2fs.c:1274
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
 msgstr "Vypnutí kontrolních součtů by mohlo trvat nějakou dobu."
 
-#: misc/tune2fs.c:1277
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "Na připojeném souborovém systému nelze vypnout metadata_csum!\n"
 
-#: misc/tune2fs.c:1318
+#: misc/tune2fs.c:1372
 msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
 msgstr "Na připojeném souborovém systému nelze zapnout uninit_bg!\n"
 
-#: misc/tune2fs.c:1333
+#: misc/tune2fs.c:1387
 msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
 msgstr "Na připojeném souborovém systému nelze vypnout uninit_bg!\n"
 
-#: misc/tune2fs.c:1352
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "64bitový režim nelze zapnout, je-li systém připojen!\n"
 
-#: misc/tune2fs.c:1362
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "64bitový systém nelze vypnout, je-li systém připojen!\n"
 
-#: misc/tune2fs.c:1392
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "Nelze zapnout vlastnost projekty, velikost iuzlu je příliš malá.\n"
 
-#: misc/tune2fs.c:1413
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6578,11 +6680,11 @@
 "\n"
 "Pozor: přepínač „^quota“ přebije argumenty „–Q“.\n"
 
-#: misc/tune2fs.c:1430 misc/tune2fs.c:2182
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
 msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr "Vlastnost casefold smí být změněna, jen když je systém souborů odpojen.\n"
 
-#: misc/tune2fs.c:1442
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6590,7 +6692,7 @@
 "Nastavení vlastnosti „metadata_csum_seed“ je podporováno jen\n"
 "na souborových systémech se zapnutou vlastností metadata_csum.\n"
 
-#: misc/tune2fs.c:1460
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
@@ -6598,15 +6700,15 @@
 "Od zapnutí metadata_csum se UUID změnilo. Aby se bezpečně přepsala\n"
 "všechna metadata na nové UUID, souborový systém musí být odpojen.\n"
 
-#: misc/tune2fs.c:1466
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr "Přepočet kontrolních součtů by mohlo trvat nějakou dobu."
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "Systém souborů již žurnál má.\n"
 
-#: misc/tune2fs.c:1529
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6615,21 +6717,21 @@
 "\n"
 "\tpři pokusu otevřít žurnál na %s\n"
 
-#: misc/tune2fs.c:1533
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Vytváří se žurnál na zařízení %s: "
 
-#: misc/tune2fs.c:1541
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "při přidávání systému souborů do žurnálu na %s"
 
-#: misc/tune2fs.c:1547
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
 msgstr "Vytváří se iuzel žurnálu: "
 
-#: misc/tune2fs.c:1561
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6637,31 +6739,31 @@
 "\n"
 "\tpři pokusu vytvořit soubor žurnálu"
 
-#: misc/tune2fs.c:1599
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "Nelze zapnout projektové kvóty, iuzel je příliš malý.\n"
 
-#: misc/tune2fs.c:1612
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
 msgstr "při inicializaci kontextu kvóty v podpůrné knihovně"
 
-#: misc/tune2fs.c:1627
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "při aktualizaci hodnot kvót (%d)"
 
-#: misc/tune2fs.c:1637
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "při zápisu souboru s kvótami (%d)"
 
-#: misc/tune2fs.c:1655
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "při odstraňovaní souboru s kvótami (%d)"
 
-#: misc/tune2fs.c:1698
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6683,65 +6785,65 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1756
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Nemohu zpracovat určení data/času: %s"
 
-#: misc/tune2fs.c:1781 misc/tune2fs.c:1794
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "špatný počet připojení - %s"
 
-#: misc/tune2fs.c:1837
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "špatné gid/jméno skupiny - %s"
 
-#: misc/tune2fs.c:1870
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "Špatný interval - %s"
 
-#: misc/tune2fs.c:1899
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "špatný podíl rezervovaných bloků - %s"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
 msgstr "-o může být zadáno jen jednou"
 
-#: misc/tune2fs.c:1923
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
 msgstr "-O může být zadáno jen jednou"
 
-#: misc/tune2fs.c:1940
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "špatný počet rezervovaných bloků - %s"
 
-#: misc/tune2fs.c:1969
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "špatné uid/jméno uživatele - %s"
 
-#: misc/tune2fs.c:1986
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "špatná velikost iuzlu – %s"
 
-#: misc/tune2fs.c:1993
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "Velikost iuzlu musí být mocnina dvou – %s"
 
-#: misc/tune2fs.c:2093
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "interval_aktualizace_mmp je příliš velký: %lu\n"
 
-#: misc/tune2fs.c:2098
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
@@ -6749,52 +6851,52 @@
 msgstr[1] "Nastavuje se interval aktualizace ochrany proti násobnému připojení na %'lu sekundy\n"
 msgstr[2] "Nastavuje se interval aktualizace ochrany proti násobnému připojení na %'lu sekund\n"
 
-#: misc/tune2fs.c:2107
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Nastavuje se příznak chyby souborového systému, aby se vynutila jeho kontrola.\n"
 
-#: misc/tune2fs.c:2125
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Neplatný kroku (stride) RAIDu: %s\n"
 
-#: misc/tune2fs.c:2140
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Neplatná šířka pruhu RAIDu (stripe-width): %s\n"
 
-#: misc/tune2fs.c:2155
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Neplatný hashovací algoritmus: %s\n"
 
-#: misc/tune2fs.c:2161
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Implicitní hashovací algoritmus se nastavuje na %s (%d)\n"
 
-#: misc/tune2fs.c:2188
+#: misc/tune2fs.c:2252
 #, c-format
 msgid "Cannot alter existing encoding\n"
 msgstr "Stávající kódování nelze změnit\n"
 
-#: misc/tune2fs.c:2194
+#: misc/tune2fs.c:2258
 #, c-format
 msgid "Invalid encoding: %s\n"
 msgstr "Neplatné kódování: %s\n"
 
-#: misc/tune2fs.c:2200
+#: misc/tune2fs.c:2264
 #, c-format
 msgid "Setting encoding to '%s'\n"
 msgstr "Kódování se nastavuje na „%s“\n"
 
-#: misc/tune2fs.c:2224
+#: misc/tune2fs.c:2288
 #, c-format
 msgid "Setting encoding_flags to '%s'\n"
 msgstr "encoding_flags se nastavuje na „%s“\n"
 
-#: misc/tune2fs.c:2234
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6834,31 +6936,31 @@
 "\tencoding=<kódování>\n"
 "\tencoding_flags=<příznaky>\n"
 
-#: misc/tune2fs.c:2707
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
 msgstr "Čtení bitmapy iuzlů selhalo.\n"
 
-#: misc/tune2fs.c:2712
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "Čtení bitmapy bloků selhalo\n"
 
-#: misc/tune2fs.c:2729 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "bloky pro přesun"
 
-#: misc/tune2fs.c:2732
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Během zvětšování iuzlu selhala alokace bitmapy bloků\n"
 
-#: misc/tune2fs.c:2738
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr "Nedostatek místa pro zvětšení iuzlu\n"
 
-#: misc/tune2fs.c:2743
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Během změny velikosti iuzlu selhala realokace bloků\n"
 
-#: misc/tune2fs.c:2775
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6866,7 +6968,7 @@
 "Chyba při měnění velikost iuzlu.\n"
 "Spusťte e2undo, abyste vrátili změny provedené na systému souborů.\n"
 
-#: misc/tune2fs.c:2985
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6874,7 +6976,7 @@
 "Jste-li si jisti, že souborový systém není používán na žádném uzlu, spusťte:\n"
 "„tune2fs -f -E clear_mmp ZAŘÍZENÍ“\n"
 
-#: misc/tune2fs.c:2992
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6883,29 +6985,29 @@
 "Magické číslo bloku MMP je chybné. Můžete jej zkusit opravit pomocí:\n"
 "„e2fsck -f %s“\n"
 
-#: misc/tune2fs.c:3004
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "Zařízení žurnálu nelze upravit.\n"
 
-#: misc/tune2fs.c:3017
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "Velikost iuzlu již je %lu\n"
 
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
 msgstr "Zmenšování velikosti iuzlu není podporováno\n"
 
-#: misc/tune2fs.c:3029
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "špatná velikost iuzlu %lu (max %d)\n"
 
-#: misc/tune2fs.c:3035
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr "Změna velikosti iuzlů by mohla trvat nějakou dobu."
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6922,57 +7024,57 @@
 "Pak tento příkaz spusťte znovu. Jinak jakékoliv provedené změny mohou být\n"
 "přepsány při obnově žurnálu.\n"
 
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Obnovuje se žurnál.\n"
 
-#: misc/tune2fs.c:3114
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Nastavuje se maximální počet připojení na %d\n"
 
-#: misc/tune2fs.c:3120
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Nastavuje se aktuální počet připojení na %d\n"
 
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Nastavuje se chování při chybách na %d\n"
 
-#: misc/tune2fs.c:3130
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "Nastavuje se GID rezervovaných bloků na %lu\n"
 
-#: misc/tune2fs.c:3135
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "interval mezi kontrolami je příliš dlouhý (%'lu)"
 
-#: misc/tune2fs.c:3142
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Interval mezi kontrolami se nastavuje na %'lu sekund\n"
 
-#: misc/tune2fs.c:3149
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Procento rezervovaných bloků se nastavuje na %g %% (%'llu bloků)\n"
 
-#: misc/tune2fs.c:3155
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "počet rezervovaných bloků je příliš velký (%'llu)"
 
-#: misc/tune2fs.c:3162
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Počet rezervovaných bloků se nastavuje na %'llu\n"
 
-#: misc/tune2fs.c:3167
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -6980,7 +7082,7 @@
 "\n"
 "Systém souborů již má řídké superbloky.\n"
 
-#: misc/tune2fs.c:3170
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -6990,7 +7092,7 @@
 "Na souborových systémech se zapnutou vlastností meta_bg není nastavení\n"
 "příznaku řídkého superbloku podporováno.\n"
 
-#: misc/tune2fs.c:3180
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
@@ -6999,7 +7101,7 @@
 "\n"
 "Příznak řídkých superbloků nastaven.  %s"
 
-#: misc/tune2fs.c:3185
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -7007,51 +7109,55 @@
 "\n"
 "Odstranění příznaku řídkého superbloku není podporováno.\n"
 
-#: misc/tune2fs.c:3193
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "Nastavuje se čas poslední kontroly systému souborů na %s\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "Nastavuje se UID rezervovaných bloků na %lu\n"
 
-#: misc/tune2fs.c:3231
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Chybné použití clear_mmp. Je třeba jej použít s -f\n"
 
-#: misc/tune2fs.c:3249
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "Vlastnost kvóty smí být změněna, jen když je systém souborů odpojen.\n"
 
-#: misc/tune2fs.c:3269
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Na tomto souborovém systému nelze změnit UUID, protože má nastaven příznak vlastnosti stable_inodes.\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Nastavení UUID na tomto souborovém systému může nějakou dobu trvat."
 
-#: misc/tune2fs.c:3286
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "UUID smí být změněno, jen když je systém souborů odpojen.\n"
 
-#: misc/tune2fs.c:3289
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr ""
 "Pouze pokud používáte jádra novější než v4.4, spusťte\n"
 "„tune2fs -O metadata_csum_seed“ a poté znovu tento příkaz.\n"
 
-#: misc/tune2fs.c:3320
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Neplatný formát UUID\n"
 
-#: misc/tune2fs.c:3336
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "Je třeba aktualizovat superblok žurnálu.\n"
 
-#: misc/tune2fs.c:3358
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr "Velikost iuzlu smí být změněna, jen když je systém souborů odpojen.\n"
 
-#: misc/tune2fs.c:3365
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -7059,62 +7165,62 @@
 "Na souborových systémech se zapnutou vlastností flex_bg není změna velikosti\n"
 "iuzlu podporována.\n"
 
-#: misc/tune2fs.c:3383
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Velikost iuzlu se nastavuje na %lu\n"
 
-#: misc/tune2fs.c:3387
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
 msgstr "Změna velikosti iuzlu selhala.\n"
 
-#: misc/tune2fs.c:3401
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Velikost kroku (stride) se nastavuje na %d\n"
 
-#: misc/tune2fs.c:3406
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Šířka pruhu (stripe width) se nastavuje na %d\n"
 
-#: misc/tune2fs.c:3413
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "Implicitní rozšířené přepínače při přípojení se nastavují na „%s“\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
 msgstr "<pokračuje se>\n"
 
 # TODO: Pluralize
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "Přesto pokračovat (nebo počkat %d sekund do pokračování)? (a,N) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
 msgstr "Přesto pokračovat? (a,N) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "mke2fs přesto vynucen. Doufám, že /etc/mtab je nesprávná.\n"
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "nebudu tady vytvářet %s!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "mke2fs stejně vynucen.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr "Nemohu alokovat paměť pro zpracování přepínačů žurnálu!\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -7123,7 +7229,7 @@
 "\n"
 "Nebylo možné najít žurnálovací zařízení odpovídající %s\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7153,7 +7259,7 @@
 "Velikost žurnálu musí být mezi 1024 a 10240000 bloky systému souborů.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7161,26 +7267,26 @@
 "\n"
 "Systém souborů příliš malý na žurnál\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"Požadovaná velikost žurnálu je %'d bloků; musí být\n"
-"mezi 1024 a 102400 bloky. Končím.\n"
+"Celková požadovaná velikost žurnálu je %'d bloků; musí být\n"
+"mezi 1024 a 10 240 000 bloky. Končí se.\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"Velikost žurnálu příliš velká pro systém souborů.\n"
+"Celková velikost žurnálu je příliš velká pro systém souborů.\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7324,11 +7430,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Použití: %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# Výpis rozsahu:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr "#\tČís=%llu, Velikost=%llu, Kurzor=%llu, Seřazeno=%llu\n"
@@ -7385,17 +7491,17 @@
 "použijte přepínač vynucení.\n"
 "\n"
 
-#: resize/main.c:368
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "při otevírání %s"
 
-#: resize/main.c:376
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "při zjišťování stat informací o %s"
 
-#: resize/main.c:453
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7404,34 +7510,34 @@
 "Spusťte prosím nejdříve „e2fsck -f %s“.\n"
 "\n"
 
-#: resize/main.c:472
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Odhadovaná minimální velikost systému souborů: %llu\n"
 
-#: resize/main.c:509
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "Chybná nová velikost: %s\n"
 
-#: resize/main.c:528
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "Nová velikost je příliš, aby byla vyjádřena ve 32 bitech\n"
 
-#: resize/main.c:541
+#: resize/main.c:560
 msgid "New size results in too many block group descriptors.\n"
 msgstr "Nová velikost ústí v příliš mnoho deskriptorů skupin bloků.\n"
 
-#: resize/main.c:548
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "Nová velikost je menší než minimum (%llu)\n"
 
-#: resize/main.c:554
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Neplatná délka kroku"
 
-#: resize/main.c:578
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7442,31 +7548,31 @@
 "Požadovali jste novou velikost %'llu bloků.\n"
 "\n"
 
-#: resize/main.c:585
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Vlastnost 64 bitů nelze zapnout a vypnout.\n"
 
-#: resize/main.c:589
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr ""
 "Na souborovém systému, který je větší než 2^32 bloků, nelze přepnout\n"
 "vlastnost 64 bitů.\n"
 
-#: resize/main.c:595
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "Je-li systém souborů připojen, vlastnost 64 bitů nelze přepnout.\n"
 
-#: resize/main.c:601
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr ""
 "Před tím než zapnete vlastnost 64 bitů, prosím, nejprve zapněte vlastnost\n"
 "rozsahy pomocí tune2fs.\n"
 
-#: resize/main.c:607
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7475,37 +7581,42 @@
 "Souborový systém již je dlouhý %'llu (%dk) bloků. Není co dělat!\n"
 "\n"
 
-#: resize/main.c:614
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "Systém souborů již je 64bitový.\n"
 
-#: resize/main.c:619
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "Systém souborů již je 32bitový.\n"
 
-#: resize/main.c:627
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Tento souborový systém nelze zmenšit, protože má příznak vlastnosti stable_inodes.\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Souborový systém se převádí do 64 bitů.\n"
 
-#: resize/main.c:629
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Souborový systém se převádí do 32 bitů.\n"
 
-#: resize/main.c:631
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "Velikost systému souborů %s se mění na %'llu (%dk) bloků.\n"
 
-#: resize/main.c:640
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "při pokusu změnit velikost %s"
 
-#: resize/main.c:643
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7514,7 +7625,7 @@
 "Po přerušené změně velikosti, prosím, opravte souborový systém pomocí\n"
 "„e2fsck -fy %s“\n"
 
-#: resize/main.c:649
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7523,7 +7634,7 @@
 "Systém souborů na %s je nyní %'llu (%dk) bloků dlouhý.\n"
 "\n"
 
-#: resize/main.c:664
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "při pokusu zkrátit %s"
@@ -7582,52 +7693,52 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "Mění se velikosti za běhu %s na %'llu (%dk) bloků.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Při pokusu rozšířit poslední skupinu"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Při pokusu přidat skupinu č. %d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr "Systém souborů v %s je připojen do %s a změna velikost za běhu není na tomto systému podporována.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "iuzlů (%'llu) musí být méně než %'u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "rezervované bloky"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "bloky meta-dat"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "nové meta bloky"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "Toto by nikdy nemělo stát! žádný superblok v posledním super_sparse bg?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "Toto by se nikdy nemělo stát! Neočekávaný old_desc v super_sparse bg?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Toto by se nikdy nemělo stát: iuzly pro změnu velikosti jsou poškozeny!\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.6"
-msgstr "Knihovna EXT2FS verze 1.45.6"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "Knihovna EXT2FS verze 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8347,6 +8458,18 @@
 msgid "Group descriptors not loaded"
 msgstr "Deskriptory skupin nenačteny"
 
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "Vnitřní datová struktura ext2_filsys se zdá býti poškozená"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "Nalezen cyklus ve stromu rozsahů"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "Operace není na externím žurnálů podporována"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Profil verze 0.0"
@@ -8471,47 +8594,37 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Chybné magické číslo v profile_file_data_t"
 
-#: lib/support/plausible.c:114
+#: lib/support/plausible.c:119
 #, c-format
 msgid "\tlast mounted on %.*s on %s"
 msgstr "\tnaposledy připojeno do %.*s v %s"
 
-#: lib/support/plausible.c:117
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tnaposledy připojeno v %s"
 
-#: lib/support/plausible.c:120
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tvytvořeno v %s"
 
-#: lib/support/plausible.c:123
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tnaposledy změněno v %s"
 
-#: lib/support/plausible.c:157
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Nalezena tabulka rozdělení disku %s v %s\n"
 
-#: lib/support/plausible.c:187
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "Soubor %s neexistuje a žádná velikost nebyla zadána.\n"
-
-#: lib/support/plausible.c:195
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Vytváří se obyčejný soubor %s\n"
-
-#: lib/support/plausible.c:198
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Nebylo možné otevřít %s: %s\n"
 
-#: lib/support/plausible.c:201
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8519,27 +8632,47 @@
 "\n"
 "Zařízení zřejmě neexistuje; zadali jste je správně?\n"
 
-#: lib/support/plausible.c:223
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s není speciální blokové zařízení.\n"
 
-#: lib/support/plausible.c:245
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s obsahuje systém souborů %s se jmenovkou „%s“\n"
 
-#: lib/support/plausible.c:248
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s obsahuje systém souborů %s\n"
 
-#: lib/support/plausible.c:272
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s obsahuje data „%s“\n"
 
 #~ msgid ""
+#~ "\n"
+#~ "Warning: the bigalloc feature is still under development\n"
+#~ "See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Pozor: vlastnost bigalloc je stále ve vývoji.\n"
+#~ "Podrobnosti naleznete na <https://ext4.wiki.kernel.org/index.php/Bigalloc>.\n"
+#~ "\n"
+
+#~ msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+#~ msgstr "Použití: %s [-F] [-I bloky_inode_bufferů] zařízení\n"
+
+#~ msgid "while trying to open '%s'"
+#~ msgstr "při pokusu otevřít „%s“"
+
+#~ msgid "%u inodes scanned.\n"
+#~ msgstr "prozkoumáno %u iuzlů.\n"
+
+#~ msgid ""
 #~ "The encrypt and casefold features are not compatible.\n"
 #~ "They can not be both enabled simultaneously.\n"
 #~ msgstr ""
diff --git a/po/de.po b/po/de.po
index 734d927..e59ffe5 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@
 # Olaf Klemke <olke@users.sourceforge.net>,2002.
 # Marc Langer <marc@marclanger.de>,2003.
 # Philipp Thomas <pth@suse.de>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015.
-# Mario Blättermann <mario.blaettermann@gmail.com>, 2019.
+# Mario Blättermann <mario.blaettermann@gmail.com>, 2019, 2022.
 #. 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,
 #. there is an @-expansion, where strings like "@i" are expanded to
@@ -78,10 +78,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs-1.45.3\n"
+"Project-Id-Version: e2fsprogs-1.46.3\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2019-07-14 20:56-0400\n"
-"PO-Revision-Date: 2019-08-03 12:04+0200\n"
+"POT-Creation-Date: 2021-07-27 12:40-0400\n"
+"PO-Revision-Date: 2022-09-09 14:46+0200\n"
 "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -90,9 +90,9 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 19.04.2\n"
+"X-Generator: Lokalize 22.04.3\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "„Bad block“ %u außerhalb des gültigen Bereichs; ignoriert.\n"
@@ -105,35 +105,35 @@
 msgid "while reading the bad blocks inode"
 msgstr "während des Lesens des „Bad Block“-Inodes"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:688 misc/dumpe2fs.c:692 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2796 misc/tune2fs.c:2895 resize/main.c:414
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1584
+#: e2fsck/unix.c:1698 misc/badblocks.c:1264 misc/badblocks.c:1272
+#: misc/badblocks.c:1286 misc/badblocks.c:1298 misc/dumpe2fs.c:437
+#: misc/dumpe2fs.c:702 misc/dumpe2fs.c:706 misc/e2image.c:1437
+#: misc/e2image.c:1635 misc/e2image.c:1656 misc/mke2fs.c:237
+#: misc/tune2fs.c:2886 misc/tune2fs.c:2986 resize/main.c:416
 #, c-format
 msgid "while trying to open %s"
 msgstr "beim Versuch, %s zu öffnen"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "beim Versuch, „%s“ mittels „popen“ zu öffnen"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "beim Lesen der „Bad Block“-Liste aus der Datei"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "beim Updaten des „Bad Block“-Inodes"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Warnung: Nicht zulässiger Block %u im „Bad Blocks“-Inode gefunden! Bereinigt.\n"
 
-#: e2fsck/dirinfo.c:331
+#: e2fsck/dirinfo.c:332
 #, fuzzy
 #| msgid "while reading undo file"
 msgid "while freeing dir_info tdb file"
@@ -167,15 +167,15 @@
 msgid "Error writing block %lu (%s).  "
 msgstr "Schreibfehler - Block %lu (%s). "
 
-#: e2fsck/emptydir.c:57
+#: e2fsck/emptydir.c:56
 msgid "empty dirblocks"
 msgstr "leere Verzeichnisblöcke"
 
-#: e2fsck/emptydir.c:62
+#: e2fsck/emptydir.c:61
 msgid "empty dir map"
 msgstr "leere Verzeichnisliste"
 
-#: e2fsck/emptydir.c:98
+#: e2fsck/emptydir.c:97
 #, c-format
 msgid "Empty directory block %u (#%d) in inode %u\n"
 msgstr "leerer Verzeichnisblock %u (#%d) im Inode %u\n"
@@ -185,12 +185,12 @@
 msgid "%s: %s filename nblocks blocksize\n"
 msgstr "%s: %s Dateiname nblocks Blockgröße\n"
 
-#: e2fsck/extend.c:44
+#: e2fsck/extend.c:45
 #, c-format
 msgid "Illegal number of blocks!\n"
 msgstr "Blockanzahl nicht zulässig!\n"
 
-#: e2fsck/extend.c:50
+#: e2fsck/extend.c:51
 #, c-format
 msgid "Couldn't allocate block buffer (size=%d)\n"
 msgstr "Es konnte kein Blockpuffer (Größe=%d) reserviert werden\n"
@@ -209,64 +209,36 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "BLKFLSBUF ioctl nicht unterstützt! Puffer kann nicht geleert werden.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Aufruf: %s [-F] [-I inode_buffer_blocks] Gerät\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "beim Öffnen von %s für die Puffer-Leerung"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:383
-#, c-format
-msgid "while trying to flush %s"
-msgstr "während des Rückschreibeversuches auf %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "beim Versuch, %s zu öffnen"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "beim Start des Inode-Scans"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "beim Laden des nächsten Inodes"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "%u Inodes untersucht.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1270
 msgid "reading journal superblock\n"
 msgstr "Journal-Superblock wird gelesen\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1343
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: keinen gültigen Journal-Superblock gefunden\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1352
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: Das Journal ist zu kurz\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3792
+#: e2fsck/journal.c:1365
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr ""
+
+#: e2fsck/journal.c:1667 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: Journal wird wiederhergestellt\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1669
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: Das Journal ist nur lesbar - Keine Wiederherstellung\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1696
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "beim Versuch, %s erneut zu öffnen"
@@ -435,56 +407,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<Der reservierte Inode 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "reguläre Datei"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "Verzeichnis"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "zeichenorientiertes Gerät"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "blockorientiertes Gerät"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "named pipe"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "symbolische Verknüpfung"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "Socket"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "unbekannter Dateityp mit Modus 0%o"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "indirekte Blöcke"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "doppelt indirekte Blöcke"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "dreifach indirekte Blöcke"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "Übersetzerblock"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "Block Nr."
 
@@ -504,117 +476,127 @@
 msgid "unknown quota type"
 msgstr "unbekannter Typ Quota"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "mehrfach beanspruchte Inode-Liste"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:826
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "interner Fehler: dup_blk für %llu wurde nicht gefunden\n"
 
-#: e2fsck/pass1b.c:952
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "zurückgegeben von clone_file_block"
 
-#: e2fsck/pass1b.c:976
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "interner Fehler: EA-Blockliste für %llu wurde nicht gefunden"
 
-#: e2fsck/pass1b.c:988
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "Interner Fehler: EA-Inodeliste für %u wurde nicht gefunden"
 
-#: e2fsck/pass1.c:357
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr ""
 
-#: e2fsck/pass1.c:775 e2fsck/pass2.c:1007
+#: e2fsck/pass1.c:767 e2fsck/pass2.c:1147
 msgid "reading directory block"
 msgstr "Verzeichnisblock wird gelesen"
 
-#: e2fsck/pass1.c:1224
-msgid "in-use inode map"
-msgstr "„in-use inode“-Liste"
-
-#: e2fsck/pass1.c:1235
-msgid "directory inode map"
-msgstr "„directory inode“-Liste"
-
-#: e2fsck/pass1.c:1245
-msgid "regular file inode map"
-msgstr "„regular file inode“-Liste"
-
-#: e2fsck/pass1.c:1254 misc/e2image.c:1282
-msgid "in-use block map"
-msgstr "Liste der Blöcke, die verwehndet werden"
-
-#: e2fsck/pass1.c:1263
-msgid "metadata block map"
-msgstr "Liste der Metadaten-Blöcke"
-
-#: e2fsck/pass1.c:1325
-msgid "opening inode scan"
-msgstr "Inode-Scan wird gestartet"
-
-#: e2fsck/pass1.c:1363
+#: e2fsck/pass1.c:1166
 msgid "getting next inode from scan"
 msgstr "beim Lesen des nächsten Inodes"
 
-#: e2fsck/pass1.c:2067
+#: e2fsck/pass1.c:1218
+msgid "in-use inode map"
+msgstr "„in-use inode“-Liste"
+
+#: e2fsck/pass1.c:1229
+msgid "directory inode map"
+msgstr "„directory inode“-Liste"
+
+#: e2fsck/pass1.c:1239
+msgid "regular file inode map"
+msgstr "„regular file inode“-Liste"
+
+#: e2fsck/pass1.c:1248 misc/e2image.c:1289
+msgid "in-use block map"
+msgstr "Liste der Blöcke, die verwehndet werden"
+
+#: e2fsck/pass1.c:1257
+msgid "metadata block map"
+msgstr "Liste der Metadaten-Blöcke"
+
+#: e2fsck/pass1.c:1268
+#, fuzzy
+#| msgid "inode done bitmap"
+msgid "inode casefold map"
+msgstr "„inode done“-Bitmap"
+
+#: e2fsck/pass1.c:1333
+msgid "opening inode scan"
+msgstr "Inode-Scan wird gestartet"
+
+#: e2fsck/pass1.c:2101
 msgid "Pass 1"
 msgstr "Durchgang 1"
 
-#: e2fsck/pass1.c:2128
+#: e2fsck/pass1.c:2162
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "indirekte Blöcke von Inode %u werden gelesen"
 
-#: e2fsck/pass1.c:2179
+#: e2fsck/pass1.c:2213
 msgid "bad inode map"
 msgstr "fehlerhafte Inode-Liste"
 
-#: e2fsck/pass1.c:2219
+#: e2fsck/pass1.c:2253
 msgid "inode in bad block map"
 msgstr "Inode in „Bad Blocks“-Liste"
 
-#: e2fsck/pass1.c:2239
+#: e2fsck/pass1.c:2273
 msgid "imagic inode map"
 msgstr "i„magic inode“-Liste"
 
-#: e2fsck/pass1.c:2270
+#: e2fsck/pass1.c:2304
 msgid "multiply claimed block map"
 msgstr "mehrfach referenzierte Blockliste"
 
-#: e2fsck/pass1.c:2395
+#: e2fsck/pass1.c:2429
 msgid "ext attr block map"
 msgstr "ext attr block map"
 
-#: e2fsck/pass1.c:3640
+#: e2fsck/pass1.c:3724
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): erwartete %6lu erhielt phys %6lu (Blockanzahl %lld)\n"
 
-#: e2fsck/pass1.c:4060
+#: e2fsck/pass1.c:4145
 msgid "block bitmap"
 msgstr "Block-Bitmap"
 
-#: e2fsck/pass1.c:4066
+#: e2fsck/pass1.c:4151
 msgid "inode bitmap"
 msgstr "Inode-Bitmap"
 
-#: e2fsck/pass1.c:4072
+#: e2fsck/pass1.c:4157
 msgid "inode table"
 msgstr "Inode-Tabelle"
 
-#: e2fsck/pass2.c:307
+#: e2fsck/pass2.c:317
 msgid "Pass 2"
 msgstr "Durchgang 2"
 
-#: e2fsck/pass2.c:1079 e2fsck/pass2.c:1246
+#: e2fsck/pass2.c:568
+msgid "NLS is broken."
+msgstr ""
+
+#: e2fsck/pass2.c:1220 e2fsck/pass2.c:1404
 msgid "Can not continue."
 msgstr "Das Programm kann nicht fortfahren."
 
@@ -630,11 +612,11 @@
 msgid "Pass 3"
 msgstr "Durchgang 3"
 
-#: e2fsck/pass3.c:344
+#: e2fsck/pass3.c:350
 msgid "inode loop detection bitmap"
 msgstr "„inode loop detection“-Bitmap"
 
-#: e2fsck/pass4.c:277
+#: e2fsck/pass4.c:289
 msgid "Pass 4"
 msgstr "Durchgang 4"
 
@@ -650,187 +632,199 @@
 msgid "check_block_bitmap_checksum: Memory allocation error"
 msgstr "check_block_bitmap_checksum: Fehler beim reservieren von Hauptspeicher"
 
-#: e2fsck/problem.c:52
+#: e2fsck/problem.c:53
 msgid "(no prompt)"
 msgstr "(nicht interaktiv)"
 
-#: e2fsck/problem.c:53
+#: e2fsck/problem.c:54
 msgid "Fix"
 msgstr "Reparieren"
 
-#: e2fsck/problem.c:54
+#: e2fsck/problem.c:55
 msgid "Clear"
 msgstr "Bereinigen"
 
-#: e2fsck/problem.c:55
+#: e2fsck/problem.c:56
 msgid "Relocate"
 msgstr "Zurücksetzen"
 
-#: e2fsck/problem.c:56
+#: e2fsck/problem.c:57
 msgid "Allocate"
 msgstr "Freigeben"
 
-#: e2fsck/problem.c:57
+#: e2fsck/problem.c:58
 msgid "Expand"
 msgstr "Erweitern"
 
-#: e2fsck/problem.c:58
+#: e2fsck/problem.c:59
 msgid "Connect to /lost+found"
 msgstr "Nach /lost+found verbinden"
 
-#: e2fsck/problem.c:59
+#: e2fsck/problem.c:60
 msgid "Create"
 msgstr "Erstellen"
 
-#: e2fsck/problem.c:60
+#: e2fsck/problem.c:61
 msgid "Salvage"
 msgstr "Retten"
 
-#: e2fsck/problem.c:61
+#: e2fsck/problem.c:62
 msgid "Truncate"
 msgstr "Verkürzen"
 
-#: e2fsck/problem.c:62
+#: e2fsck/problem.c:63
 msgid "Clear inode"
 msgstr "Inode bereinigen"
 
-#: e2fsck/problem.c:63
+#: e2fsck/problem.c:64
 msgid "Abort"
 msgstr "Abbrechen"
 
-#: e2fsck/problem.c:64
+#: e2fsck/problem.c:65
 msgid "Split"
 msgstr "Aufteilen"
 
-#: e2fsck/problem.c:65
+#: e2fsck/problem.c:66
 msgid "Continue"
 msgstr "Fortsetzen"
 
-#: e2fsck/problem.c:66
+#: e2fsck/problem.c:67
 msgid "Clone multiply-claimed blocks"
 msgstr "Mehrfach referenzierte Blöcke werden geklont"
 
-#: e2fsck/problem.c:67
+#: e2fsck/problem.c:68
 msgid "Delete file"
 msgstr "Datei löschen"
 
-#: e2fsck/problem.c:68
+#: e2fsck/problem.c:69
 msgid "Suppress messages"
 msgstr "Ausgaben unterdrücken"
 
-#: e2fsck/problem.c:69
+#: e2fsck/problem.c:70
 msgid "Unlink"
 msgstr "Trennen"
 
-#: e2fsck/problem.c:70
+#: e2fsck/problem.c:71
 msgid "Clear HTree index"
 msgstr "Der HTree-Index wird bereinigt"
 
-#: e2fsck/problem.c:71
+#: e2fsck/problem.c:72
 msgid "Recreate"
 msgstr "Zurücksetzen"
 
-#: e2fsck/problem.c:72
+#: e2fsck/problem.c:73
 msgid "Optimize"
 msgstr ""
 
-#: e2fsck/problem.c:81
+#: e2fsck/problem.c:74
+#, fuzzy
+#| msgid "Clear @j"
+msgid "Clear flag"
+msgstr "Journal bereinigen"
+
+#: e2fsck/problem.c:83
 msgid "(NONE)"
 msgstr "(NICHTS)"
 
-#: e2fsck/problem.c:82
+#: e2fsck/problem.c:84
 msgid "FIXED"
 msgstr "REPARIERT"
 
-#: e2fsck/problem.c:83
+#: e2fsck/problem.c:85
 msgid "CLEARED"
 msgstr "BEREINIGT"
 
-#: e2fsck/problem.c:84
+#: e2fsck/problem.c:86
 msgid "RELOCATED"
 msgstr "ZURÜCKGESETZT"
 
-#: e2fsck/problem.c:85
+#: e2fsck/problem.c:87
 msgid "ALLOCATED"
 msgstr "FREIGEGEBEN"
 
-#: e2fsck/problem.c:86
+#: e2fsck/problem.c:88
 msgid "EXPANDED"
 msgstr "ERWEITERT"
 
-#: e2fsck/problem.c:87
+#: e2fsck/problem.c:89
 msgid "RECONNECTED"
 msgstr "WIEDER VERBUNDEN"
 
-#: e2fsck/problem.c:88
+#: e2fsck/problem.c:90
 msgid "CREATED"
 msgstr "ANGELEGT"
 
-#: e2fsck/problem.c:89
+#: e2fsck/problem.c:91
 msgid "SALVAGED"
 msgstr "GERETTET"
 
-#: e2fsck/problem.c:90
+#: e2fsck/problem.c:92
 msgid "TRUNCATED"
 msgstr "ABGESCHNITTEN"
 
-#: e2fsck/problem.c:91
+#: e2fsck/problem.c:93
 msgid "INODE CLEARED"
 msgstr "INODE BEREINIGT"
 
-#: e2fsck/problem.c:92
+#: e2fsck/problem.c:94
 msgid "ABORTED"
 msgstr "ABGEBROCHEN"
 
-#: e2fsck/problem.c:93
+#: e2fsck/problem.c:95
 msgid "SPLIT"
 msgstr "ABGESPALTEN"
 
-#: e2fsck/problem.c:94
+#: e2fsck/problem.c:96
 msgid "CONTINUING"
 msgstr "ES WIRD FORTGEFAHREN"
 
-#: e2fsck/problem.c:95
+#: e2fsck/problem.c:97
 msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
 msgstr "MEHRFACH REFERENZIERTE BLÖCKE WURDEN GEKLONT"
 
-#: e2fsck/problem.c:96
+#: e2fsck/problem.c:98
 msgid "FILE DELETED"
 msgstr "DATEI WURDE GELÖSCHT"
 
-#: e2fsck/problem.c:97
+#: e2fsck/problem.c:99
 msgid "SUPPRESSED"
 msgstr "UNTERDRÜCKT"
 
-#: e2fsck/problem.c:98
+#: e2fsck/problem.c:100
 msgid "UNLINKED"
 msgstr "GETRENNT"
 
-#: e2fsck/problem.c:99
+#: e2fsck/problem.c:101
 msgid "HTREE INDEX CLEARED"
 msgstr "HTREE-INDEX BEREINIGT"
 
-#: e2fsck/problem.c:100
+#: e2fsck/problem.c:102
 msgid "WILL RECREATE"
 msgstr "WIRD WIEDER AUFGEBAUT"
 
-#: e2fsck/problem.c:101
+#: e2fsck/problem.c:103
 msgid "WILL OPTIMIZE"
 msgstr ""
 
+#: e2fsck/problem.c:104
+#, fuzzy
+#| msgid "CLEARED"
+msgid "FLAG CLEARED"
+msgstr "BEREINIGT"
+
 #. @-expanded: block bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:115
+#: e2fsck/problem.c:118
 msgid "@b @B for @g %g is not in @g.  (@b %b)\n"
 msgstr "Block-Bitmap für Gruppe %g ist nicht in der Gruppe. (Block %b)\n"
 
 #. @-expanded: inode bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:119
+#: e2fsck/problem.c:122
 msgid "@i @B for @g %g is not in @g.  (@b %b)\n"
 msgstr "Inode-Bitmap für Gruppe %g ist nicht in der Gruppe. (Block %b)\n"
 
 #. @-expanded: inode table for group %g is not in group.  (block %b)\n
 #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
-#: e2fsck/problem.c:124
+#: e2fsck/problem.c:127
 msgid ""
 "@i table for @g %g is not in @g.  (@b %b)\n"
 "WARNING: SEVERE DATA LOSS POSSIBLE.\n"
@@ -847,7 +841,7 @@
 #. @-expanded:  or\n
 #. @-expanded:     e2fsck -b 32768 <device>\n
 #. @-expanded: \n
-#: e2fsck/problem.c:130
+#: e2fsck/problem.c:133
 msgid ""
 "\n"
 "The @S could not be read or does not describe a valid ext2/ext3/ext4\n"
@@ -873,7 +867,7 @@
 #. @-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
-#: e2fsck/problem.c:141
+#: e2fsck/problem.c:144
 msgid ""
 "The @f size (according to the @S) is %b @bs\n"
 "The physical size of the @v is %c @bs\n"
@@ -886,7 +880,7 @@
 #. @-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
-#: e2fsck/problem.c:148
+#: e2fsck/problem.c:151
 msgid ""
 "@S @b_size = %b, fragsize = %c.\n"
 "This version of e2fsck does not support fragment sizes different\n"
@@ -896,18 +890,18 @@
 "Diese Version von e2fsck unterstützt keine von Blockgrößen verschiedene Fragmentgrößen.\n"
 
 #. @-expanded: superblock blocks_per_group = %b, should have been %c\n
-#: e2fsck/problem.c:155
+#: e2fsck/problem.c:158
 msgid "@S @bs_per_group = %b, should have been %c\n"
 msgstr "@bs_per_group im @S = %b, sollte %c sein\n"
 
 #. @-expanded: superblock first_data_block = %b, should have been %c\n
-#: e2fsck/problem.c:160
+#: e2fsck/problem.c:163
 msgid "@S first_data_@b = %b, should have been %c\n"
 msgstr "first_data_@b im @S = %b, sollte %c sein\n"
 
 #. @-expanded: filesystem did not have a UUID; generating one.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:165
+#: e2fsck/problem.c:168
 msgid ""
 "@f did not have a UUID; generating one.\n"
 "\n"
@@ -915,7 +909,7 @@
 "Das Dateisystem hat keine UUID; es wird eine generiert.\n"
 "\n"
 
-#: e2fsck/problem.c:171
+#: e2fsck/problem.c:174
 #, no-c-format
 msgid ""
 "Note: if several inode or block bitmap blocks or part\n"
@@ -934,48 +928,48 @@
 "\n"
 
 #. @-expanded: Corruption found in superblock.  (%s = %N).\n
-#: e2fsck/problem.c:180
+#: e2fsck/problem.c:183
 msgid "Corruption found in @S.  (%s = %N).\n"
 msgstr "Beschädigung gefunden im Superblock. (%s = %N).\n"
 
 #. @-expanded: Error determining size of the physical device: %m\n
-#: e2fsck/problem.c:186
+#: e2fsck/problem.c:189
 #, no-c-format
 msgid "Error determining size of the physical @v: %m\n"
 msgstr "Fehler bei der Feststellung der Größe des physischen Gerät: %m\n"
 
 #. @-expanded: inode count in superblock is %i, should be %j.\n
-#: e2fsck/problem.c:191
+#: e2fsck/problem.c:194
 msgid "@i count in @S is %i, @s %j.\n"
 msgstr "@i-Anzahl in @S ist %i, sollte %j sein.\n"
 
-#: e2fsck/problem.c:195
+#: e2fsck/problem.c:198
 msgid "The Hurd does not support the filetype feature.\n"
 msgstr "Hurd unterstützt keine Dateitypen.\n"
 
 #. @-expanded: superblock has an invalid journal (inode %i).\n
-#: e2fsck/problem.c:201
+#: e2fsck/problem.c:204
 #, no-c-format
 msgid "@S has an @n @j (@i %i).\n"
 msgstr "Der Superblock hat ein defektes Journal (Inode %i).\n"
 
 #. @-expanded: External journal has multiple filesystem users (unsupported).\n
-#: e2fsck/problem.c:206
+#: e2fsck/problem.c:209
 msgid "External @j has multiple @f users (unsupported).\n"
 msgstr "Externes Journal hat mehrere Dateisystem-Benutzer (nicht unterstützt).\n"
 
 #. @-expanded: Can't find external journal\n
-#: e2fsck/problem.c:211
+#: e2fsck/problem.c:214
 msgid "Can't find external @j\n"
 msgstr "Externes Journal kann nicht gefunden werden\n"
 
 #. @-expanded: External journal has bad superblock\n
-#: e2fsck/problem.c:216
+#: e2fsck/problem.c:219
 msgid "External @j has bad @S\n"
 msgstr "Externes Journal hat einen ungültigen Superblock\n"
 
 #. @-expanded: External journal does not support this filesystem\n
-#: e2fsck/problem.c:221
+#: e2fsck/problem.c:224
 msgid "External @j does not support this @f\n"
 msgstr "Externes Journal unterstützt dieses Dateisystem nicht\n"
 
@@ -983,7 +977,7 @@
 #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal 
 #. @-expanded: format.\n
 #. @-expanded: It is also possible the journal superblock is corrupt.\n
-#: e2fsck/problem.c:226
+#: e2fsck/problem.c:229
 msgid ""
 "@f @j @S is unknown type %N (unsupported).\n"
 "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n"
@@ -994,90 +988,90 @@
 "Es ist ebenso möglich, dass der Joornal-Superblock defekt ist.\n"
 
 #. @-expanded: journal superblock is corrupt.\n
-#: e2fsck/problem.c:235
+#: e2fsck/problem.c:238
 msgid "@j @S is corrupt.\n"
 msgstr "Der Journal-Superblock ist defekt.\n"
 
 #. @-expanded: superblock has_journal flag is clear, but a journal is present.\n
-#: e2fsck/problem.c:240
+#: e2fsck/problem.c:243
 msgid "@S has_@j flag is clear, but a @j is present.\n"
 msgstr ""
 "Der Bitschalter has_journal im Superblock ist nicht gesetzt, aber ein\n"
 "Journal %s ist vorhanden.\n"
 
 #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n
-#: e2fsck/problem.c:245
+#: e2fsck/problem.c:248
 msgid "@S needs_recovery flag is set, but no @j is present.\n"
 msgstr ""
 "Im Superblock ist der Bitschalter „needs_recovery“ gesetzt, aber ein Journal\n"
 "ist nicht vorhanden.\n"
 
 #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n
-#: e2fsck/problem.c:250
+#: e2fsck/problem.c:253
 msgid "@S needs_recovery flag is clear, but @j has data.\n"
 msgstr ""
 "Der Bitschalter „needs_recovery“ im Superblock ist nicht gesetzt, aber das\n"
 "Journal enthält Daten.\n"
 
 #. @-expanded: Clear journal
-#: e2fsck/problem.c:255
+#: e2fsck/problem.c:258
 msgid "Clear @j"
 msgstr "Journal bereinigen"
 
 #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem.  
-#: e2fsck/problem.c:260 e2fsck/problem.c:796
+#: e2fsck/problem.c:263 e2fsck/problem.c:799
 msgid "@f has feature flag(s) set, but is a revision 0 @f.  "
 msgstr ""
 "Das Dateisystem hat Eigenschafts-Bitschalter gesetzt, ist aber ein\n"
 "Revision-0-Dateisystem.   "
 
 #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n
-#: e2fsck/problem.c:265
+#: e2fsck/problem.c:268
 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
 msgstr "%s verwaister Inode (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
 
 #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:270
+#: e2fsck/problem.c:273
 msgid "@I %B (%b) found in @o @i %i.\n"
 msgstr "Unzulässiges %B (%b) in verwaisten Inode %i gefunden.\n"
 
 #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:275
+#: e2fsck/problem.c:278
 msgid "Already cleared %B (%b) found in @o @i %i.\n"
 msgstr "Bereits bereinigter %B (%b) im verwaisten Inode %i gefunden.\n"
 
 #. @-expanded: illegal orphaned inode %i in superblock.\n
-#: e2fsck/problem.c:281
+#: e2fsck/problem.c:284
 #, no-c-format
 msgid "@I @o @i %i in @S.\n"
 msgstr "Unzulässiger verwaister Inode %i im Superblock.\n"
 
 #. @-expanded: illegal inode %i in orphaned inode list.\n
-#: e2fsck/problem.c:287
+#: e2fsck/problem.c:290
 #, no-c-format
 msgid "@I @i %i in @o @i list.\n"
 msgstr "Unzulässiger Inode %i in der Liste der verwaisten Inodes.\n"
 
 #. @-expanded: journal superblock has an unknown read-only feature flag set.\n
-#: e2fsck/problem.c:292
+#: e2fsck/problem.c:295
 msgid "@j @S has an unknown read-only feature flag set.\n"
 msgstr "Der Journal-Superblock hat einen unbekannten Nur-Lesen-Bitschalter gesetzt.\n"
 
 #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n
-#: e2fsck/problem.c:297
+#: e2fsck/problem.c:300
 msgid "@j @S has an unknown incompatible feature flag set.\n"
 msgstr ""
 "Im Journal-Superblock ist ein unbekannter Bitschalter für eine\n"
 "inkompatible Eigenschaft gesetzt.\n"
 
 #. @-expanded: journal version not supported by this e2fsck.\n
-#: e2fsck/problem.c:302
+#: e2fsck/problem.c:305
 msgid "@j version not supported by this e2fsck.\n"
 msgstr "Diese Journal-Version wird von diesem e2fsck nicht unterstützt.\n"
 
 #. @-expanded: Moving journal from /%s to hidden inode.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:308
+#: e2fsck/problem.c:311
 #, no-c-format
 msgid ""
 "Moving @j from /%s to hidden @i.\n"
@@ -1088,7 +1082,7 @@
 
 #. @-expanded: Error moving journal: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:314
+#: e2fsck/problem.c:317
 #, no-c-format
 msgid ""
 "Error moving @j: %m\n"
@@ -1100,7 +1094,7 @@
 #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n
 #. @-expanded: Clearing fields beyond the V1 journal superblock...\n
 #. @-expanded: \n
-#: e2fsck/problem.c:319
+#: e2fsck/problem.c:322
 msgid ""
 "Found @n V2 @j @S fields (from V1 @j).\n"
 "Clearing fields beyond the V1 @j @S...\n"
@@ -1111,12 +1105,12 @@
 "\n"
 
 #. @-expanded: Run journal anyway
-#: e2fsck/problem.c:325
+#: e2fsck/problem.c:328
 msgid "Run @j anyway"
 msgstr "Journal trotzdem starten"
 
 #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n
-#: e2fsck/problem.c:330
+#: e2fsck/problem.c:333
 msgid "Recovery flag not set in backup @S, so running @j anyway.\n"
 msgstr ""
 "Der Bitschalter für Wiederherstellung ist im Sicherungs-Superblock nicht\n"
@@ -1124,7 +1118,7 @@
 
 #. @-expanded: Backing up journal inode block information.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:335
+#: e2fsck/problem.c:338
 msgid ""
 "Backing up @j @i @b information.\n"
 "\n"
@@ -1134,7 +1128,7 @@
 
 #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n
 #. @-expanded: is %N; should be zero.  
-#: e2fsck/problem.c:341
+#: e2fsck/problem.c:344
 msgid ""
 "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n"
 "is %N; @s zero.  "
@@ -1143,18 +1137,18 @@
 "ist %N; @s Null.  "
 
 #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero.  
-#: e2fsck/problem.c:347
+#: e2fsck/problem.c:350
 msgid "Resize_@i not enabled, but the resize @i is non-zero.  "
 msgstr "Resize_@i ist nicht aktiviert, aber der zu modifizierende Inode ist nicht-Null."
 
 #. @-expanded: Resize inode not valid.  
-#: e2fsck/problem.c:352
+#: e2fsck/problem.c:355
 msgid "Resize @i not valid.  "
 msgstr "Resize-Inode ist ungültig.  "
 
 #. @-expanded: superblock last mount time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:357
+#: e2fsck/problem.c:360
 msgid ""
 "@S last mount time (%t,\n"
 "\tnow = %T) is in the future.\n"
@@ -1164,7 +1158,7 @@
 
 #. @-expanded: superblock last write time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:362
+#: e2fsck/problem.c:365
 msgid ""
 "@S last write time (%t,\n"
 "\tnow = %T) is in the future.\n"
@@ -1173,14 +1167,14 @@
 "\tjetzt = %T) liegt in der Zukunft.\n"
 
 #. @-expanded: superblock hint for external superblock should be %X.  
-#: e2fsck/problem.c:368
+#: e2fsck/problem.c:371
 #, no-c-format
 msgid "@S hint for external superblock @s %X.  "
 msgstr "Superblock-Hinweis für externen Superblock sollte %X sein.  "
 
 #. @-expanded: Adding dirhash hint to filesystem.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:373
+#: e2fsck/problem.c:376
 msgid ""
 "Adding dirhash hint to @f.\n"
 "\n"
@@ -1189,12 +1183,12 @@
 "\n"
 
 #. @-expanded: group descriptor %g checksum is %04x, should be %04y.  
-#: e2fsck/problem.c:378
+#: e2fsck/problem.c:381
 msgid "@g descriptor %g checksum is %04x, should be %04y.  "
 msgstr "Die Prüfsumme des Gruppendeskriptors %g ist %04x, sie sollte %04y sein.  "
 
 #. @-expanded: group descriptor %g marked uninitialized without feature set.\n
-#: e2fsck/problem.c:384
+#: e2fsck/problem.c:387
 #, no-c-format
 msgid "@g descriptor %g marked uninitialized without feature set.\n"
 msgstr ""
@@ -1202,28 +1196,28 @@
 "als nicht initialisiert gekennzeichnet.\n"
 
 #. @-expanded: group descriptor %g has invalid unused inodes count %b.  
-#: e2fsck/problem.c:389
+#: e2fsck/problem.c:392
 msgid "@g descriptor %g has invalid unused inodes count %b.  "
 msgstr "Gruppendeskriptor %g hat eine ungültige Anzahl ungenutzter Inodes von %b.  "
 
 #. @-expanded: Last group block bitmap uninitialized.  
-#: e2fsck/problem.c:394
+#: e2fsck/problem.c:397
 msgid "Last @g @b @B uninitialized.  "
 msgstr "Die letzte Gruppen-Blockbitmap ist nicht initialisiert.  "
 
-#: e2fsck/problem.c:400
+#: e2fsck/problem.c:403
 #, no-c-format
 msgid "Journal transaction %i was corrupt, replay was aborted.\n"
 msgstr "Journaltransaktion %i war beschädigt, die Wiederholung wurde abgebrochen.\n"
 
-#: e2fsck/problem.c:405
+#: e2fsck/problem.c:408
 msgid "The test_fs flag is set (and ext4 is available).  "
 msgstr "Die Kennung test_fs wurde gesetzt (und ext4 ist verfügbar).  "
 
 #. @-expanded: superblock last mount time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:410
+#: e2fsck/problem.c:413
 msgid ""
 "@S last mount time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1234,7 +1228,7 @@
 #. @-expanded: superblock last write time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:416
+#: e2fsck/problem.c:419
 msgid ""
 "@S last write time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1243,230 +1237,230 @@
 "\t(weniger als ein Tag, wahrscheinlich aufgrund falsch gesetzter Hardware-Uhr)\n"
 
 #. @-expanded: One or more block group descriptor checksums are invalid.  
-#: e2fsck/problem.c:422
+#: e2fsck/problem.c:425
 msgid "One or more @b @g descriptor checksums are invalid.  "
 msgstr "Die Prüfsumme eines oder mehrerer Gruppendeskriptoren ist ungültig.  "
 
 #. @-expanded: Setting free inodes count to %j (was %i)\n
-#: e2fsck/problem.c:427
+#: e2fsck/problem.c:430
 msgid "Setting free @is count to %j (was %i)\n"
 msgstr "Die Anzahl der freien Inodes wird auf %j gesetzt (war %i)\n"
 
 #. @-expanded: Setting free blocks count to %c (was %b)\n
-#: e2fsck/problem.c:432
+#: e2fsck/problem.c:435
 msgid "Setting free @bs count to %c (was %b)\n"
 msgstr "Die Anzahl der freien Blöcke wird auf %c gesetzt (war %b)\n"
 
 #. @-expanded: Hiding %U quota inode %i (%Q).\n
-#: e2fsck/problem.c:437
+#: e2fsck/problem.c:440
 msgid "Hiding %U @q @i %i (%Q).\n"
 msgstr "%U-Quota-Inode %i (%Q) wird versteckt.\n"
 
 #. @-expanded: superblock has invalid MMP block.  
-#: e2fsck/problem.c:442
+#: e2fsck/problem.c:445
 msgid "@S has invalid MMP block.  "
 msgstr "Der Superblock hat einen ungültigen MMP-Block.  "
 
 #. @-expanded: superblock has invalid MMP magic.  
-#: e2fsck/problem.c:447
+#: e2fsck/problem.c:450
 msgid "@S has invalid MMP magic.  "
 msgstr "Der Superblock besitzt eine falsche MMP-Kennung.  "
 
-#: e2fsck/problem.c:453
+#: e2fsck/problem.c:456
 #, no-c-format
 msgid "ext2fs_open2: %m\n"
 msgstr "ext2fs_open2: %m\n"
 
-#: e2fsck/problem.c:459
+#: e2fsck/problem.c:462
 #, no-c-format
 msgid "ext2fs_check_desc: %m\n"
 msgstr "ext2fs_check_desc: %m\n"
 
 #. @-expanded: superblock metadata_csum supersedes uninit_bg; both feature bits cannot be set 
 #. @-expanded: simultaneously.
-#: e2fsck/problem.c:465
+#: e2fsck/problem.c:468
 msgid "@S metadata_csum supersedes uninit_bg; both feature bits cannot be set simultaneously."
 msgstr "Superblock metadata_csum überschreibt uninit_bg; bei Eigenschaftenschalter können nicht gleichzeitig gesetzt werden."
 
 #. @-expanded: superblock MMP block checksum does not match.  
-#: e2fsck/problem.c:471
+#: e2fsck/problem.c:474
 #, fuzzy
 #| msgid "@S MMP @b checksum does not match MMP @b.  "
 msgid "@S MMP @b checksum does not match.  "
 msgstr "Die MMP-Block-Prüfsumme im Superblock passt nicht zum MMP-Block."
 
 #. @-expanded: superblock 64bit filesystem needs extents to access the whole disk.  
-#: e2fsck/problem.c:476
+#: e2fsck/problem.c:479
 msgid "@S 64bit @f needs extents to access the whole disk.  "
 msgstr ""
 "Superblock-64Bit-Dateisysteme brauchen Erweiterungen, um auf die gesamte\n"
 "Platte zugreifen zu können.  "
 
-#: e2fsck/problem.c:481
+#: e2fsck/problem.c:484
 msgid "First_meta_bg is too big.  (%N, max value %g).  "
 msgstr "First_meta_bg ist zu groß. (%N, max. Wert %g).  "
 
 #. @-expanded: External journal superblock checksum does not match superblock.  
-#: e2fsck/problem.c:486
+#: e2fsck/problem.c:489
 msgid "External @j @S checksum does not match @S.  "
 msgstr "Die Prüfsumme des Superblocks fes externen Journals passt nicht zum Superblock"
 
 #. @-expanded: superblock metadata_csum_seed is not necessary without metadata_csum.
-#: e2fsck/problem.c:491
+#: e2fsck/problem.c:494
 msgid "@S metadata_csum_seed is not necessary without metadata_csum."
 msgstr "ohne metadata_csum ist metadata_csum_seed im Superblock nicht nötig."
 
-#: e2fsck/problem.c:497
+#: e2fsck/problem.c:500
 #, no-c-format
 msgid "Error initializing quota context in support library: %m\n"
 msgstr "Fehler beim Initialisieren des Quota-Kontextes in der Unterstützungsbibliothek: %m\n"
 
 #. @-expanded: Bad required extra isize in superblock (%N).  
-#: e2fsck/problem.c:502
+#: e2fsck/problem.c:505
 msgid "Bad required extra isize in @S (%N).  "
 msgstr "Die erforderliche extra isize im Superblock ist ungültig (%N).  "
 
 #. @-expanded: Bad desired extra isize in superblock (%N).  
-#: e2fsck/problem.c:507
+#: e2fsck/problem.c:510
 msgid "Bad desired extra isize in @S (%N).  "
 msgstr "Ungültige gewünschte zusätzliche Isize im Superblock (%N).  "
 
 #. @-expanded: Invalid %U quota inode %i.  
-#: e2fsck/problem.c:512
+#: e2fsck/problem.c:515
 msgid "Invalid %U @q @i %i.  "
 msgstr "Ungültiger %U-Quota-Inode %i.  "
 
 #. @-expanded: superblock would have too many inodes (%N).\n
-#: e2fsck/problem.c:517
+#: e2fsck/problem.c:520
 msgid "@S would have too many inodes (%N).\n"
 msgstr ""
 
 #. @-expanded: Resize_inode and meta_bg features are enabled. Those features are\n
 #. @-expanded: not compatible. Resize inode should be disabled.  
-#: e2fsck/problem.c:522
+#: e2fsck/problem.c:525
 msgid ""
 "Resize_@i and meta_bg features are enabled. Those features are\n"
 "not compatible. Resize @i should be disabled.  "
 msgstr ""
 
 #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n
-#: e2fsck/problem.c:530
+#: e2fsck/problem.c:533
 msgid "Pass 1: Checking @is, @bs, and sizes\n"
 msgstr "Durchgang 1: Inodes, Blöcke und Größen werden geprüft\n"
 
 #. @-expanded: root inode is not a directory.  
-#: e2fsck/problem.c:534
+#: e2fsck/problem.c:537
 msgid "@r is not a @d.  "
 msgstr "Root-Inode ist kein Verzeichnis.  "
 
 #. @-expanded: root inode has dtime set (probably due to old mke2fs).  
-#: e2fsck/problem.c:539
+#: e2fsck/problem.c:542
 msgid "@r has dtime set (probably due to old mke2fs).  "
 msgstr "Für Root-Inode ist dtime gesetzt (vielleicht durch ein zu altes mke2fs).  "
 
 #. @-expanded: Reserved inode %i (%Q) has invalid mode.  
-#: e2fsck/problem.c:544
+#: e2fsck/problem.c:547
 msgid "Reserved @i %i (%Q) has @n mode.  "
 msgstr "Reservierter Inode %i (%Q) hat einen ungültigen Modus.  "
 
 #. @-expanded: deleted inode %i has zero dtime.  
-#: e2fsck/problem.c:550
+#: e2fsck/problem.c:553
 #, no-c-format
 msgid "@D @i %i has zero dtime.  "
 msgstr "dtime für gelöschten Inode %i ist Null.  "
 
 #. @-expanded: inode %i is in use, but has dtime set.  
-#: e2fsck/problem.c:556
+#: e2fsck/problem.c:559
 #, no-c-format
 msgid "@i %i is in use, but has dtime set.  "
 msgstr "Inode %i ist in Benutzung, aber hat dtime gesetzt.  "
 
 #. @-expanded: inode %i is a zero-length directory.  
-#: e2fsck/problem.c:562
+#: e2fsck/problem.c:565
 #, no-c-format
 msgid "@i %i is a @z @d.  "
 msgstr "Inode %i ist ein Verzeichnis mit Länge Null.  "
 
 #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:567
+#: e2fsck/problem.c:570
 msgid "@g %g's @b @B at %b @C.\n"
 msgstr ""
 "Die Blockbitmap der Gruppe %g auf %b überschneidet sich mit\n"
 "einem anderen Dateisystemblock.\n"
 
 #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:572
+#: e2fsck/problem.c:575
 msgid "@g %g's @i @B at %b @C.\n"
 msgstr ""
 "Die Inode-Bitmap der Gruppe %g bei %b überschneidet sich mit\n"
 "einem anderen Dateisystemblock.\n"
 
 #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:577
+#: e2fsck/problem.c:580
 msgid "@g %g's @i table at %b @C.\n"
 msgstr ""
 "Die Inode-Tabelle der Gruppe %g bei %b überschneidet sich mit\n"
 "einem anderen Dateisystemblock.\n"
 
 #. @-expanded: group %g's block bitmap (%b) is bad.  
-#: e2fsck/problem.c:582
+#: e2fsck/problem.c:585
 msgid "@g %g's @b @B (%b) is bad.  "
 msgstr "die @b-@B (%b) von @g %g ist ungültig.  "
 
 #. @-expanded: group %g's inode bitmap (%b) is bad.  
-#: e2fsck/problem.c:587
+#: e2fsck/problem.c:590
 msgid "@g %g's @i @B (%b) is bad.  "
 msgstr "Die Inode-Bitmap (%b) der Gruppe %g ist ungültig.  "
 
 #. @-expanded: inode %i, i_size is %Is, should be %N.  
-#: e2fsck/problem.c:592
+#: e2fsck/problem.c:595
 msgid "@i %i, i_size is %Is, @s %N.  "
 msgstr "Inode %i, i_size ist %Is, sollte %N sein.  "
 
 #. @-expanded: inode %i, i_blocks is %Ib, should be %N.  
-#: e2fsck/problem.c:597
+#: e2fsck/problem.c:600
 msgid "@i %i, i_@bs is %Ib, @s %N.  "
 msgstr "Inode %i, i_@bs ist %Ib, sollte %N sein.  "
 
 #. @-expanded: illegal %B (%b) in inode %i.  
-#: e2fsck/problem.c:602
+#: e2fsck/problem.c:605
 msgid "@I %B (%b) in @i %i.  "
 msgstr "Unzulässiger %B (%b) in Inode %i.  "
 
 #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i.  
-#: e2fsck/problem.c:607
+#: e2fsck/problem.c:610
 msgid "%B (%b) overlaps @f metadata in @i %i.  "
 msgstr "%B (%b) überlappt Dateisystem-Metadaten in @i %i.  "
 
 #. @-expanded: inode %i has illegal block(s).  
-#: e2fsck/problem.c:613
+#: e2fsck/problem.c:616
 #, no-c-format
 msgid "@i %i has illegal @b(s).  "
 msgstr "Inode %i hat unzulässige(n) Block/Blöcke.  "
 
 #. @-expanded: Too many illegal blocks in inode %i.\n
-#: e2fsck/problem.c:619
+#: e2fsck/problem.c:622
 #, no-c-format
 msgid "Too many illegal @bs in @i %i.\n"
 msgstr "Zu viele unzulässige Blöcke in @i %i.\n"
 
 #. @-expanded: illegal %B (%b) in bad block inode.  
-#: e2fsck/problem.c:624
+#: e2fsck/problem.c:627
 msgid "@I %B (%b) in bad @b @i.  "
 msgstr "Ungültiger %B (%b) in „bad block“-Inode.  "
 
 #. @-expanded: Bad block inode has illegal block(s).  
-#: e2fsck/problem.c:629
+#: e2fsck/problem.c:632
 msgid "Bad @b @i has illegal @b(s).  "
 msgstr "„Bad Block“-Inode hat unzulässige(n) Block/Blöcke.  "
 
 #. @-expanded: Duplicate or bad block in use!\n
-#: e2fsck/problem.c:634
+#: e2fsck/problem.c:637
 msgid "Duplicate or bad @b in use!\n"
 msgstr "Doppelter oder unzulässiger Block in Gebrauch!\n"
 
 #. @-expanded: Bad block %b used as bad block inode indirect block.  
-#: e2fsck/problem.c:639
+#: e2fsck/problem.c:642
 msgid "Bad @b %b used as bad @b @i indirect @b.  "
 msgstr "Ungültiger Block %b wird benutzt als indirekter Block des „Bad Block“-Inodes.  "
 
@@ -1474,7 +1468,7 @@
 #. @-expanded: The bad block inode has probably been corrupted.  You probably\n
 #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n
 #. @-expanded: in the filesystem.\n
-#: e2fsck/problem.c:644
+#: e2fsck/problem.c:647
 msgid ""
 "\n"
 "The bad @b @i has probably been corrupted.  You probably\n"
@@ -1488,7 +1482,7 @@
 
 #. @-expanded: \n
 #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n
-#: e2fsck/problem.c:651
+#: e2fsck/problem.c:654
 msgid ""
 "\n"
 "If the @b is really bad, the @f can not be fixed.\n"
@@ -1499,7 +1493,7 @@
 #. @-expanded: You can remove this block from the bad block list and hope\n
 #. @-expanded: that the block is really OK.  But there are no guarantees.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:656
+#: e2fsck/problem.c:659
 msgid ""
 "You can remove this @b from the bad @b list and hope\n"
 "that the @b is really OK.  But there are no guarantees.\n"
@@ -1511,121 +1505,121 @@
 "\n"
 
 #. @-expanded: The primary superblock (%b) is on the bad block list.\n
-#: e2fsck/problem.c:662
+#: e2fsck/problem.c:665
 msgid "The primary @S (%b) is on the bad @b list.\n"
 msgstr "Der primäre Superblock (%b) ist in der Liste der defekten Blöcke.\n"
 
 #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n
-#: e2fsck/problem.c:667
+#: e2fsck/problem.c:670
 msgid "Block %b in the primary @g descriptors is on the bad @b list\n"
 msgstr "Block %b im primären Gruppendeskriptor ist in der Liste der defekten Blöcke\n"
 
 #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n
-#: e2fsck/problem.c:673
+#: e2fsck/problem.c:676
 msgid "Warning: Group %g's @S (%b) is bad.\n"
 msgstr "Warnung: der Superblock der Gruppe %g (%b) ist defekt.\n"
 
 #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n
-#: e2fsck/problem.c:679
+#: e2fsck/problem.c:682
 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n"
 msgstr "Warnung: die Kopie des Gruppendeskriptors von Gruppe %g hat einen defekten Block (%b).\n"
 
 #. @-expanded: Programming error?  block #%b claimed for no reason in process_bad_block.\n
-#: e2fsck/problem.c:685
+#: e2fsck/problem.c:688
 msgid "Programming error?  @b #%b claimed for no reason in process_bad_@b.\n"
 msgstr "Programmierfehler?  Block #%b wird ohne Grund in process_bad_@b verlangt.\n"
 
 #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n
-#: e2fsck/problem.c:691
+#: e2fsck/problem.c:694
 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n"
 msgstr "Fehler beim Zuweisen von %N zusammenhängenende(m/n) Block/Blöcken in der @b-@g %g für %s: %m\n"
 
 #. @-expanded: error allocating block buffer for relocating %s\n
-#: e2fsck/problem.c:697
+#: e2fsck/problem.c:700
 #, no-c-format
 msgid "@A @b buffer for relocating %s\n"
 msgstr "Fehler beim Zuweisen eines Blockpuffers zum Verschieben von %s\n"
 
 #. @-expanded: Relocating group %g's %s from %b to %c...\n
-#: e2fsck/problem.c:702
+#: e2fsck/problem.c:705
 msgid "Relocating @g %g's %s from %b to %c...\n"
 msgstr "Gruppe %g's %s wird von %b nach %c verschoben ...\n"
 
 #. @-expanded: Relocating group %g's %s to %c...\n
-#: e2fsck/problem.c:708
+#: e2fsck/problem.c:711
 #, no-c-format
 msgid "Relocating @g %g's %s to %c...\n"
 msgstr "Gruppe %g's %s wird nach %c verschoben ...\n"
 
 #. @-expanded: Warning: could not read block %b of %s: %m\n
-#: e2fsck/problem.c:713
+#: e2fsck/problem.c:716
 msgid "Warning: could not read @b %b of %s: %m\n"
 msgstr "Warnung: Block %b von %s konnte nicht gelesen werden: %m\n"
 
 #. @-expanded: Warning: could not write block %b for %s: %m\n
-#: e2fsck/problem.c:718
+#: e2fsck/problem.c:721
 msgid "Warning: could not write @b %b for %s: %m\n"
 msgstr "Warnung: Block %b von %s konnte nicht geschrieben werden: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:723 e2fsck/problem.c:1871
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "Fehler beim Zuweisen der Inode-Bitmap (%N): %m\n"
 
 #. @-expanded: error allocating block bitmap (%N): %m\n
-#: e2fsck/problem.c:728
+#: e2fsck/problem.c:731
 msgid "@A @b @B (%N): %m\n"
 msgstr "Fehler beim Zuweisen der Block-Bitmap (%N): %m\n"
 
 #. @-expanded: error allocating icount link information: %m\n
-#: e2fsck/problem.c:734
+#: e2fsck/problem.c:737
 #, no-c-format
 msgid "@A icount link information: %m\n"
 msgstr "Fehler beim Zuweisen der „icount link information“: %m\n"
 
 #. @-expanded: error allocating directory block array: %m\n
-#: e2fsck/problem.c:740
+#: e2fsck/problem.c:743
 #, no-c-format
 msgid "@A @d @b array: %m\n"
 msgstr "Fehler beim Zuweisen des Verzeichnis-Block-Feldes: %m\n"
 
 #. @-expanded: Error while scanning inodes (%i): %m\n
-#: e2fsck/problem.c:746
+#: e2fsck/problem.c:749
 #, no-c-format
 msgid "Error while scanning @is (%i): %m\n"
 msgstr "Fehler während des Durchsuchens der Inodes (%i): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i: %m\n
-#: e2fsck/problem.c:752
+#: e2fsck/problem.c:755
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i: %m\n"
 msgstr "Fehler beim Iterieren über die Blöcke in Inode %i: %m\n"
 
 #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n
-#: e2fsck/problem.c:757
+#: e2fsck/problem.c:760
 msgid "Error storing @i count information (@i=%i, count=%N): %m\n"
 msgstr "Fehler beim Speichern der Informationen zur Inode-Anzahl (Inode=%i, Anzahl=%N): %m\n"
 
 #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n
-#: e2fsck/problem.c:762
+#: e2fsck/problem.c:765
 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n"
 msgstr "Fehler beim Speichern der Verzeichnis-Block-Informationen (Inode=%i, Block=%b, Anzahl=%N): %m\n"
 
 #. @-expanded: Error reading inode %i: %m\n
-#: e2fsck/problem.c:769
+#: e2fsck/problem.c:772
 #, no-c-format
 msgid "Error reading @i %i: %m\n"
 msgstr "Fehler beim Lesen des Inodes %i: %m\n"
 
 #. @-expanded: inode %i has imagic flag set.  
-#: e2fsck/problem.c:778
+#: e2fsck/problem.c:781
 #, no-c-format
 msgid "@i %i has imagic flag set.  "
 msgstr "Inode %i hat den Imagic-Bitschalter gesetzt.  "
 
 #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n
 #. @-expanded: or append-only flag set.  
-#: e2fsck/problem.c:784
+#: e2fsck/problem.c:787
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n"
@@ -1635,145 +1629,145 @@
 "unveränderbar oder Nur-Anhängen gesetzt.  "
 
 #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size.  
-#: e2fsck/problem.c:791
+#: e2fsck/problem.c:794
 #, no-c-format
 msgid "Special (@v/socket/fifo) @i %i has non-zero size.  "
 msgstr "Spezieller Geräte-/Socket-/Fifo-Inode %i hat die Größe Null. "
 
 #. @-expanded: journal inode is not in use, but contains data.  
-#: e2fsck/problem.c:801
+#: e2fsck/problem.c:804
 msgid "@j @i is not in use, but contains data.  "
 msgstr "Inode %i wird nicht verwendet, aber enthält Daten.  "
 
 #. @-expanded: journal is not regular file.  
-#: e2fsck/problem.c:806
+#: e2fsck/problem.c:809
 msgid "@j is not regular file.  "
 msgstr "Journal ist keine reguläre Datei.  "
 
 #. @-expanded: inode %i was part of the orphaned inode list.  
-#: e2fsck/problem.c:812
+#: e2fsck/problem.c:815
 #, no-c-format
 msgid "@i %i was part of the @o @i list.  "
 msgstr "Inode %i war Teil der Liste verwaister Inodes.  "
 
 #. @-expanded: inodes that were part of a corrupted orphan linked list found.  
-#: e2fsck/problem.c:818
+#: e2fsck/problem.c:821
 msgid "@is that were part of a corrupted orphan linked list found.  "
 msgstr ""
 "Inodes wurden gefunden, die Teil einer defekten verketteten Liste von\n"
 "verwaisten Inodes waren.  "
 
 #. @-expanded: error allocating refcount structure (%N): %m\n
-#: e2fsck/problem.c:823
+#: e2fsck/problem.c:826
 msgid "@A refcount structure (%N): %m\n"
 msgstr "Fehler beim Zuweisen der refcount-Struktur (%N): %m\n"
 
 #. @-expanded: Error reading extended attribute block %b for inode %i.  
-#: e2fsck/problem.c:828
+#: e2fsck/problem.c:831
 msgid "Error reading @a @b %b for @i %i.  "
 msgstr "Fehler beim Lesen des Blocks für erweiterte Attribute %b für Inode %i.  "
 
 #. @-expanded: inode %i has a bad extended attribute block %b.  
-#: e2fsck/problem.c:833
+#: e2fsck/problem.c:836
 msgid "@i %i has a bad @a @b %b.  "
 msgstr "Inode %i hat einen defekten Erweiterte-Attribute-Block %b.  "
 
 #. @-expanded: Error reading extended attribute block %b (%m).  
-#: e2fsck/problem.c:838
+#: e2fsck/problem.c:841
 msgid "Error reading @a @b %b (%m).  "
 msgstr "Fehler beim Lesen des Blocks für erweiterte Attribute (%m).  "
 
 #. @-expanded: extended attribute block %b has reference count %r, should be %N.  
-#: e2fsck/problem.c:843
+#: e2fsck/problem.c:846
 msgid "@a @b %b has reference count %r, @s %N.  "
 msgstr "Der Referenzzähler des Blocks für erweiterte Attribute %b ist %r, richtig wäre %N.  "
 
 #. @-expanded: Error writing extended attribute block %b (%m).  
-#: e2fsck/problem.c:848
+#: e2fsck/problem.c:851
 msgid "Error writing @a @b %b (%m).  "
 msgstr "Fehler beim Schreiben des Blocks für erweiterte Attribute %b (%m).  "
 
 #. @-expanded: extended attribute block %b has h_blocks > 1.  
-#: e2fsck/problem.c:853
+#: e2fsck/problem.c:856
 msgid "@a @b %b has h_@bs > 1.  "
 msgstr "Der Block für erweiterte Attribute %b hat h_blocks > 1.  "
 
 #. @-expanded: error allocating extended attribute region allocation structure.  
-#: e2fsck/problem.c:858
+#: e2fsck/problem.c:861
 msgid "@A @a region allocation structure.  "
 msgstr "Fehler beim Anfordern von Speicher für die Struktur zur Verwaltung der Speicherreservierungen für die erweiterten Attribute.  "
 
 #. @-expanded: extended attribute block %b is corrupt (allocation collision).  
-#: e2fsck/problem.c:863
+#: e2fsck/problem.c:866
 msgid "@a @b %b is corrupt (allocation collision).  "
 msgstr "Der Block für erweiterte Attribute %b ist defekt (Kollision der Platzanforderungen).  "
 
 #. @-expanded: extended attribute block %b is corrupt (invalid name).  
-#: e2fsck/problem.c:868
+#: e2fsck/problem.c:871
 msgid "@a @b %b is corrupt (@n name).  "
 msgstr "Der Block für erweiterte Attribute %b ist defekt (ungültiger Name).  "
 
 #. @-expanded: extended attribute block %b is corrupt (invalid value).  
-#: e2fsck/problem.c:873
+#: e2fsck/problem.c:876
 msgid "@a @b %b is corrupt (@n value).  "
 msgstr "Der Block für erweiterte Attribute %b ist defekt (ungültiger Wert).  "
 
 #. @-expanded: inode %i is too big.  
-#: e2fsck/problem.c:879
+#: e2fsck/problem.c:882
 #, no-c-format
 msgid "@i %i is too big.  "
 msgstr "Inode %i ist zu groß.  "
 
 #. @-expanded: %B (%b) causes directory to be too big.  
-#: e2fsck/problem.c:883
+#: e2fsck/problem.c:886
 msgid "%B (%b) causes @d to be too big.  "
 msgstr "%B (%b) macht das Verzeichnis zu groß.  "
 
-#: e2fsck/problem.c:888
+#: e2fsck/problem.c:891
 msgid "%B (%b) causes file to be too big.  "
 msgstr "Block #%B (%b) macht die Datei zu groß.  "
 
-#: e2fsck/problem.c:893
+#: e2fsck/problem.c:896
 msgid "%B (%b) causes symlink to be too big.  "
 msgstr "Block #%B (%b) macht den Symlink zu groß.  "
 
 #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n
-#: e2fsck/problem.c:899
+#: e2fsck/problem.c:902
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set on @f without htree support.\n"
 msgstr "Inode %i hat INDEX_FL Flag auf einem Dateisystem ohne HTREE-Unterstützung gesetzt.\n"
 
 #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n
-#: e2fsck/problem.c:905
+#: e2fsck/problem.c:908
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
 msgstr "Inode %i hat den INDEX_FL-Bitschalter gesetzt, ist aber kein Verzeichnis.\n"
 
 #. @-expanded: HTREE directory inode %i has an invalid root node.\n
-#: e2fsck/problem.c:911
+#: e2fsck/problem.c:914
 #, no-c-format
 msgid "@h %i has an @n root node.\n"
 msgstr "HTREE-Verzeichnis-Inode %i hat einen unvollständigen Wurzelknoten („root node“).\n"
 
 #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n
-#: e2fsck/problem.c:916
+#: e2fsck/problem.c:919
 msgid "@h %i has an unsupported hash version (%N)\n"
 msgstr "HTREE-Verzeichnis-Inode %i hat eine nicht unterstützte Hash-Version (%N)\n"
 
 #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n
-#: e2fsck/problem.c:922
+#: e2fsck/problem.c:925
 #, no-c-format
 msgid "@h %i uses an incompatible htree root node flag.\n"
 msgstr "@h %i benutzt einen nicht unterstützten Bitschalter für einen Htree-Wurzelknoten.\n"
 
 #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n
-#: e2fsck/problem.c:927
+#: e2fsck/problem.c:930
 msgid "@h %i has a tree depth (%N) which is too big\n"
 msgstr "@h %i hat eine zu große Verzeichnistiefe von (%N)\n"
 
 #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n
 #. @-expanded: filesystem metadata.  
-#: e2fsck/problem.c:933
+#: e2fsck/problem.c:936
 msgid ""
 "Bad @b @i has an indirect @b (%b) that conflicts with\n"
 "@f metadata.  "
@@ -1782,55 +1776,55 @@
 "den Dateisystem-Metadaten in Konflikt steht.  "
 
 #. @-expanded: Resize inode (re)creation failed: %m.
-#: e2fsck/problem.c:940
+#: e2fsck/problem.c:943
 #, no-c-format
 msgid "Resize @i (re)creation failed: %m."
 msgstr "Erzeugung des Vergrößerungs-Inodes scheiterte: %m."
 
 #. @-expanded: inode %i has a extra size (%IS) which is invalid\n
-#: e2fsck/problem.c:945
+#: e2fsck/problem.c:948
 msgid "@i %i has a extra size (%IS) which is @n\n"
 msgstr "Inode %i hat eine ungültige Extragröße (%IS)\n"
 
 #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n
-#: e2fsck/problem.c:950
+#: e2fsck/problem.c:953
 msgid "@a in @i %i has a namelen (%N) which is @n\n"
 msgstr "Ein erweitertes Attribut in Inode %i hat eine ungültige „namelen“ von %N.\n"
 
 #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n
-#: e2fsck/problem.c:955
+#: e2fsck/problem.c:958
 msgid "@a in @i %i has a value offset (%N) which is @n\n"
 msgstr "Ein erweitertes Attribut in Inode %i hat einen ungültigen Werteversatz von %N.\n"
 
 #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n
-#: e2fsck/problem.c:960
+#: e2fsck/problem.c:963
 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n"
 msgstr "Ein erweitertes Attribut in Inode %i hat einen ungültigen Werteblock von %N (muss 0 sein).\n"
 
 #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n
-#: e2fsck/problem.c:965
+#: e2fsck/problem.c:968
 msgid "@a in @i %i has a value size (%N) which is @n\n"
 msgstr "Ein erweitertes Attribut in Inode %i hat eine ungültige Wertegröße von %N.\n"
 
 #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n
-#: e2fsck/problem.c:970
+#: e2fsck/problem.c:973
 msgid "@a in @i %i has a hash (%N) which is @n\n"
 msgstr "Ein erweitertes Attribut in Inode %i hat den ungültigen Hash %N.\n"
 
 #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n
-#: e2fsck/problem.c:975
+#: e2fsck/problem.c:978
 msgid "@i %i is a %It but it looks like it is really a directory.\n"
 msgstr "Inode %i ist ein %It, aber es sieht so aus, als ob es tatsächlich ein Verzeichnis ist.\n"
 
 #. @-expanded: Error while reading over extent tree in inode %i: %m\n
-#: e2fsck/problem.c:981
+#: e2fsck/problem.c:984
 #, no-c-format
 msgid "Error while reading over @x tree in @i %i: %m\n"
 msgstr "Fehler beim Iterieren über den Extent-Baum @x in Inode %i: %m\n"
 
 #. @-expanded: Failed to iterate extents in inode %i\n
 #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n
-#: e2fsck/problem.c:986
+#: e2fsck/problem.c:989
 msgid ""
 "Failed to iterate extents in @i %i\n"
 "\t(op %s, blk %b, lblk %c): %m\n"
@@ -1840,7 +1834,7 @@
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:992
+#: e2fsck/problem.c:995
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -1850,7 +1844,7 @@
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n
-#: e2fsck/problem.c:997
+#: e2fsck/problem.c:1000
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, physical @b %b, @n len %N)\n"
@@ -1859,7 +1853,7 @@
 "\t(logischer Block %c, physischer Block %b, unzulässige Länge %N)\n"
 
 #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n
-#: e2fsck/problem.c:1003
+#: e2fsck/problem.c:1006
 #, no-c-format
 msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n"
 msgstr ""
@@ -1867,25 +1861,25 @@
 "Erweiterungen nicht unterstützt.\n"
 
 #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n
-#: e2fsck/problem.c:1009
+#: e2fsck/problem.c:1012
 #, no-c-format
 msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n"
 msgstr "Inode %i besitzt das Erweiterungsformat, aber dem Superblock fehlt die Eigenschaft EXTENTS\n"
 
 #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n
-#: e2fsck/problem.c:1015
+#: e2fsck/problem.c:1018
 #, no-c-format
 msgid "@i %i missing EXTENT_FL, but is in extents format\n"
 msgstr "Dem Inode %i fehlt EXTENT_FL, er hat aber das Format einer Erweiterung\n"
 
-#: e2fsck/problem.c:1021
+#: e2fsck/problem.c:1024
 #, no-c-format
 msgid "Fast symlink %i has EXTENT_FL set.  "
 msgstr "In schnellem Symlink %i ist EXTENT_FL gesetzt.  "
 
 #. @-expanded: inode %i has out of order extents\n
 #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1026
+#: e2fsck/problem.c:1029
 msgid ""
 "@i %i has out of order extents\n"
 "\t(@n logical @b %c, physical @b %b, len %N)\n"
@@ -1894,39 +1888,39 @@
 "\t(ungültiger logischer Block %c, physischer Block %b, Länge %N)\n"
 
 #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n
-#: e2fsck/problem.c:1030
+#: e2fsck/problem.c:1033
 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n"
 msgstr "Inode %i hat einen ungültigen Erweiterungs-Knoten (blk %b, lblk %c)\n"
 
 #. @-expanded: Error converting subcluster block bitmap: %m\n
-#: e2fsck/problem.c:1036
+#: e2fsck/problem.c:1039
 #, no-c-format
 msgid "Error converting subcluster @b @B: %m\n"
 msgstr "Fehler beim Umwandeln der Subcluster-Blockbitmap: %m\n"
 
 #. @-expanded: quota inode is not a regular file.  
-#: e2fsck/problem.c:1041
+#: e2fsck/problem.c:1044
 msgid "@q @i is not a regular file.  "
 msgstr "Der Quota-Inode ist keine reguläre Datei.  "
 
 #. @-expanded: quota inode is not in use, but contains data.  
-#: e2fsck/problem.c:1046
+#: e2fsck/problem.c:1049
 msgid "@q @i is not in use, but contains data.  "
 msgstr "Quota-Inode wird nicht benutzt, enthält aber Daten.  "
 
 #. @-expanded: quota inode is visible to the user.  
-#: e2fsck/problem.c:1051
+#: e2fsck/problem.c:1054
 msgid "@q @i is visible to the user.  "
 msgstr "Der Quota-Inode ist sichtbar für den Benutzer.  "
 
 #. @-expanded: The bad block inode looks invalid.  
-#: e2fsck/problem.c:1056
+#: e2fsck/problem.c:1059
 msgid "The bad @b @i looks @n.  "
 msgstr "Der Inode für defekte Blöcke sieht ungültig aus.  "
 
 #. @-expanded: inode %i has zero length extent\n
 #. @-expanded: \t(invalid logical block %c, physical block %b)\n
-#: e2fsck/problem.c:1061
+#: e2fsck/problem.c:1064
 msgid ""
 "@i %i has zero length extent\n"
 "\t(@n logical @b %c, physical @b %b)\n"
@@ -1935,26 +1929,26 @@
 "\t(ungültiger logischer Block %c, physischer Block %b)\n"
 
 #. @-expanded: inode %i seems to contain garbage.  
-#: e2fsck/problem.c:1067
+#: e2fsck/problem.c:1070
 #, no-c-format
 msgid "@i %i seems to contain garbage.  "
 msgstr "Inode %i scheint Müll zu enthalten.  "
 
 #. @-expanded: inode %i passes checks, but checksum does not match inode.  
-#: e2fsck/problem.c:1073
+#: e2fsck/problem.c:1076
 #, no-c-format
 msgid "@i %i passes checks, but checksum does not match @i.  "
 msgstr "Die Inode %i passiert die Prüfungen, aber die Prüfsumme passt nicht zur Inode."
 
 #. @-expanded: inode %i extended attribute is corrupt (allocation collision).  
-#: e2fsck/problem.c:1079
+#: e2fsck/problem.c:1082
 #, no-c-format
 msgid "@i %i @a is corrupt (allocation collision).  "
 msgstr "Das erweiterte Attribut für Inode %i ist defekt (Kollision der Speicerplatzanforderungen).  "
 
 #. @-expanded: inode %i extent block passes checks, but checksum does not match extent\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1087
+#: e2fsck/problem.c:1090
 msgid ""
 "@i %i extent block passes checks, but checksum does not match extent\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
@@ -1963,13 +1957,13 @@
 "\t(logischer Block %c, physischer Block %b, Länge %N)\n"
 
 #. @-expanded: inode %i extended attribute block %b passes checks, but checksum does not match block.  
-#: e2fsck/problem.c:1096
+#: e2fsck/problem.c:1099
 msgid "@i %i @a @b %b passes checks, but checksum does not match @b.  "
 msgstr "Der Block für erweiterte Attribute von Inode %i passiert die Prüfungen, allerdings passt die Prüfsumme nicht zum Block.  "
 
 #. @-expanded: Interior extent node level %N of inode %i:\n
 #. @-expanded: Logical start %b does not match logical start %c at next level.  
-#: e2fsck/problem.c:1101
+#: e2fsck/problem.c:1104
 msgid ""
 "Interior @x node level %N of @i %i:\n"
 "Logical start %b does not match logical start %c at next level.  "
@@ -1979,7 +1973,7 @@
 
 #. @-expanded: inode %i, end of extent exceeds allowed value\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1107
+#: e2fsck/problem.c:1110
 msgid ""
 "@i %i, end of extent exceeds allowed value\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
@@ -1988,30 +1982,30 @@
 "\t(logischer Block %c, physischer Block %b, Länge %N)\n"
 
 #. @-expanded: inode %i has inline data, but superblock is missing INLINE_DATA feature\n
-#: e2fsck/problem.c:1113
+#: e2fsck/problem.c:1116
 #, no-c-format
 msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
 msgstr "Inode %i besitzt das Erweiterungsformat, aber dem Superblock fehlt die Eigenschaft EXTENTS\n"
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag on filesystem without inline data support.\n
-#: e2fsck/problem.c:1119
+#: e2fsck/problem.c:1122
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"
 msgstr "Inode %i hat den Bitschalter INDEX_DATA_FL gesetzt obwohl das Dateisystem Inline-Daten nicht unterstützt.\n"
 
 #. @-expanded: inode %i block %b conflicts with critical metadata, skipping block checks.\n
-#: e2fsck/problem.c:1127
+#: e2fsck/problem.c:1130
 #, no-c-format
 msgid "@i %i block %b conflicts with critical metadata, skipping block checks.\n"
 msgstr "Block %b von Inode %i steht in Konflikt mit kritischen Metadaten, Blockprüfungen werden übersprungen.\n"
 
 #. @-expanded: directory inode %i block %b should be at block %c.  
-#: e2fsck/problem.c:1132
+#: e2fsck/problem.c:1135
 msgid "@d @i %i @b %b should be at @b %c.  "
 msgstr "Verzeichnisinode %i Block %b sollte in Block %c sein.  "
 
 #. @-expanded: directory inode %i has extent marked uninitialized at block %c.  
-#: e2fsck/problem.c:1138
+#: e2fsck/problem.c:1141
 #, no-c-format
 msgid "@d @i %i has @x marked uninitialized at @b %c.  "
 msgstr ""
@@ -2020,7 +2014,7 @@
 
 #. @-expanded: inode %i logical block %b (physical block %c) violates cluster allocation rules.\n
 #. @-expanded: Will fix in pass 1B.\n
-#: e2fsck/problem.c:1143
+#: e2fsck/problem.c:1146
 msgid ""
 "@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\n"
 "Will fix in pass 1B.\n"
@@ -2029,14 +2023,14 @@
 "Dies wird in Durchgang 1B repariert.\n"
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag but extended attribute not found.  
-#: e2fsck/problem.c:1149
+#: e2fsck/problem.c:1152
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag but @a not found.  "
 msgstr "Inode %i hat den INDEX_DATA_FL-Bitschalter gesetzt, aber es wurde kein erweitertes Attribut gefunden.  "
 
 #. @-expanded: Special (device/socket/fifo) file (inode %i) has extents\n
 #. @-expanded: or inline-data flag set.  
-#: e2fsck/problem.c:1156
+#: e2fsck/problem.c:1159
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo) file (@i %i) has extents\n"
@@ -2046,42 +2040,42 @@
 "oder Inlinedaten-Bitschalter gesetzt.  "
 
 #. @-expanded: inode %i has extent header but inline data flag is set.\n
-#: e2fsck/problem.c:1163
+#: e2fsck/problem.c:1166
 #, no-c-format
 msgid "@i %i has @x header but inline data flag is set.\n"
 msgstr "Inode %i hat den Vorspann einer Erweeiterung aber der Inlinedaten-Bitschalter ist gesetzt.\n"
 
 #. @-expanded: inode %i seems to have inline data but extent flag is set.\n
-#: e2fsck/problem.c:1169
+#: e2fsck/problem.c:1172
 #, no-c-format
 msgid "@i %i seems to have inline data but @x flag is set.\n"
 msgstr "Inode %i scheint Inlinedaten zu besitzen, aber der Erweiterungs-Bitschalter ist gesetzt.\n"
 
 #. @-expanded: inode %i seems to have block map but inline data and extent flags set.\n
-#: e2fsck/problem.c:1175
+#: e2fsck/problem.c:1178
 #, no-c-format
 msgid "@i %i seems to have @b map but inline data and @x flags set.\n"
 msgstr "Inode %i scheint eine Blockliste zu haben, aber die Bitschalter für Inlinedaten und Erweiterungen sind gesetzt.\n"
 
 #. @-expanded: inode %i has inline data and extent flags set but i_block contains junk.\n
-#: e2fsck/problem.c:1181
+#: e2fsck/problem.c:1184
 #, no-c-format
 msgid "@i %i has inline data and @x flags set but i_block contains junk.\n"
 msgstr "Die Bitschalter von Inode %i für Inlinedaten und Erweiterungen sind gesetzt aber i_block enthält Müll.\n"
 
 #. @-expanded: Bad block list says the bad block list inode is bad.  
-#: e2fsck/problem.c:1186
+#: e2fsck/problem.c:1189
 msgid "Bad block list says the bad block list @i is bad.  "
 msgstr "Die Liste defekter Blöcke sagt, daß die Inode der Liste defekt ist.  "
 
 #. @-expanded: error allocating extent region allocation structure.  
-#: e2fsck/problem.c:1191
+#: e2fsck/problem.c:1194
 msgid "@A @x region allocation structure.  "
 msgstr "Fehler beim Anfordern von Speicher für die Struktur für Speicheranforderungen für die Erweiterungsregion.  "
 
 #. @-expanded: inode %i has a duplicate extent mapping\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:1196
+#: e2fsck/problem.c:1199
 msgid ""
 "@i %i has a duplicate @x mapping\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -2089,43 +2083,45 @@
 "Inode %i hat eine doppelte Erweiterungsliste\n"
 "\t(logischer Block %c, ungültiger physischer Block %b, Länge %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
-#: e2fsck/problem.c:1201
-msgid "@A memory for encrypted @d list\n"
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
+#: e2fsck/problem.c:1204
+#, fuzzy
+#| msgid "@A memory for encrypted @d list\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
 msgstr "Fehler beim resaervieren von Speicher für die Liste verschlüsselter Verzeichnisse\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
-#: e2fsck/problem.c:1206
+#: e2fsck/problem.c:1209
 msgid "@i %i @x tree could be more shallow (%b; could be <= %c)\n"
 msgstr "Der Erweiterungsbaum von Inode %i könnte flacher sein (%b; könnte <= %c sein)\n"
 
 #. @-expanded: inode %i on bigalloc filesystem cannot be block mapped.  
-#: e2fsck/problem.c:1212
+#: e2fsck/problem.c:1215
 #, no-c-format
 msgid "@i %i on bigalloc @f cannot be @b mapped.  "
 msgstr "Inode %i auf dem Bigalloc-Dateisystem kann nicht auf Blockcache gemappt werden.  "
 
 #. @-expanded: inode %i has corrupt extent header.  
-#: e2fsck/problem.c:1218
+#: e2fsck/problem.c:1221
 #, no-c-format
 msgid "@i %i has corrupt @x header.  "
 msgstr "Inode %i hat einen defekten Erweiterungs-Vorspann.  "
 
 #. @-expanded: Timestamp(s) on inode %i beyond 2310-04-04 are likely pre-1970.\n
-#: e2fsck/problem.c:1224
+#: e2fsck/problem.c:1227
 #, no-c-format
 msgid "Timestamp(s) on @i %i beyond 2310-04-04 are likely pre-1970.\n"
-msgstr "Zeitstempel in Inode %i bevor 2310-04-04 sind wahrscheinlich von vor 1970.\n"
+msgstr "Zeitstempel in Inode %i nach 2310-04-04 sind wahrscheinlich von vor 1970.\n"
 
 #. @-expanded: inode %i has illegal extended attribute value inode %N.\n
-#: e2fsck/problem.c:1229
+#: e2fsck/problem.c:1232
 #, fuzzy
 #| msgid "@i %i has a bad @a @b %b.  "
 msgid "@i %i has @I @a value @i %N.\n"
 msgstr "Inode %i hat einen defekten Erweiterte-Attribute-Block %b.  "
 
 #. @-expanded: inode %i has invalid extended attribute. EA inode %N missing EA_INODE flag.\n
-#: e2fsck/problem.c:1235
+#: e2fsck/problem.c:1238
 #, fuzzy
 #| msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
 msgid "@i %i has @n @a. EA @i %N missing EA_INODE flag.\n"
@@ -2133,16 +2129,66 @@
 
 #. @-expanded: EA inode %N for parent inode %i missing EA_INODE flag.\n
 #. @-expanded:  
-#: e2fsck/problem.c:1240
+#: e2fsck/problem.c:1243
 msgid ""
 "EA @i %N for parent @i %i missing EA_INODE flag.\n"
 " "
 msgstr ""
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, fuzzy, no-c-format
+#| msgid "@d @i %i has @x marked uninitialized at @b %c.  "
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr ""
+"Verzeichnis-Inode %i hat eine Erweiterung, die als nicht initialisiert\n"
+"gekennzeichnet ist in Block %c.  "
+
+#. @-expanded: inode %i has the casefold flag set but is not a directory.  
+#: e2fsck/problem.c:1254
+#, fuzzy, c-format
+#| msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
+msgid "@i %i has the casefold flag set but is not a directory.  "
+msgstr "Inode %i hat den INDEX_FL-Bitschalter gesetzt, ist aber kein Verzeichnis.\n"
+
+#. @-expanded: directory %p has the casefold flag, but the\n
+#. @-expanded: casefold feature is not enabled.  
+#: e2fsck/problem.c:1259
+#, c-format
+msgid ""
+"@d %p has the casefold flag, but the\n"
+"casefold feature is not enabled.  "
+msgstr ""
+
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, fuzzy, c-format
+#| msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "Inode %i hat den INDEX_FL-Bitschalter gesetzt, ist aber kein Verzeichnis.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, fuzzy, c-format
+#| msgid "Encrypted @E is too short.\n"
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "Der verschlüsselte Eintrag „%Dn” in %p (%i) ist zu kurz.\n"
+
+#. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
+#: e2fsck/problem.c:1274
+msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
+msgstr ""
+
+#. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
+#: e2fsck/problem.c:1279
+#, c-format
+msgid "@h %i uses SipHash, but should not.  "
+msgstr ""
+
 #. @-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
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2154,46 +2200,46 @@
 "Durchgang 1B: Suche nach mehrfach beanspruchten Blöcken\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1255
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "Mehrfach beanspruchte(r) Block/Blöcke in Inode %i:"
 
-#: e2fsck/problem.c:1271
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Fehler beim Prüfen der Inodes (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "Fehler beim Zuweisen der Inode-Bitmap (inode_dup_map): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1283
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Fehler beim Iterieren über die Blöcke in Inode %i (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1288 e2fsck/problem.c:1663
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Fehler bei der Anpassung des Referenzzählers des Blocks für erweiterte Attribute %b (Inode %i): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1298
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Durchgang 1C: Verzeichnisse werden nach Inodes mit mehrfach belegten Blöcken durchsucht.\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1304
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Durchgang 1D: Mehrfach belegte Blöcke werden abgeglichen.\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1309
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2202,18 +2248,18 @@
 "  hat %r mehrfach belegte(n) Block/Blöcke, gemeinsam genutzt mit %N Datei(en):\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1315
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (Inode #%i, Änderungszeit %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<@f-Metadaten>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1325
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2223,7 +2269,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1330
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2231,349 +2277,358 @@
 "Mehrfach belegte Blöcke wurden bereits neu zugeordnet bzw. geklont.\n"
 "\n"
 
-#: e2fsck/problem.c:1344
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Datei kann nicht geklont werden: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1350
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Durchgang 1E: Erweiterungsbäume werden optimiert\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1356
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Erweiterungsbaum %p (%i) konnte nicht optimiert werden: %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1361
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Erweiterungsbäume werden optimiert: "
 
-#: e2fsck/problem.c:1376
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Interner Fehler: die max. Tiefe des Erweiterungsbaums ist zu groß (%b; erwartet wurde %c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1381
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "Der Erweiterungsbaum von Inode %i (auf Ebene %b) könnte kürzer sein.  "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1386
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "Der Erweiterungsbaum von Inode %i (auf Ebene %b) könnte schmaler sein.  "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1393
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Durchgang 2: Verzeichnisstruktur wird geprüft\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1399
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "Falsche Inode-Nummer für „.“ in Verzeichnis-Inode %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1404
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "Eintrag hat falsche Inode-Nummer: %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1409
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "Eintrag „%Dn“ in %p (%i) hat gelöschten/unbenutzten Inode %Di.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1414
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "Eintrag „%Dn“ in %p (%i) ist ein Link auf „.“  "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1419
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) zeigt auf einen Inode (%Di) in einem defekten Block.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1424
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "Eintrag „%Dn“ in %p (%i) ist ein Link auf das Verzeichnis %P (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1429
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) ist ein Link auf den Root-Inode.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1434
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) hat ein unzulässiges Zeichen im Namen.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1440
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "Fehlende „.“ im Verzeichnis-Inode %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "Fehlender Eintrag „..“ im Verzeichnis-Inode %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "Der erste Eintrag „%Dn“ (Inode=%Di) im Verzeichnis-Inode %i (%p) sollte „.“ sein\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "Der zweite Eintrag „%Dn“ (Inode=%Di) im Verzeichnis-Inode %i sollte „..“ sein\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1461
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "i_faddr für Inode %i (%Q) ist %IF, sollte Null sein.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1466
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "i_file_acl für Inode %i (%Q) ist %If, sollte Null sein.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1471
+#: e2fsck/problem.c:1510
 #, fuzzy
 #| msgid "i_fsize @F %N, @s zero.\n"
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "i_fsize für Inode %i (%Q) ist %N, @s null.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1476
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "i_frag für Inode %i (%Q) ist %N, sollte Null sein.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1481
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "i_fsize für Inode %i (%Q) ist %N, @s null.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1486
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "Inode %i (%Q) hat einen ungültigen Modus (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1491
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "Verzeichnis-Inode %i, %B, Offset %N: Verzeichnis defekt\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1496
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "Verzeichnis-Inode %i, %B, Offset %N: Dateiname zu lang\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1501
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "Verzeichnis-Inode %i hat einen nicht zugewiesenen %B.  "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1507
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "Verzeichniseintrag „.“ im Verzeichnis-Inode %i ist nicht NULL-terminiert\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "Verzeichniseintrag „..“ im Verzeichnis-Inode %i ist nicht NULL-terminiert\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "Inode %i (%Q) ist ein ungültiges zeichenorientiertes Gerät.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "Inode %i (%Q) ist ein ungültiges blockorientiertes Gerät.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1528
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) ist ein doppelter Eintrag für „.“.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1533
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) ist ein doppelter Eintrag für „..“.\n"
 
-#: e2fsck/problem.c:1539 e2fsck/problem.c:1898
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Interner Fehler: dir_info für %i kann nicht gefunden werden.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1544
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) hat eine rec_len von %Dr, sollte %N sein.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "Fehler beim Zuweisen der icount-Struktur: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1556
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Fehler beim Durchlaufen der Verzeichnisblöcke: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1561
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Fehler beim Lesen des Verzeichnisblocks %b (Inode %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Fehler beim Schreiben des Verzeichnisblocks %b (Inode %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "Fehler beim Zuweisen eines neuen Verzeichnisblocks für Inode %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Fehler bei der Freigabe von Inode %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1584
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "Verzeichniseintrag für „.“ in %p (%i) ist groß.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1589
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "Inode %i (%Q) ist eine ungültige FIFO.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "Inode %i (%Q) ist ein ungültiger Socket.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1599
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Dateitypü für Eintrag „%Dn“ in %p (%i) wird auf %N gesetzt.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1604
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "Eintrag „%Dn“ in %p (%i) hat einen falschen Dateityp (war %Dt, sollte %N sein).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1609
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) hat Dateityp gesetzt.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1614
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) hat einen Namen der Länge Null.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1619
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Symlink %Q (Inode #%i) is invalid.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1624
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "Erweiterte-Attribute-Block für Inode %i (%Q) ist ungültig (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1629
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr ""
 "Dateisystem enthält große Dateien, aber im Superblock ist\n"
 "der Bitschalter LARGE_FILE nicht gesetzt.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1634
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: %B ist nicht referenziert\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1639
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: %B doppelt referenziert\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1644
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: %B hat ungültigen Minimumhash\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1649
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: %B hat ungültigen Maximalhash\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1654
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "Ungültiger HTREE-Verzeichnis-Inode %d (%q).  "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+#, fuzzy
+#| msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr ""
+"Dateisystem enthält große Dateien, aber im Superblock ist\n"
+"der Bitschalter LARGE_FILE nicht gesetzt.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1658
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d (%q): falsche Blocknummer %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1669
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: Wurzelknoten ist ungültig\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1674
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: %B hat eine ungültige Begrenzung (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1679
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: %B hat einen ungültigen Zählerstand (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1684
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: %B hat eine unsortierte Hashtabelle\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1689
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: %B hat eine ungültige Tiefe (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1694
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Doppelter Eintrag „%Dn“ in %p (%i) gefunden.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1699
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2585,7 +2640,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1704
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2596,157 +2651,181 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1709
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi für Inode %i (%Q) %N, sollte Null sein.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1714
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "Unerwarteter Block im HTREE-Verzeichnis-Inode %d (%q).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1719
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "Eintrag „%Dn“ in %p (%i) verweist auf Inode %Di in Gruppe %g, für die _INODE_UNINIT gesetzt ist.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1724
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr ""
 "Eintrag „%Dn“ in %p (%i) verweist auf Inode %Di, der im Bereich ungenutzter Inodes\n"
 "von Gruppe %g zu finden ist.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1729
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "i_file_acl_hi für Inode %i (%Q) ist %N, sollte Null sein.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1735
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "Problem in HTREE-Verzeichnis-Inode %d: der Wurzelknoten ist ungültig.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "Problem im HTREE-Verzeichnis-Inode %d: der interne Knoten ist ungültig\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "Verzeichnis-Inode %i, %B, Offset %N: das Verzeichnis hat keine Prüfsumme.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "Verzeichnis-Inode %i, %B: das Verzeichnis besteht die Prüfungen aber die Püfsumme ist falsch.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1756
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "Die Größe von Inode %i (%N) eines Inline-Verzeichnisses muss ein Mehrfaches von 4 sein.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1762
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Das Korrigieren der Größe von Inode %i eines Inline-Verzeichnisses ist fehl geschlagen.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1767
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "Der verschlüsselte Eintrag „%Dn” in %p (%i) ist zu kurz.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr ""
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+#, fuzzy
+#| msgid "@E has illegal characters in its name.\n"
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "Eintrag „%Dn“ in %p (%i) hat ein unzulässiges Zeichen im Namen.\n"
+
+#. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
+#: e2fsck/problem.c:1831
+#, fuzzy
+#| msgid "Duplicate @E found.  "
+msgid "Duplicate filename @E found.  "
+msgstr "Doppelter Eintrag „%Dn“ in %p (%i) gefunden.  "
+
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1774
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Durchgang 3: Verzeichnisverknüpfungen werden geprüft\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1779
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "Root-Inode nicht zugeordnet. "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Kein Platz im Verzeichnis „lost+found“.  "
 
 #. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1790
+#: e2fsck/problem.c:1855
 #, no-c-format
 msgid "Unconnected @d @i %i (%p)\n"
 msgstr "Nicht verbundener Verzeichnis-Inode %i (%p)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1795
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "/lost+found nicht gefunden.  "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1800
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "„..“ in %Q (%i) ist %P (%j), sollte %q (%d) sein.\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "Verzeichnis /lost+found ist falsch oder fehlt. Wiederverbinden nicht möglich.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1812
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Erweitern von /lost+found nicht möglich: %m\n"
 
-#: e2fsck/problem.c:1818
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Wiederverbinden von %i nicht möglich: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1824
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Fehler während der Suche nach /lost+found: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1830
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_@b: %m während des Versuches, das Verzeichnis /lost+found zu erzeugen.\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1836
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_@i: %m während des Versuches, das Verzeichnis /lost+found zu erzeugen.\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1842
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_@b: %m während des Versuches, das Verzeichnis /lost+found zu erzeugen.\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1848
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_@b: %m während des Schreibens des Verzeichnisblocks für /lost+found\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1854
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Fehler während des Anpassens der Inode-Anzahl auf Inode %i\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1860
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2757,7 +2836,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1866
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2768,41 +2847,41 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1877
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Fehler beim Erzeugen des Wurzelverzeichnisses (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1883
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Fehler beim Erzeugen des Verzeichnisses /lost+found (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1888
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "Der Wurzel-Inode ist kein Verzeichnis; Abbruch.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Ohne Wurzel-Inode ist weiteres Arbeiten nicht möglich.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/lost+found ist kein Verzeichnis (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1909
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/@l hat Inline-Daten\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1914
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2813,7 +2892,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1919
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2824,45 +2903,45 @@
 "Sie dann e2fsck noch einmal laufen.\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1924
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/lost+found ist verschlüsselt\n"
 
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1996
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Durchgang 3A: Verzeichnisse werden optimiert\n"
 
-#: e2fsck/problem.c:1937
+#: e2fsck/problem.c:2002
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "dirs_to_hash Iterator konnte nicht erzeugt werden: %m\n"
 
-#: e2fsck/problem.c:1942
+#: e2fsck/problem.c:2007
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Verzeichnis %q (%d) konnte nicht optimiert werden: %m\n"
 
-#: e2fsck/problem.c:1947
+#: e2fsck/problem.c:2012
 msgid "Optimizing directories: "
 msgstr "Verzeichnisse werden optimiert: "
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2029
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Durchgang 4: Referenzzähler werden überprüft\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1970
+#: e2fsck/problem.c:2035
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "Nicht verbundener Inode der Länge Null %i.  "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:1976
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "Nicht verbundener Inode %i\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:1981
+#: e2fsck/problem.c:2046
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "Der Referenzzähler von Inode %i ist %Il, sollte aber %N sein.  "
 
@@ -2871,7 +2950,7 @@
 #. @-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
-#: e2fsck/problem.c:1985
+#: e2fsck/problem.c:2050
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2882,150 +2961,155 @@
 "@i_link_info[%i] ist %N, @i.i_links_count ist %Il. Sie sollten identisch sein!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:1992
+#: e2fsck/problem.c:2057
 #, fuzzy
 #| msgid "@i %i ref count is %Il, @s %N.  "
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "Der Referenzzähler von Inode %i ist %Il, sollte aber %N sein.  "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2062
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr ""
 
+#. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
+#: e2fsck/problem.c:2067
+msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
+msgstr ""
+
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2004
+#: e2fsck/problem.c:2074
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Durchgang 5: Zusammengefasste Gruppeninformation wird geprüft\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2009
+#: e2fsck/problem.c:2079
 msgid "Padding at end of @i @B is not set. "
 msgstr "Auffüllbyte am Ende der Inode-Bitmap ist nicht gesetzt. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2014
+#: e2fsck/problem.c:2084
 msgid "Padding at end of @b @B is not set. "
 msgstr "Auffüllbyte am Ende der Inode-Bitmap ist nicht gesetzt. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2089
 msgid "@b @B differences: "
 msgstr "Unterschiede in der Block-Bitmap: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2111
 msgid "@i @B differences: "
 msgstr "Unterschiede in der Inode-Bitmap: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2063
+#: e2fsck/problem.c:2133
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Die Anzahl freier Inodes für Gruppe #%g ist falsch (%i, gezählt=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2068
+#: e2fsck/problem.c:2138
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Die Anzahl der Verzeichnisse für Gruppe #%g ist falsch (%i, gezählt=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2143
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Die Anzahl freier Inodes ist falsch (%i, gezählt=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2078
+#: e2fsck/problem.c:2148
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Die Anzahl freier Blöcke in Gruppe #%g ist falsch (%b, gezählt=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2083
+#: e2fsck/problem.c:2153
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Die Anzahl freier Blöcke ist falsch (%b, gezählt=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2088
+#: e2fsck/problem.c:2158
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr ""
 "PROGRAMMIERFEHLER: Dateisystem (#%N) Bitmap-Endpunkte (%b, %c) stimmenen nicht\n"
 "mit den berechneten Bitmap-Endpunkten (%i, %j) überein\n"
 
-#: e2fsck/problem.c:2094
+#: e2fsck/problem.c:2164
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Interner Fehler: das Ende der Bitmap (%N) wird erraten\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2170
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Fehler beim Hineinkopieren der Inode-Bitmap: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2106
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Fehler beim Hineinkopieren der Ersatz-Blockbitmap: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2136
+#: e2fsck/problem.c:2206
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "Blöcke von Gruppe %g sind in Benutzung, obwohl die Gruppe als BLOCK_UNINIT markiert ist\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2142
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "Die Inodes der Gruppe %g sind in Benutzung, obwohl die Gruppe als INODE_UNINIT markiert ist\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2148
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "Die Inode-Bitmap der Gruppe %g passt nicht zur Prüfsumme.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2154
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "Die Block-Bitmap der Gruppe %g passt nicht zur Prüfsumme.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2161
+#: e2fsck/problem.c:2231
 msgid "Recreate @j"
 msgstr "Journal wird wiederhergestellt"
 
-#: e2fsck/problem.c:2166
+#: e2fsck/problem.c:2236
 msgid "Update quota info for quota type %N"
 msgstr "Quota-Info für Typ %N wird aktualisiert"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2172
+#: e2fsck/problem.c:2242
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "beim Setzen der Blockgruppen-Prüfsummeninfo: %m\n"
 
-#: e2fsck/problem.c:2178
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Fehler beim Lesen de Der Dateisysteminfo: %m\n"
 
-#: e2fsck/problem.c:2184
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Fehler beim Schreiben der gepufferten Daten: %m\n"
 
-#: e2fsck/problem.c:2189
+#: e2fsck/problem.c:2259
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Beim Schreiben der Quota-Info für Typ %N trat ein Fehler auf: %m\n"
 
-#: e2fsck/problem.c:2352
+#: e2fsck/problem.c:2422
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Unbenutzter Fehlercode (0x%x)!\n"
 
-#: e2fsck/problem.c:2482 e2fsck/problem.c:2486
+#: e2fsck/problem.c:2552 e2fsck/problem.c:2556
 msgid "IGNORED"
 msgstr "IGNORIERT"
 
@@ -3034,8 +3118,9 @@
 msgstr "in move_quota_inode"
 
 #: e2fsck/scantest.c:79
-#, c-format
-msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
+#, fuzzy, c-format
+#| msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
+msgid "Memory used: %lu, elapsed time: %6.3f/%6.3f/%6.3f\n"
 msgstr "Benutzter Speicher: %d, vergangende Zeit: %6.3f/%6.3f/%6.3f\n"
 
 #: e2fsck/scantest.c:98
@@ -3043,6 +3128,10 @@
 msgid "size of inode=%d\n"
 msgstr "Größe des Inodes=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1330
+msgid "while opening inode scan"
+msgstr "beim Start des Inode-Scans"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "beim Starten der Inode-Prüfung"
@@ -3124,7 +3213,7 @@
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %u/%u Dateien (%0d.%d%% nicht zusammenhängend), %llu/%llu Blöcke\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:164
 #, c-format
 msgid ""
 "\n"
@@ -3139,51 +3228,51 @@
 "\n"
 "%12u Inodes sind in Benutzung (%2.2f%% von %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:168
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
 msgstr[0] "%12u nicht zusammenhängende Datei (%0d.%d%%)\n"
 msgstr[1] "%12u nicht zusammenhängende Dateien (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:173
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
 msgstr[0] "%12u nicht zusammenhängendes Verzeichnis (%0d.%d%%)\n"
 msgstr[1] "%12u nicht zusammenhängende Verzeichnisse (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:178
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             # von Inodes mit ind/dind/tind Blöcken: %u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:186
 msgid "             Extent depth histogram: "
 msgstr "             Histogramm der Tiefe von Erweiterungen: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:195
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] "%12llu Block wird benutzt (%2.2f%% von %llu)\n"
 msgstr[1] "%12llu Blöcke werden benutzt (%2.2f%% von %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:200
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] "%12u defekter Block\n"
 msgstr[1] "%12u defekte Blöcke\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:202
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] "%12u große Datei\n"
 msgstr[1] "%12u große Dateien\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:204
 #, c-format
 msgid ""
 "\n"
@@ -3198,96 +3287,96 @@
 "\n"
 "%12u reguläre Dateien\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:206
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
 msgstr[0] "%12u Verzeichnis\n"
 msgstr[1] "%12u Verzeichnisse\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:208
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
 msgstr[0] "%12u zeichenorientierte Gerätedatei\n"
 msgstr[1] "%12u zeichenorientierte Gerätedateien\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:211
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
 msgstr[0] "%12u Blockgerätedatei\n"
 msgstr[1] "%12u Blockgerätedateien\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:213
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] "%12u Fifo\n"
 msgstr[1] "%12u Fifos\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:215
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] "%12u Verknüpfung\n"
 msgstr[1] "%12u Verknüpfungen\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:217
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] "%12u symbolische Verknüpfung"
 msgstr[1] "%12u symbolische Verknüpfungen"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:219
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
 msgstr[0] " (%u schnelle symbolische Verknüpfung)\n"
 msgstr[1] " (%u schnelle symbolische Verknüpfungen)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:223
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
 msgstr[0] "%12u Socket\n"
 msgstr[1] "%12u Sockets\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:227
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] "%12u Datei\n"
 msgstr[1] "%12u Dateien\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2986 misc/util.c:129
-#: resize/main.c:354
+#: e2fsck/unix.c:240 misc/badblocks.c:1001 misc/tune2fs.c:3078 misc/util.c:129
+#: resize/main.c:356
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "bei der Prüfung, ob %s eingehängt ist."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:261
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Warnung! %s ist eingehängt.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:264
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Warnung! %s wird verwendet.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:270
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s ist eingehängt.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:272
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s wird verwendet.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:274
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3295,7 +3384,7 @@
 "Fortsetzung nicht möglich, wird abgebrochen.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:276
 msgid ""
 "\n"
 "\n"
@@ -3309,85 +3398,85 @@
 "Sie ***SCHWERWIEGENDE*** Schäden am Dateisystem verursachen.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:281
 msgid "Do you really want to continue"
 msgstr "Wirklich fortfahren"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:283
 msgid "check aborted.\n"
 msgstr "Prüfung abgebrochen.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:377
 msgid " contains a file system with errors"
 msgstr " enthält ein fehlerhaftes Dateisystem"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:379
 msgid " was not cleanly unmounted"
 msgstr " wurde nicht ordnungsgemäß ausgehängt"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:381
 msgid " primary superblock features different from backup"
 msgstr "Eigenschaften des primären Superblocks unterscheiden sich von der Datensicherung"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:385
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " wurde %u-mal ohne Überprüfung eingehängt"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:392
 msgid " has filesystem last checked time in the future"
 msgstr " hat einen in der Zukunft liegenden Zeitpunkt der letzten Püfung des Dateisystems"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:398
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " wurde %u Tage ohne Überprüfung genutzt"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:406
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr ""
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:412
 msgid ", check forced.\n"
 msgstr ", Prüfung erzwungen.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:445
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: sauber, %u/%u Dateien, %llu/%llu Blöcke"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:465
 msgid " (check deferred; on battery)"
 msgstr " (Prüfung nach nächstem Einhängen)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:468
 msgid " (check after next mount)"
 msgstr " (Prüfung nach nächstem Einhängen)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:470
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (Prüfung nach %ld Einhängevorgängen)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:620
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "Fehler: /dev/null (%s) kann nicht geöffnet werden\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:691
 msgid "Invalid EA version.\n"
 msgstr "Ungültige EA-Version.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:704
 msgid "Invalid readahead buffer size.\n"
 msgstr "Ungültige Größe für den Vorauslesen-Puffer.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:767
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Unbekannte erweiterte Option: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:775
 #, fuzzy
 #| msgid ""
 #| "\n"
@@ -3416,17 +3505,17 @@
 "\tblocksize=<Blockgröße>\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:779
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr ""
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:788
 #, fuzzy
 #| msgid "Invalid readahead buffer size.\n"
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "Ungültige Größe für den Vorauslesen-Puffer.\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:801
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3435,62 +3524,72 @@
 "Syntaxfehler in der Konfigurationsdatei von e2fsck (%s, Zeile %d)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:874
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Fehler bei Überprüfung des Datei-Deskriptors %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:878
 msgid "Invalid completion information file descriptor"
 msgstr "Ungültiger „completion information“-Datei-Deskriptor"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:893
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Nur eine der Optionen -p/-a, -n oder -y darf angegeben werden."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:914
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "Die Option -t wird von dieser e2fsck-Version nicht unterstützt.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1695 misc/tune2fs.c:1990 misc/tune2fs.c:2008
+#: e2fsck/unix.c:946 e2fsck/unix.c:1024 misc/e2initrd_helper.c:330
+#: misc/tune2fs.c:1778 misc/tune2fs.c:2078 misc/tune2fs.c:2096
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Nicht möglich, „%s“ aufzulösen"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1003
 msgid "The -n and -D options are incompatible."
 msgstr "Die Optionen -n und -D schließen sich gegenseitig aus."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1008
 msgid "The -n and -c options are incompatible."
 msgstr "Die Optionen -n und -c schließen sich gegenseitig aus."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1013
 msgid "The -n and -l/-L options are incompatible."
 msgstr "Die Optionen -n und -l/-L schließen sich gegenseitig aus."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1037
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Die Optionen -D und -E fixes_only sind inkompatibel."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1043
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Die Optionen -E bmap2extent and fixes_only sind inkompatibel."
 
-#: e2fsck/unix.c:1095
+#: e2fsck/unix.c:1094
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "beim Öffnen von %s für die Puffer-Leerung"
+
+#: e2fsck/unix.c:1100 resize/main.c:385
+#, c-format
+msgid "while trying to flush %s"
+msgstr "während des Rückschreibeversuches auf %s"
+
+#: e2fsck/unix.c:1107
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "Die Optionen -c und -l/-L dürfen nicht gleichzeitig verwendet werden.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1154
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
 "\n"
 msgstr "2FSCK_JBD_DEBUG „%s“ ist keine Ganzzahl\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1163
 #, c-format
 msgid ""
 "\n"
@@ -3501,18 +3600,18 @@
 "Ungültiges nicht-numerisches Argument für -%c („%s“)\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1254
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr ""
 "MMP-Intervall ist %u Sekunden und die gesamte Wartezeit ist %u Sekunden.\n"
 "Bitte warten...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1271 e2fsck/unix.c:1276
 msgid "while checking MMP block"
 msgstr "beim Prüfen des MMP-Blocks"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1278
 #, fuzzy, c-format
 #| msgid ""
 #| "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3525,13 +3624,13 @@
 "führen Sie bitte Folgendes aus:\n"
 "„tune2fs -f -E clear_mmp {device}“\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1294
 msgid "while reading MMP block"
 msgstr "beim Lesen des MMP-Blocks."
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2696 misc/mke2fs.c:2747 misc/tune2fs.c:2713
-#: misc/tune2fs.c:2758 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1314 e2fsck/unix.c:1366 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2723 misc/mke2fs.c:2774 misc/tune2fs.c:2803
+#: misc/tune2fs.c:2848 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3541,57 +3640,57 @@
 "Das bestehende Dateisystem wird überschrieben, dies kann mittels des Befehls\n"
 "„e2undo %s %s“ rückgängig gemacht werden.\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2736 misc/tune2fs.c:2747
+#: e2fsck/unix.c:1355 misc/e2undo.c:274 misc/mke2fs.c:2763 misc/tune2fs.c:2837
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "beim Versuch, %s zu löschen"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2762 resize/main.c:243
+#: e2fsck/unix.c:1381 misc/mke2fs.c:2789 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "beim Versuch, die Datei mit den Daten zur Rückgängigmachung anzulegen\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1425
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Fehler: ext2fs-Bibliotheks-Version ist zu alt!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1432
 msgid "while trying to initialize program"
 msgstr "bei der Programminitialisierung"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1469
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\t%s wird verwendet, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1481
 msgid "need terminal for interactive repairs"
 msgstr "Ein Terminal wird für interaktive Reparaturen benötigt"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1542
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s Datensicherungs-Blöcke werden versucht ...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1544
 msgid "Superblock invalid,"
 msgstr "Superblock ungültig,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1545
 msgid "Group descriptors look bad..."
 msgstr "Gruppen-Deskriptoren scheinen defekt zu sein..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1555
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: %s beim Benutzen der Datensicherungs-Blöcke"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1559
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: es wird zum originalen Superblock zurück gekehrt\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1588
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3601,30 +3700,30 @@
 "von e2fsck (oder der Dateisystem-Superblock ist defekt).\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1595
 msgid "Could this be a zero-length partition?\n"
 msgstr "Könnte es eine Partion der Länge Null sein?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1597
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Sie benötigen %s- oder root-Rechte für das Dateisystem.\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1603
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Möglicherweise ist die Partition nicht vorhanden oder eine Swap-Partition?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1605
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr ""
 "Ist das Dateisystem eingehängt oder exklusiv von einem anderen Programm\n"
 "geöffnet worden?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1609
 msgid "Possibly non-existent device?\n"
 msgstr "Ist das Gerät möglicherweise nicht vorhanden?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1612
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3632,80 +3731,80 @@
 "Laufwerk ist schreibgeschützt, nutzen Sie die Option -n,\n"
 "um es im Nur-Lesen-Modus zu prüfen.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1626
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1701
 msgid "Get a newer version of e2fsck!"
 msgstr "Neuere Version von e2fsck benötigt!"
 
-#: e2fsck/unix.c:1749
+#: e2fsck/unix.c:1761
 #, c-format
 msgid "while checking journal for %s"
 msgstr "während der Prüfung des Journals auf %s"
 
-#: e2fsck/unix.c:1752
+#: e2fsck/unix.c:1764
 msgid "Cannot proceed with file system check"
 msgstr "Weiteres Arbeiten auf dem Dateisystem ist nicht möglich"
 
-#: e2fsck/unix.c:1763
+#: e2fsck/unix.c:1775
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr ""
 "Warnung: Journal-Wiederherstellung wird übersprungen, da sich das Dateisystem\n"
 "im Nur-Lesen-Modus befindet.\n"
 
-#: e2fsck/unix.c:1775
+#: e2fsck/unix.c:1787
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "Superblock-Flags konnten auf %s nicht gesetzt werden\n"
 
-#: e2fsck/unix.c:1781
+#: e2fsck/unix.c:1793
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Ein Fehler in der Prüfsumme des Journals wurde in %s gefunden\n"
 
-#: e2fsck/unix.c:1785
+#: e2fsck/unix.c:1797
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Das Journal von %s ist defekt\n"
 
-#: e2fsck/unix.c:1789
+#: e2fsck/unix.c:1801
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "bei der Wiederherstellung des ext3-Journals von %s"
 
-#: e2fsck/unix.c:1811
+#: e2fsck/unix.c:1823
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s besitzt nicht unterstützte Eigenschaft(en):"
 
-#: e2fsck/unix.c:1826
+#: e2fsck/unix.c:1838
 #, fuzzy, c-format
 #| msgid "%s has unsupported feature(s):"
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s besitzt nicht unterstützte Eigenschaft(en):"
 
-#: e2fsck/unix.c:1876
+#: e2fsck/unix.c:1888
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: %s beim Lesen des Bad-Block-Inodes\n"
 
-#: e2fsck/unix.c:1879
+#: e2fsck/unix.c:1891
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Das verheißt nichts Gutes, aber es wird trotzdem versucht ...\n"
 
-#: e2fsck/unix.c:1919
+#: e2fsck/unix.c:1934
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Journal wird erstellt (%d Blöcke): "
 
-#: e2fsck/unix.c:1929
+#: e2fsck/unix.c:1943
 msgid " Done.\n"
 msgstr " Erledigt.\n"
 
-#: e2fsck/unix.c:1931
+#: e2fsck/unix.c:1945
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3713,24 +3812,24 @@
 "\n"
 "*** Journal wurde wieder hergestellt ***\n"
 
-#: e2fsck/unix.c:1937
+#: e2fsck/unix.c:1951
 msgid "aborted"
 msgstr "abgebrochen"
 
-#: e2fsck/unix.c:1939
+#: e2fsck/unix.c:1953
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: e2fsck abgebrochen.\n"
 
-#: e2fsck/unix.c:1966
+#: e2fsck/unix.c:1980
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "e2fsck wird neu gestartet ...\n"
 
-#: e2fsck/unix.c:1970
+#: e2fsck/unix.c:1984
 msgid "while resetting context"
 msgstr "beim Rücksetzen des Kontexts"
 
-#: e2fsck/unix.c:2029
+#: e2fsck/unix.c:2043
 #, c-format
 msgid ""
 "\n"
@@ -3739,12 +3838,12 @@
 "\n"
 "%s: ***** DATEISYSTEMFEHLER KORRIGIERT *****\n"
 
-#: e2fsck/unix.c:2031
+#: e2fsck/unix.c:2045
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: Es wurden Änderungen am  Dateisystem vorgenommen.\n"
 
-#: e2fsck/unix.c:2035 e2fsck/util.c:71
+#: e2fsck/unix.c:2049 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3753,12 +3852,12 @@
 "\n"
 "%s: ***** DATEISYSTEM WURDE VERÄNDERT *****\n"
 
-#: e2fsck/unix.c:2040
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** LINUX MUSS NEU GESTARTET WERDEN *****\n"
 
-#: e2fsck/unix.c:2050 e2fsck/util.c:77
+#: e2fsck/unix.c:2064 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3769,51 +3868,51 @@
 "%s: ********** WARNUNG: Noch Fehler im Dateisystem  **********\n"
 "\n"
 
-#: e2fsck/util.c:196 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:93
 msgid "yY"
 msgstr "jJyY"
 
-#: e2fsck/util.c:197 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:112
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:198
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "aA"
 
-#: e2fsck/util.c:202
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " („a” aktiert „ja” für alles) "
 
-#: e2fsck/util.c:219
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<jy>"
 
-#: e2fsck/util.c:221
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:223
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (j/n)"
 
-#: e2fsck/util.c:246
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "abgebrochen!\n"
 
-#: e2fsck/util.c:279
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "ja für alles\n"
 
-#: e2fsck/util.c:281
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "ja\n"
 
-#: e2fsck/util.c:283
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "nein\n"
 
-#: e2fsck/util.c:293
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3822,7 +3921,7 @@
 "%s? nein\n"
 "\n"
 
-#: e2fsck/util.c:297
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3831,38 +3930,38 @@
 "%s? ja\n"
 "\n"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "ja"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "nein"
 
-#: e2fsck/util.c:317
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps: ungültiger Bitmpa-Block(-Blöcke) für %s"
 
-#: e2fsck/util.c:322
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "Inode und Block-Bitmaps werden gelesen"
 
-#: e2fsck/util.c:334
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "während des wiederholten Versuches, Bitmaps für %s einzulesen"
 
-#: e2fsck/util.c:346
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "Block- und Inode-Bitmaps werden geschrieben"
 
-#: e2fsck/util.c:351
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "während des wiederholten Versuches, Block- und Inode-Bitmaps für %s zu schreiben."
 
-#: e2fsck/util.c:363
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3875,37 +3974,39 @@
 "%s: UNERWARTETE INKONSISTENZ; fsck MANUELL AUSFÜHREN\n"
 "\t(d.h. ohne die Optionen -a oder -p)\n"
 
-#: e2fsck/util.c:444
-#, c-format
-msgid "Memory used: %luk/%luk (%luk/%luk), "
+#: e2fsck/util.c:438
+#, fuzzy, c-format
+#| msgid "Memory used: %luk/%luk (%luk/%luk), "
+msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Benutzter Speicher: %luk/%luk (%luk/%luk), "
 
-#: e2fsck/util.c:448
-#, c-format
-msgid "Memory used: %lu, "
+#: e2fsck/util.c:444
+#, fuzzy, c-format
+#| msgid "Memory used: %lu, "
+msgid "Memory used: %lluk, "
 msgstr "Benutzter Speicher: %lu, "
 
-#: e2fsck/util.c:455
+#: e2fsck/util.c:450
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "Zeit: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:460
+#: e2fsck/util.c:455
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "abgelaufende Zeit: %6.3f\n"
 
-#: e2fsck/util.c:495 e2fsck/util.c:509
+#: e2fsck/util.c:490 e2fsck/util.c:504
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "beim Lesen von Inode %lu in %s"
 
-#: e2fsck/util.c:523 e2fsck/util.c:536
+#: e2fsck/util.c:518 e2fsck/util.c:531
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "beim Schreiben von Inode %lu in %s"
 
-#: e2fsck/util.c:792
+#: e2fsck/util.c:790
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "UNERWARTETE INKONSISTENZ: das Dateisystem wird verändert, während fsck läuft.\n"
 
@@ -4027,52 +4128,64 @@
 msgid "during test data write, block %lu"
 msgstr "beim Schreiben der Test-Daten; Block %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:134
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s ist eingehängt; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "Badblocks wird trotzdem erzwungen. Hoffentlich ist /etc/mtab nicht korrekt.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "es ist zu unsicher, Badblocks zu starten!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:145
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s wird offensichtlich vom System genutzt; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "Badblocks wird trotzdem erzwungen. Hoffentlich ist /etc/mtab nicht korrekt.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "ungültige %s - %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1135
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "Die maximale Anzahl der defekten Blöcke von %u ist zu hoch - Das Maximum sind %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1162
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "Speicher für Testmuster kann nicht reserviert werden - %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1192
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "Es darf im Nur-Lesen-Modus nur ein Testmuster angegeben werden"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1198
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "Zufälliges Testmuster ist im Nur-Lesen-Modus nicht erlaubt"
 
-#: misc/badblocks.c:1213
+#: misc/badblocks.c:1205
+#, fuzzy, c-format
+#| msgid "invalid block size - %s"
+msgid "Invalid block size: %d\n"
+msgstr "ungültige Blockgröße - %s"
+
+#: misc/badblocks.c:1211
+#, fuzzy, c-format
+#| msgid "Invalid blocksize parameter: %s\n"
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Ungültiger Blockgrößen-Parameter: %s\n"
+
+#: misc/badblocks.c:1225
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4080,41 +4193,41 @@
 "Größe des Gerätes ist nicht feststellbar.\n"
 "Sie müssen sie manuell angeben.\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1231
 msgid "while trying to determine device size"
 msgstr "beim Versuch, die Gerätegröße festzustellen"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1236
 msgid "last block"
 msgstr "letzter Block"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1242
 msgid "first block"
 msgstr "erster Block"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1245
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "Ungültiger Startblock (%llu): er muss kleiner als %llu sein"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1253
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "Ungültiger Endblock (%llu): er muss ein 32-Bit Wert sein"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1309
 msgid "while creating in-memory bad blocks list"
 msgstr "beim Erstellen der Bad-Block-Liste im Speicher"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1318
 msgid "input file - bad format"
 msgstr "die Eingabedatei hat ein ungültiges Format"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1326 misc/badblocks.c:1335
 msgid "while adding to in-memory bad block list"
 msgstr "beim Hinzufügen zur Bad-Block-Liste im Speicher"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1360
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Durchgang beendet, %u defekte Blöcke gefunden. (%d/%d/%d Fehler)\n"
@@ -4122,68 +4235,68 @@
 #: misc/chattr.c:89
 #, fuzzy, c-format
 #| msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTu] [-v version] files...\n"
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...\n"
+msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
 msgstr "Aufruf: %s [-pRVf] [-+=aAcCdDeijPsStTu] [-v Version] Dateien…\n"
 
-#: misc/chattr.c:160
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "ungültiges Projekt - %s\n"
 
-#: misc/chattr.c:174
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "falsche Version - %s\n"
 
-#: misc/chattr.c:220 misc/lsattr.c:127
+#: misc/chattr.c:221 misc/lsattr.c:127
 #, c-format
 msgid "while trying to stat %s"
 msgstr "beim Auslesen des Status von %s"
 
-#: misc/chattr.c:227
+#: misc/chattr.c:228
 #, c-format
 msgid "while reading flags on %s"
 msgstr "beim Lesens der Flags in %s"
 
-#: misc/chattr.c:232 misc/chattr.c:244
+#: misc/chattr.c:233 misc/chattr.c:245
 #, c-format
 msgid "Flags of %s set as "
 msgstr "Flags von %s wie folgt gesetzt: "
 
-#: misc/chattr.c:253
+#: misc/chattr.c:254
 #, c-format
 msgid "while setting flags on %s"
 msgstr "beim Setzen der Flags in %s"
 
-#: misc/chattr.c:261
+#: misc/chattr.c:262
 #, c-format
 msgid "Version of %s set as %lu\n"
 msgstr "Version von %s gesetzt auf %lu\n"
 
-#: misc/chattr.c:265
+#: misc/chattr.c:266
 #, c-format
 msgid "while setting version on %s"
 msgstr "beim Setzen der Version in %s"
 
-#: misc/chattr.c:272
+#: misc/chattr.c:273
 #, c-format
 msgid "Project of %s set as %lu\n"
 msgstr "Das Projekt von %s wurde auf %lu gesetzt\n"
 
-#: misc/chattr.c:276
+#: misc/chattr.c:277
 #, c-format
 msgid "while setting project on %s"
 msgstr "beim Setzen des Projektes von %s"
 
-#: misc/chattr.c:298
+#: misc/chattr.c:299
 msgid "Couldn't allocate path variable in chattr_dir_proc"
 msgstr "Pfad-Variable in chattr_dir_proc konnte nicht reserviert werden"
 
-#: misc/chattr.c:338
+#: misc/chattr.c:339
 msgid "= is incompatible with - and +\n"
 msgstr "= ist inkompatibel zu - und +\n"
 
-#: misc/chattr.c:346
+#: misc/chattr.c:347
 msgid "Must use '-v', =, - or +\n"
 msgstr "„-v“, =, - oder + verwenden\n"
 
@@ -4192,8 +4305,8 @@
 msgid "while reading inode %u"
 msgstr "beim Lesen von Inode %u"
 
-#: misc/create_inode.c:90 misc/create_inode.c:288 misc/create_inode.c:353
-#: misc/create_inode.c:391
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "beim Expandieren des Verzeichnisses"
 
@@ -4202,144 +4315,156 @@
 msgid "while linking \"%s\""
 msgstr "beim Verknüpfen von „%s”"
 
-#: misc/create_inode.c:105 misc/create_inode.c:132 misc/create_inode.c:322
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "beim Schreiben von Inode %u"
 
-#: misc/create_inode.c:152 misc/create_inode.c:176
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "beim Auflisten der Attribute von „%s”"
 
-#: misc/create_inode.c:163
+#: misc/create_inode.c:165
 #, c-format
 msgid "while opening inode %u"
 msgstr "beim Öffnen von Inode %u"
 
-#: misc/create_inode.c:169 misc/create_inode.c:196 misc/create_inode.c:1043
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, fuzzy, c-format
+#| msgid "while reading inode %u"
+msgid "while reading xattrs for inode %u"
+msgstr "beim Lesen von Inode %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "beim Anfordern von Speicher"
 
-#: misc/create_inode.c:189 misc/create_inode.c:205
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "beim Lesens des Attributs „%s” von „%s”"
 
-#: misc/create_inode.c:214
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "beim Schreiben von Attribut „%s” nach Inode „%u”"
 
-#: misc/create_inode.c:224
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "beim Schließen von Inode %u"
 
-#: misc/create_inode.c:275
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "beim Reservieren von Speicher für Inode „%s”"
 
-#: misc/create_inode.c:294
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "beim Anlegen von Inode „%s”"
 
-#: misc/create_inode.c:360
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "beim Anlegen der symbolischen Verknüpfung „%s”"
 
-#: misc/create_inode.c:378 misc/create_inode.c:963
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "beim Suchen von „%s”"
 
-#: misc/create_inode.c:398
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "beim Erstellen des Verzeichnisses „%s”"
 
-#: misc/create_inode.c:627
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "beim Öffnen von „%s” zum Kopieren"
 
-#: misc/create_inode.c:805
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "beim Ändern des Arbeitsverzeichnisses zu „%s”"
 
-#: misc/create_inode.c:815
+#: misc/create_inode.c:838
 #, fuzzy, c-format
 #| msgid "while creating directory \"%s\""
 msgid "while scanning directory \"%s\""
 msgstr "beim Erstellen des Verzeichnisses „%s”"
 
-#: misc/create_inode.c:825
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "beim Auslesen des Status von „%s”"
 
-#: misc/create_inode.c:875
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "beim Erzeugen der besonderen Datei „%s”"
 
-#: misc/create_inode.c:884
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "Die Reservierung von Speicher schlug fehl"
 
-#: misc/create_inode.c:892
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "beim Versuch, die Verknüpfung „%s” zu lesen"
 
-#: misc/create_inode.c:899
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "Die symbolischen Verknüpfung wurde zwischen lstat() und readlink() größer"
 
-#: misc/create_inode.c:910
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "beim Schreiben der symbolischen Verknüpfung „%s”"
 
-#: misc/create_inode.c:921
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "beim Schreiben von Datei „%s”"
 
-#: misc/create_inode.c:934
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "beim erzeugen  von Verzeichnis „%s”"
 
-#: misc/create_inode.c:952
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "beim Wechseln des Verzeichnisses"
 
-#: misc/create_inode.c:958
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "Eintrag „%s” wird ignoriert"
 
-#: misc/create_inode.c:971
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "beim Setzen der Inode für „%s”"
 
-#: misc/create_inode.c:978
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "beim Setzen der erweiterten Attribute für „%s”"
 
-#: misc/create_inode.c:1004
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "beim Sichern der Inode-Daten"
 
+#: misc/create_inode.c:1077
+#, fuzzy
+#| msgid "while changing directory"
+msgid "while copying xattrs on root directory"
+msgstr "beim Wechseln des Verzeichnisses"
+
 #: misc/dumpe2fs.c:56
 #, fuzzy, c-format
 #| msgid "Usage: %s [-bfghixV] [-o superblock=<num>] [-o blocksize=<num>] device\n"
@@ -4462,57 +4587,57 @@
 msgid "Bad blocks: %u"
 msgstr "Bad Blocks: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:373
+#: misc/dumpe2fs.c:374 misc/tune2fs.c:378
 msgid "while reading journal inode"
 msgstr "beim Lesen des Journal-Inodes"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:380
 msgid "while opening journal inode"
 msgstr "beim Lesen des Journal-Inodes"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:386
 msgid "while reading journal super block"
 msgstr "beim Lesen des Journal-Superblocks"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:393
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Die magische Zahl im Journal-Superblock ist ungültig!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:216
+#: misc/dumpe2fs.c:413 misc/tune2fs.c:221
 msgid "while reading journal superblock"
 msgstr "beim Lesen des Journal-Superblocks"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:421
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Die magische Nummer des Journal-Superblocks konnte nicht gefunden werden"
 
-#: misc/dumpe2fs.c:468
+#: misc/dumpe2fs.c:476
 #, fuzzy
 #| msgid "while allocating buffer"
 msgid "failed to alloc MMP buffer\n"
 msgstr "beim Zuweisen von Puffern"
 
-#: misc/dumpe2fs.c:479
+#: misc/dumpe2fs.c:487
 #, fuzzy, c-format
 #| msgid "Checking blocks %lu to %lu\n"
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "Es wird von Block %lu bis %lu geprüft\n"
 
-#: misc/dumpe2fs.c:507 misc/mke2fs.c:800 misc/tune2fs.c:2027
+#: misc/dumpe2fs.c:519 misc/mke2fs.c:811 misc/tune2fs.c:2118
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Speicher zum Verarbeiten der Optionen konnte nicht reserviert werden!\n"
 
-#: misc/dumpe2fs.c:533
+#: misc/dumpe2fs.c:545
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Ungültiger Superblock-Parameter: %s\n"
 
-#: misc/dumpe2fs.c:548
+#: misc/dumpe2fs.c:560
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Ungültiger Blockgrößen-Parameter: %s\n"
 
-#: misc/dumpe2fs.c:559
+#: misc/dumpe2fs.c:571
 #, c-format
 msgid ""
 "\n"
@@ -4536,28 +4661,28 @@
 "\tblocksize=<Blockgröße>\n"
 "\n"
 
-#: misc/dumpe2fs.c:649 misc/mke2fs.c:1889
+#: misc/dumpe2fs.c:661 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\t%s wird benutzt\n"
 
-#: misc/dumpe2fs.c:694 misc/e2image.c:1629 misc/tune2fs.c:2913
-#: resize/main.c:416
+#: misc/dumpe2fs.c:708 misc/e2image.c:1637 misc/tune2fs.c:3004
+#: resize/main.c:418
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Es kann kein gültiger Dateisystem-Superblock gefunden werden.\n"
 
-#: misc/dumpe2fs.c:716
+#: misc/dumpe2fs.c:730
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:747
+#: misc/dumpe2fs.c:761
 #, fuzzy, c-format
 #| msgid "while retrying to read bitmaps for %s"
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "während des wiederholten Versuches, Bitmaps für %s einzulesen"
 
-#: misc/dumpe2fs.c:756
+#: misc/dumpe2fs.c:770
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4566,7 +4691,7 @@
 #: misc/e2image.c:107
 #, fuzzy, c-format
 #| msgid "Usage: %s [ -r|Q ] [ -fr ] device image-file\n"
-msgid "Usage: %s [ -r|Q ] [ -f ] [ -b superblock ] [ -B blocksize][ -fr ] device image-file\n"
+msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
 msgstr "Aufruf: %s [-r|Q ] [ -fr ] Gerätedatei Abbild-Datei\n"
 
 #: misc/e2image.c:110
@@ -4575,12 +4700,13 @@
 msgstr "       %s [-I] Gerätedatei Abbild-Datei\n"
 
 #: misc/e2image.c:111
-#, c-format
-msgid "       %s -ra  [  -cfnp  ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
+#, fuzzy, c-format
+#| msgid "       %s -ra  [  -cfnp  ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
+msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr "       %s -ra  [  -cfnp  ] [ -o Quelloffset ] [ -O Zieloffset ] Quell_Fs [ Ziel_fs ]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:176 misc/e2image.c:592 misc/e2image.c:598
+#: misc/e2image.c:1200
 msgid "while allocating buffer"
 msgstr "beim Zuweisen von Puffern"
 
@@ -4594,167 +4720,171 @@
 msgid "error writing block %llu"
 msgstr "Schreibfehler - Block %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:199
 msgid "error in generic_write()"
 msgstr "Fehler in generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:216
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Fehler: Größe des Headers übersteigt wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:221
 msgid "Couldn't allocate header buffer\n"
 msgstr "Header-Puffer konnte nicht zugewiesen werden\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:249
 msgid "while writing superblock"
 msgstr "beim Schreiben des Superblocks"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:258
 msgid "while writing inode table"
 msgstr "beim Schreiben der Inode-Tabelle"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:266
 msgid "while writing block bitmap"
 msgstr "beim Schreiben der Block-Bitmap"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:274
 msgid "while writing inode bitmap"
 msgstr "beim Schreiben der Inode-Bitmap"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:516
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Defekter Verzeichnisblock %llu: ungültige rec_len (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:528
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Defekter Verzeichnisblock %llu: ungültige name_len (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:569
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu / %llu Blöcke (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:602 misc/e2image.c:642
 msgid "Copying "
 msgstr "Kopieren "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:639
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr ""
 "Jetzt anzuhalten würde das Dateisystem zerstören. Wenn Sie sicher sind,\n"
 "unterbrechen Sie noch einmal.\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:665
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " %s bleibt bei %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:677 misc/e2image.c:1210
 #, c-format
 msgid "error reading block %llu"
 msgstr "Fehler beim Lesen von Block %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:732
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "%llu / %llu Blöcke (%d%%) wurden in %s kopiert "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:737
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "bei %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:773
 msgid "while allocating l1 table"
 msgstr "beim Anfordern von Speicher für die l1-Tabelle"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:818
 msgid "while allocating l2 cache"
 msgstr "beim Anfordern von Speicher für den l2-Zwischenspeicher"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:841
 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 "Warnung: Beim Schreiben des Zwischenspeichers befinden sich immer noch Tabellen in ihm. Damit gehen Daten verloren und das Abbild ist eventuell ungültig.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1167
 msgid "while allocating ext2_qcow2_image"
 msgstr "beim Reservieren von Speicher für ext2_qcow2_image"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1174
 msgid "while initializing ext2_qcow2_image"
 msgstr "beim Initialisieren des ext2_qcow2_image"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1234 misc/e2image.c:1252
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Programmierfehler: mehrere sequenzielle Refcount-Blöcke wurden erzeugt!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1293
 msgid "while allocating block bitmap"
 msgstr "beim Reservieren von Speicher für die Block-Bitmap"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1302
 msgid "while allocating scramble block bitmap"
 msgstr "beim Reservieren von Speicher für die verwürfelte Block-Bitmap"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1325
 msgid "Scanning inodes...\n"
 msgstr "Inodes werden eingelesen …\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1337
 msgid "Can't allocate block buffer"
 msgstr "Es konnte kein Blockpuffer reserviert werden"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1349
+msgid "while getting next inode"
+msgstr "beim Laden des nächsten Inodes"
+
+#: misc/e2image.c:1376 misc/e2image.c:1390
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "beim Iterieren über Inode %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1422
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "Rohe und Qcow2-Abbilder können nicht installiert werden"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1444
 msgid "error reading bitmaps"
 msgstr "Fehler beim Lesen der Bitmaps"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1456
 msgid "while opening device file"
 msgstr "beim Öffnen der Gerätedatei"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1467
 msgid "while restoring the image table"
 msgstr "beim Schreiben der Inode-Tabelle"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1573
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "Die Option „-a“ kann nur bei Roh- oder QCOW2-Abbildern benutzt werden."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1578
 #, fuzzy
 #| msgid "-a option can only be used with raw or QCOW2 images."
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "Die Option „-a“ kann nur bei Roh- oder QCOW2-Abbildern benutzt werden."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1584
 msgid "Offsets are only allowed with raw images."
 msgstr "Offsets sind nur bei Roh-Abbildern erlaubt."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1589
 msgid "Move mode is only allowed with raw images."
 msgstr "Verschieben ist nur bei Roh- Abbildern erlaubt."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1594
 msgid "Move mode requires all data mode."
 msgstr "Der Verschiebemodus erfordert den „Alle Daten“-Modus."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1604
 msgid "checking if mounted"
 msgstr "Prüfung, ob eingehängt"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1611
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4767,52 +4897,52 @@
 "unbrauchbar für die Fehlersuche wäre. Verwenden Sie die Option -f, wenn\n"
 "Sie das wirklich machen wollen.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1665
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "Das QCOW2-Abbild kann nicht auf die Standardausgabe geschrieben werden!\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1671
 msgid "Can not stat output\n"
 msgstr "Der Status der Ausgabe lässt sich nicht feststellen\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1681
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "Das Abbild (%s) ist komprimiert\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1684
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "Das Abbild (%s) ist verschlüsselt\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1687
 #, fuzzy, c-format
 #| msgid "Image (%s) is encrypted\n"
 msgid "Image (%s) is corrupted\n"
 msgstr "Das Abbild (%s) ist verschlüsselt\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1691
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "beim Versuch, das Qcow2-Abbild (%s) in ein Roh-Abbild (%s) zu konvertieren"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1701
 msgid "The -c option only supported in raw mode\n"
 msgstr "Die Option „-c“ wird nur im Roh-Modus unterstützt\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1706
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "Die Option „-c“ wird beim Schreiben auf die Standardausgabe nicht unterstützt\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1713
 msgid "while allocating check_buf"
 msgstr "beim Anfordern des Prüfpuffers"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1719
 msgid "The -p option only supported in raw mode\n"
 msgstr "Die Option „-p“ wird nur im Roh-Modus unterstützt\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1729
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d Blöcke enthielten bereits die zu kopierenden Daten.\n"
@@ -4842,7 +4972,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: Kein ext2-Dateisystem\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3117
+#: misc/e2label.c:97 misc/tune2fs.c:3213
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Warnung: Name zu lang, wird gekürzt.\n"
@@ -4857,7 +4987,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: Fehler beim Schreiben des Superblocks\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1687
+#: misc/e2label.c:117 misc/tune2fs.c:1770
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Aufruf: e2label Gerät [neuer_Name]\n"
@@ -4868,151 +4998,151 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Aufruf: %s [-f] [-h] [-n] [-v] <Transaktionsdatei> <Dateisystem>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "Der Superblock des Dateisystems passt nicht zur Undo-Datei.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "die UUIDs stimmen nicht überein.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "Die Zeit des letzten Einhängens stimmt nicht überein.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "Die Zeit des letzten Schreibzugriffs stimmt nicht überein.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Der lebenslange Schreibzugriffszähler stimmt nicht überein.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "beim Lesen des Dateisystem-Superblocks"
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "beim Lesen des Superblocks"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "Die Prüfsumme des Superblocks in der Undo-Datei stimmt nicht überein.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "Unzulässiger Offset - %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "Während des Abarbeitens der Undo-Datei kann nicht in sie geschrieben werden.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "beim Öffnen der Undo-Datei „%s”\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "beim Lesen der Undo-Datei"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: Keine Undo-Datei.\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: Die Prüfsumme des Vorspanns passt nicht dazu.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: Der Vorspann der Undo-Datei ist defekt.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: Die rückgängig zu machende Blockgröße ist zu groß.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: Die rückgängig zu machende Blockgröße ist zu klein.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: Unbekannter Satz von Eigenschaften in der UNdo-Datei.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Fehler beim Überprüfen, ob %s eingehängt ist."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo sollte nur auf nicht-eingehängten Dateisystemen laufen"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "beim Öffnen von „%s”"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "der angegebene Offset ist zu groß"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "beim Lesen der Schlüssel"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: faslsche Schlüsselmagie bei %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: Prüfsummenfehler des Schlüsselblocks bei %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: Block %llu ist zu lng."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "beim Lesen von Block %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "Prüfsummenfehler im Dateisystemblock %llu (Undo-Block %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "Schreibfehler - Block %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Undo-Datei ist defekt; starten Sie e2fsck JETZT!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "EA-Fehler beim abarbeiten der Undo-Datei; starten Sie e2fsck JETZT!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Unvollständiger Undo-Datensatz; starten Sie e2fsck.\n"
@@ -5061,7 +5191,7 @@
 msgid "byte_offset  byte_start     byte_end  fs_blocks blksz  grp  mkfs/mount_time           sb_uuid label\n"
 msgstr "Byte_offset  Byte_start     Byte_end  fs_blocks blksz  grp  mkfs/mount_time           sb_uuid label\n"
 
-#: misc/findsuper.c:264
+#: misc/findsuper.c:265
 #, c-format
 msgid ""
 "\n"
@@ -5170,51 +5300,57 @@
 msgid "%s: too many arguments\n"
 msgstr "%s: zu viele Argumente\n"
 
-#: misc/fuse2fs.c:3745
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Wird nur-lesbar eingehängt.\n"
 
-#: misc/fuse2fs.c:3769
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: Anwendern wird erlaubt, alle Blöcke zu belegen. Das ist gefḧrlich!\n"
 
-#: misc/fuse2fs.c:3781 misc/fuse2fs.c:3795
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3797 misc/tune2fs.c:3013
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3104
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Bitte lassen Sie bitte „e2fsck -fy %s“ laufen.\n"
 
-#: misc/fuse2fs.c:3804
+#: misc/fuse2fs.c:3793
+#, fuzzy, c-format
+#| msgid "%s: recovering journal\n"
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: Journal wird wiederhergestellt\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Das Journal muss wiederherdestellt werden; Das starten von „e2fsck -E journal_only” ist zwingend nerforderlich.\n"
 
-#: misc/fuse2fs.c:3812
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: In das Journal schreiben wird nicht unterstützt.\n"
 
-#: misc/fuse2fs.c:3827
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Warnung: Ein ungeprüftes Dateisystem wird eingehängt. Sie sollten e2fsck laufen lassen.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Warnung: Die maximale Anzahl von Einhängungen ist erreicht. Sie sollten e2fsck laufen lassen.\n"
 
-#: misc/fuse2fs.c:3836
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Warnung: 'Überprüfungszeitpunkt wurde erreicht. Sie sollten e2fsck laufen lassen.\n"
 
-#: misc/fuse2fs.c:3840
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Verweiste Blöcke gefunden. Sie sollten e2fsck laufen lassen.\n"
 
-#: misc/fuse2fs.c:3844
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Es wurden Fehler entdeckt, Sie sollten e2fsck laufen lassen.\n"
 
@@ -5238,7 +5374,7 @@
 msgid "While reading version on %s"
 msgstr "Beim Lesen der Version von %s"
 
-#: misc/mke2fs.c:130
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5260,37 +5396,37 @@
 "\t[-t Dateisystemtyp] [-T Verwendungs-Typ ] [-U UUID] [-e Fehlerverhalten]\n"
 "\t[-jnqvDFSV] Gerät [Block-Anzahl]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Befehl wird ausgeführt: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "während des Versuchs, „%s“ auszuführen"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "beim Auswerten der „Bad Block“-Liste vom Programm"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Block %d im primären Superblock/Gruppendeskriptorbereich defekt.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr ""
 "Die Blöcke %u bis einschließlich %u müssen in Ordnung sein, um ein\n"
 "\tDateisystem zu erstellen.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Abbruch...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5301,21 +5437,21 @@
 "\tenthält defekte Blöcke.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3283
 msgid "while marking bad blocks as used"
 msgstr "beim Markieren von defekten Blöcken als „belegt“"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 #, fuzzy
 #| msgid "while writing quota inodes"
 msgid "while writing reserved inodes"
 msgstr "beim Schreiben der Quota-Inodes"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Inode-Tabellen werden geschrieben: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5324,76 +5460,82 @@
 "\n"
 "%d Blöcke konnten nicht in die Inoden-Tabellen beginnend bei %llu geschrieben werden: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2809 misc/mke2fs.c:3214
+#: misc/mke2fs.c:459 misc/mke2fs.c:2835 misc/mke2fs.c:3243
 msgid "done                            \n"
 msgstr "erledigt                        \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "beim Erstellen des Wurzelverzeichnisses"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "beim Lesen des Root-Inodes"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "beim Setzen des Root-Inode-Eigentümers"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "beim Erstellen von /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "beim Suchen von /lost+found"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "beim Expandieren von /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "beim Setzen des „Bad Block“-Inodes"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Speicher voll beim Löschen der Sektoren %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Warnung: Block %s konnte nicht gelesen werden\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Warnung: Sektor %d konnte nicht gelöscht werden: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+#, fuzzy
+#| msgid "while writing journal inode"
+msgid "while splitting the journal size"
+msgstr "beim Schreiben der Journal-Inodes"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "beim Initialisieren des Journal-Superblocks"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Journal-Gerät wird mit Nullen überschrieben: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "beim Überschreiben des Journal-Gerätes mit Nullen (Block %llu, Nr. %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "beim Schreiben des Journal-Superblocks"
 
-#: misc/mke2fs.c:665
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "Ein Dateisystem mit %llu (%dk) Blöcken und %u Inodes wird erzeugt.\n"
 
-#: misc/mke2fs.c:673
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5402,168 +5544,169 @@
 "Warnung: %llu Blöcke unbenutzt.\n"
 "\n"
 
-#: misc/mke2fs.c:678
-#, c-format
-msgid "Filesystem label=%s\n"
+#: misc/mke2fs.c:688
+#, fuzzy, c-format
+#| msgid "Filesystem label=%s\n"
+msgid "Filesystem label=%.*s\n"
 msgstr "Dateisystembezeichnung=%s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "OS-Typ: %s\n"
 
-#: misc/mke2fs.c:683
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Blockgröße=%u (log=%u)\n"
 
-#: misc/mke2fs.c:686
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Clustergröße=%u (log=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Fragmentgröße=%u (log=%u)\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "Stride=%u Blöcke, Stripebreite=%u Blöcke\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u Inodes, %llu Blöcke\n"
 
-#: misc/mke2fs.c:696
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu Blöcke (%2.2f%%) reserviert für den Superuser\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Erster Datenblock=%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Eigentümer des Wurzelverzeichnisses=%u:%u\n"
 
-#: misc/mke2fs.c:703
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Maximale Dateisystem-Blöcke=%lu\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u Blockgruppen\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u Blockgruppe\n"
 
-#: misc/mke2fs.c:711
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u Blöcke pro Gruppe, %u Cluster pro Gruppe\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u Blöcke pro Gruppe, %u Fragmente pro Gruppe\n"
 
-#: misc/mke2fs.c:716
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u Inodes pro Gruppe\n"
 
-#: misc/mke2fs.c:725
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "UUID des Dateisystems: %s\n"
 
-#: misc/mke2fs.c:726
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Superblock-Sicherungskopien gespeichert in den Blöcken: "
 
-#: misc/mke2fs.c:822
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s erfordert „-O 64Bit“\n"
 
-#: misc/mke2fs.c:828
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "„%s“ muss vor „resize=%u“ kommen\n"
 
-#: misc/mke2fs.c:841
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "Unzulässige desc_size: „%s“\n"
 
-#: misc/mke2fs.c:855
+#: misc/mke2fs.c:866
 #, fuzzy, c-format
 #| msgid "Invalid new size: %s\n"
 msgid "Invalid hash seed: %s\n"
 msgstr "Unzulässige neue Größe: %s\n"
 
-#: misc/mke2fs.c:867
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Unzulässiger Offset: %s\n"
 
-#: misc/mke2fs.c:881 misc/tune2fs.c:2055
+#: misc/mke2fs.c:892 misc/tune2fs.c:2146
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "Ungültiges mmp_update_interval: %s\n"
 
-#: misc/mke2fs.c:898
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Ungültige Anzahl von Ersatz-Superblöcken: %s\n"
 
-#: misc/mke2fs.c:920
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Ungültiger „stride“-Parameter: %s\n"
 
-#: misc/mke2fs.c:935
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Ungültiger Stripebreite-Parameter: %s\n"
 
-#: misc/mke2fs.c:958
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Ungültiger „resize“-Parameter: %s\n"
 
-#: misc/mke2fs.c:965
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "Das Maximum der Vergrößerung muss oberhalb als der Dateisystem-Größe liegen.\n"
 
-#: misc/mke2fs.c:989
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr ""
 "Online-Größenänderungen werden bei Revison-0-Dateisystemen nicht\n"
 "\tunterstützt\n"
 
-#: misc/mke2fs.c:1015 misc/mke2fs.c:1024
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "Ungültiger Eigentümer der Wurzel: „%s“\n"
 
-#: misc/mke2fs.c:1069
+#: misc/mke2fs.c:1080
 #, fuzzy, c-format
 #| msgid "Invalid new size: %s\n"
 msgid "Invalid encoding: %s"
 msgstr "Unzulässige neue Größe: %s\n"
 
-#: misc/mke2fs.c:1087
+#: misc/mke2fs.c:1098
 #, fuzzy, c-format
 #| msgid ""
 #| "\n"
@@ -5637,7 +5780,7 @@
 "\tquotatype=<Zu aktivierende(r) Quota-Typ(en)>\n"
 "\n"
 
-#: misc/mke2fs.c:1114
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5648,17 +5791,17 @@
 "Warnung: Die Stripebreite %u des RAIDs ist kein Vielfaches des Strides %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1125
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2282
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1131
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2291
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr ""
 
-#: misc/mke2fs.c:1179
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5667,17 +5810,17 @@
 "Syntaxfehler in der Konfigurationsdatei von mke2fs (%s, Zeile #%d)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1192 misc/tune2fs.c:1068
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1107
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Ungültige Dateisystem-Option angegeben: %s\n"
 
-#: misc/mke2fs.c:1204 misc/tune2fs.c:417
+#: misc/mke2fs.c:1217 misc/tune2fs.c:424
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Ungültige Option für das Einhängen angegeben: %s\n"
 
-#: misc/mke2fs.c:1340
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5686,7 +5829,7 @@
 "\n"
 "Ihre Datei mke2fs.conf definiert den Typ des Dateisystems %s nicht.\n"
 
-#: misc/mke2fs.c:1344
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5694,11 +5837,11 @@
 "Sie müssen wahrscheinlich eine aktualisierte Version der Datei installieren.\n"
 "\n"
 
-#: misc/mke2fs.c:1348
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "Abbruch…\n"
 
-#: misc/mke2fs.c:1389
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5709,146 +5852,146 @@
 "Warnung: der Dateisystemtyp %s ist in mke2fs.conf nicht definiert\n"
 "\n"
 
-#: misc/mke2fs.c:1571
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Es konnte kein Speicher für den neuen PFAD reserviert werden.\n"
 
-#: misc/mke2fs.c:1608
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "Das Profil konnte nicht erfolgreich initialisiert werden: %ld).\n"
 
-#: misc/mke2fs.c:1641
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "ungültige Blockgröße - %s"
 
-#: misc/mke2fs.c:1645
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Warnung: Eine Blockgröße von %d ist auf den meisten System unbrauchbar.\n"
 
-#: misc/mke2fs.c:1661
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "ungültige Clustergröße - %s"
 
-#: misc/mke2fs.c:1674
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "„-R“ ist veraltet, bitte verwenden Sie stattdessen „-E“"
 
-#: misc/mke2fs.c:1688 misc/tune2fs.c:1784
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1872
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "ungültiges Verhalten im Fehlerfall - %s"
 
-#: misc/mke2fs.c:1700
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Die Zahl der Blöcke pro Gruppe ist unzulässig"
 
-#: misc/mke2fs.c:1705
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "Die Anzahl der Blöcke pro Gruppe muss ein Vielfaches von 8 sein"
 
-#: misc/mke2fs.c:1713
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Der Wert für die Größe von flex_bg ist unzulässig"
 
-#: misc/mke2fs.c:1719
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "Die Größe von flex_bg muss eine Potenz von 2 sein"
 
-#: misc/mke2fs.c:1724
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "Die Größe von flex_bg (%lu) muss gleich oder weniger als 2^31 sein"
 
-#: misc/mke2fs.c:1734
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "Unzulässige Inode-Rate %s (min %d/max %d)"
 
-#: misc/mke2fs.c:1744
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "ungültige Inode-Größe - %s"
 
-#: misc/mke2fs.c:1757
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "Warnung: Die Option -K wird bald nicht mehr unterstüzt. Verwenden Sie stattdessen die Erweiterungsoption „-E nodiscard“!\n"
 
-#: misc/mke2fs.c:1768
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "in malloc für bad_blocks_filename"
 
-#: misc/mke2fs.c:1777
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
 "\n"
 msgstr "Warnung: Name zu lang, wird auf „%s” gekürzt\n"
 
-#: misc/mke2fs.c:1786
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "Ungültiger Wert für die prozentuale Anzahl reservierter Blöcke - %s"
 
-#: misc/mke2fs.c:1801
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "ungültige Anzahl von Inodes - %s"
 
-#: misc/mke2fs.c:1814
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "beim Zuweisen von der fs_feature-Zeichenkette"
 
-#: misc/mke2fs.c:1831
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "ungültige Version - %s"
 
-#: misc/mke2fs.c:1836
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "beim Versuch, Revision %d zu erzeugen"
 
-#: misc/mke2fs.c:1850
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "Die Option „-t“ darf nur einmal angegeben werden"
 
-#: misc/mke2fs.c:1858
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "Die Option „-T“ darf nur einmal angegeben werden"
 
-#: misc/mke2fs.c:1914 misc/mke2fs.c:3298
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3366
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "beim Versuch, das Journalgerät %s zu öffnen\n"
 
-#: misc/mke2fs.c:1920
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr "Die Blockgröße des Journalgeräts (%d) ist kleiner als die minimale Blockgröße %d\n"
 
-#: misc/mke2fs.c:1926
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Die Blockgröße des Journalgerätes wird verwendet: %d\n"
 
-#: misc/mke2fs.c:1937
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "ungültiger Block „%s“ auf Gerät „%s“"
 
-#: misc/mke2fs.c:1967
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "Dateisystem"
 
-#: misc/mke2fs.c:1985 resize/main.c:497
+#: misc/mke2fs.c:1991 resize/main.c:506
 msgid "while trying to determine filesystem size"
 msgstr "beim Versuch, die Größe des Dateisystems zu bestimmen"
 
-#: misc/mke2fs.c:1991
+#: misc/mke2fs.c:1997
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5856,7 +5999,7 @@
 "Die Größe des Gerätes ist nicht feststellbar. Sie müssen die Größe\n"
 "des Dateisystems manuell angeben.\n"
 
-#: misc/mke2fs.c:1998
+#: misc/mke2fs.c:2004
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5869,50 +6012,50 @@
 "\tPartition vewendet wurde. Sie müssen unter Umständen den Rechner neu\n"
 "\tstarten, damit die Partitionstabelle neu eingelesen wird.\n"
 
-#: misc/mke2fs.c:2015
+#: misc/mke2fs.c:2021
 msgid "Filesystem larger than apparent device size."
 msgstr "Das Dateisystem ist größer als als die Partition."
 
-#: misc/mke2fs.c:2035
+#: misc/mke2fs.c:2041
 msgid "Failed to parse fs types list\n"
 msgstr "Die Liste der Dateisystemtypen konnte nicht verarbeitet werden\n"
 
-#: misc/mke2fs.c:2085
+#: misc/mke2fs.c:2091
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "Hurd unterstützt keine Dateitypen.\n"
 
-#: misc/mke2fs.c:2090
+#: misc/mke2fs.c:2096
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "Hurd unterstützt die Eigenschaft huge_file nicht.\n"
 
-#: misc/mke2fs.c:2095
+#: misc/mke2fs.c:2101
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "Hurd unterstützt die Eigenschaft metadata_csum nicht.\n"
 
-#: misc/mke2fs.c:2100
+#: misc/mke2fs.c:2106
 #, fuzzy
 #| msgid "The HURD does not support the huge_file feature.\n"
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "Hurd unterstützt die Eigenschaft huge_file nicht.\n"
 
-#: misc/mke2fs.c:2110
+#: misc/mke2fs.c:2116
 msgid "while trying to determine hardware sector size"
 msgstr "beim Versuch, die Hardware-Sektorgröße festzustellen"
 
-#: misc/mke2fs.c:2116
+#: misc/mke2fs.c:2122
 msgid "while trying to determine physical sector size"
 msgstr "beim Versuch, die physische Sektorgröße festzustellen"
 
-#: misc/mke2fs.c:2148
+#: misc/mke2fs.c:2154
 msgid "while setting blocksize; too small for device\n"
 msgstr "beim Setzen der Blockgröße: zu klein für das Gerät\n"
 
-#: misc/mke2fs.c:2153
+#: misc/mke2fs.c:2159
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Warnung: die angegebene Blockgröße %d ist kleiner als die physische Sektorgröße %d\n"
 
-#: misc/mke2fs.c:2177
+#: misc/mke2fs.c:2183
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5921,7 +6064,7 @@
 "%1$s: Die Größe des Gerätes %3$s (0x%2$llx Blöcke) kann bei einer Blockgröße\n"
 "\tvon %4$d nicht mit 32 Bits dargestellt werden.\n"
 
-#: misc/mke2fs.c:2191
+#: misc/mke2fs.c:2197
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5930,58 +6073,58 @@
 "%1$s: Das Gerät %3$s ist zu groß (0x%2$llx Blöcke), um ein Dateisystem\n"
 "\tmit einer Blockgröße von %4$d darauf anzulegen.\n"
 
-#: misc/mke2fs.c:2213
+#: misc/mke2fs.c:2219
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "Dateisystemtypen für das Aufschlüsseln von mke2fs.conf: "
 
-#: misc/mke2fs.c:2220
+#: misc/mke2fs.c:2226
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr ""
 "Eigenschaften von Dateisystemen werden bei Revison-0-Dateisystemen nicht\n"
 "\tunterstützt\n"
 
-#: misc/mke2fs.c:2228
+#: misc/mke2fs.c:2234
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr ""
 "Sparse-Superblöcke werden bei Revison-0-Dateisystemen nicht\n"
 "\tunterstützt\n"
 
-#: misc/mke2fs.c:2238
+#: misc/mke2fs.c:2244
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr ""
 "Journale werden bei Revison-0-Dateisystemen nicht\n"
 "\tunterstützt\n"
 
-#: misc/mke2fs.c:2251
+#: misc/mke2fs.c:2257
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "Ungültiger Werte für Prozent reservierter Blöcke - %lf"
 
-#: misc/mke2fs.c:2268
+#: misc/mke2fs.c:2274
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr ""
 "Erweiterungen MÜSSEN für 64-Bit-Dateisysteme aktiviert werden.\n"
 "\tGeben Sie „-O extents“ an, um dies zu tun.\n"
 
-#: misc/mke2fs.c:2288
+#: misc/mke2fs.c:2294
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "Die Clustergröße darf nicht kleiner als die Blockgröße sein.\n"
 
-#: misc/mke2fs.c:2294
+#: misc/mke2fs.c:2300
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "Die Angabe einer Clustergröße erfordert die Eigenschaft „bigalloc“."
 
-#: misc/mke2fs.c:2314
+#: misc/mke2fs.c:2320
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "Warnung: Die Geometrie des Gerätes „%s“ kann nicht bestimmt werden\n"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2332
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "Die Ausrichtung von %s ist um %lu Bytes versetzt.\n"
 
-#: misc/mke2fs.c:2319
+#: misc/mke2fs.c:2334
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr ""
@@ -5990,32 +6133,37 @@
 
 #: misc/mke2fs.c:2340
 #, 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:2364
+#, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "Blöcke mit %d Bytes sind zu groß für das Gerät (max %d)"
 
-#: misc/mke2fs.c:2344
+#: misc/mke2fs.c:2368
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr ""
 "Warnung: Blöcke mit %d Bytes sind zu groß für das Gerät (max %d)\n"
 "\t Weiterverarbeitung wurde erzwungen\n"
 
-#: misc/mke2fs.c:2352
+#: misc/mke2fs.c:2376
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Vorschlag: Verwenden Sie einen Linux kernel >= 3.18 für verbesserte Stabilität der Metadaten und Journalprüfsummen.\n"
 
-#: misc/mke2fs.c:2398
+#: misc/mke2fs.c:2422
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr ""
 
-#: misc/mke2fs.c:2409
+#: misc/mke2fs.c:2433
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr ""
 
-#: misc/mke2fs.c:2434
+#: misc/mke2fs.c:2458
 #, c-format
 msgid ""
 "\n"
@@ -6030,29 +6178,17 @@
 "sein, was Sie wollen.\n"
 "\n"
 
-#: misc/mke2fs.c:2449
+#: misc/mke2fs.c:2473
 #, fuzzy, c-format
 #| msgid "%d byte inodes are too small for project quota; specify larger size"
 msgid "%d byte inodes are too small for project quota"
 msgstr "%d Bytes große Inodes sind zu klein für Projektquotas; Geben Sie bitte eine höhere Größe an"
 
-#: misc/mke2fs.c:2465
-#, fuzzy
-#| msgid ""
-#| "The resize_inode and meta_bg features are not compatible.\n"
-#| "They can not be both enabled simultaneously.\n"
-msgid ""
-"The encrypt and casefold features are not compatible.\n"
-"They can not be both enabled simultaneously.\n"
-msgstr ""
-"resize_inode und meta_bg sind nicht kompatibel und können\n"
-"daher nicht gleichzeitig aktiviert werden.\n"
-
-#: misc/mke2fs.c:2480
+#: misc/mke2fs.c:2495
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "„Bigalloc“ ist nur mit „Extents“ möglich"
 
-#: misc/mke2fs.c:2487
+#: misc/mke2fs.c:2502
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -6060,7 +6196,7 @@
 "resize_inode und meta_bg sind nicht kompatibel und können\n"
 "daher nicht gleichzeitig aktiviert werden.\n"
 
-#: misc/mke2fs.c:2495
+#: misc/mke2fs.c:2510
 msgid ""
 "\n"
 "Warning: the bigalloc feature is still under development\n"
@@ -6073,41 +6209,41 @@
 "Informationen.\n"
 "\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2522
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr ""
 "Reservierte Blöcke für die Online-Größenänderung werden auf Nicht-Sparse-\n"
 "Dateisystemen nicht unterstützt."
 
-#: misc/mke2fs.c:2516
+#: misc/mke2fs.c:2531
 msgid "blocks per group count out of range"
 msgstr "Die Anzahl der Blöcke pro Gruppe ist außerhalb des gültigen Bereichs."
 
-#: misc/mke2fs.c:2538
+#: misc/mke2fs.c:2553
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "Flex_bg ist nicht aktiviert, daher darf dafür auch keine Größe angegeben werden."
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2565
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "unzulässige Inode-Größe %d (min %d/max %d)"
 
-#: misc/mke2fs.c:2565
+#: misc/mke2fs.c:2580
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "%d Bytes große Inodes sind zu klein für Inline-daten; Geben Sie bitte eine höhere Größe an"
 
-#: misc/mke2fs.c:2580
+#: misc/mke2fs.c:2595
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "zu wenige Inodes (%llu), Anzahl erhöhen?"
 
-#: misc/mke2fs.c:2587
+#: misc/mke2fs.c:2603
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "zu viele Inodes (%llu), geben Sie weniger als 2^32 Inodes an"
 
-#: misc/mke2fs.c:2601
+#: misc/mke2fs.c:2617
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6118,71 +6254,77 @@
 "\tDateisystem mit %llu Blöcken, geben Sie ein höheres inode_ratio (-i)\n"
 "\tan oder eine niedrigere Anzahl Inodes (-N) an.\n"
 
-#: misc/mke2fs.c:2788
+#: misc/mke2fs.c:2814
 msgid "Discarding device blocks: "
 msgstr "Geräteblöcke werden verworfen: "
 
-#: misc/mke2fs.c:2804
+#: misc/mke2fs.c:2830
 msgid "failed - "
 msgstr "gescheitert - "
 
-#: misc/mke2fs.c:2863
+#: misc/mke2fs.c:2889
 msgid "while initializing quota context"
 msgstr "beim Initialisieren des Quota-Kontextes"
 
-#: misc/mke2fs.c:2870
+#: misc/mke2fs.c:2896
 msgid "while writing quota inodes"
 msgstr "beim Schreiben der Quota-Inodes"
 
-#: misc/mke2fs.c:2895
+#: misc/mke2fs.c:2921
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "ungültiges Verhalten im Fehlerfall im Profil - %s"
 
-#: misc/mke2fs.c:2971
+#: misc/mke2fs.c:3000
 #, fuzzy
 #| msgid "in malloc for bad_blocks_filename"
 msgid "in malloc for android_sparse_params"
 msgstr "in malloc für bad_blocks_filename"
 
-#: misc/mke2fs.c:2985
+#: misc/mke2fs.c:3014
 msgid "while setting up superblock"
 msgstr "beim Erstellen des Superblocks"
 
-#: misc/mke2fs.c:3001
+#: misc/mke2fs.c:3030
 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 "Erweiteruingen wurden nicht aktiviert. Die Prüfsumme des Baums mit den Erweiterungen der Datei kann ermittelt werden, nicht aber das Verzeichnis der Blöcke. Wenn Erweiterungen nicht aktiviert werden, reduziert den Umfang dessen, was das Überprüfen der Metadaten-Prüfsummen abdecken kann. Geben Sie „-O extents” an, um dies zu beheben.\n"
 
-#: misc/mke2fs.c:3008
+#: misc/mke2fs.c:3037
 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 "Die Unterstützung für 64-bittige Dateisysteme wurde nicht aktiviert. Die längeren Felder, die diese Eigenschaft benötigt erlauben die Erstellung der Prüfsumme in voller Stärke. Geben Sie „-O 64bit” an, um dies zu korrigieren.\n"
 
-#: misc/mke2fs.c:3016
+#: misc/mke2fs.c:3045
 #, fuzzy
 #| msgid "The metadata_csum_seed feature requres the metadata_csum feature.\n"
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "Die Eigenschaft metadata_csum_seed erfoprdert die Eigenschaft metadata_csum.\n"
 
-#: misc/mke2fs.c:3040
+#: misc/mke2fs.c:3069
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr ""
 "Verwerfen war erfolgreich und wird Nullen zurück liefern - daher wird\n"
 "das Löschen der Inode-Tabelle übersprungen\n"
 
-#: misc/mke2fs.c:3139
+#: misc/mke2fs.c:3168
 #, c-format
 msgid "unknown os - %s"
 msgstr "unbekanntes Betriebssystem - %s"
 
-#: misc/mke2fs.c:3202
+#: misc/mke2fs.c:3231
 msgid "Allocating group tables: "
 msgstr "beim Anfordern von Speicher für die Gruppentabellen: "
 
-#: misc/mke2fs.c:3210
+#: misc/mke2fs.c:3239
 msgid "while trying to allocate filesystem tables"
 msgstr "beim Anfordern von Speicher für die Dateisystemtabellen"
 
-#: misc/mke2fs.c:3219
+#: misc/mke2fs.c:3254
+#, fuzzy
+#| msgid "while marking bad blocks as used"
+msgid "while unmarking bad blocks"
+msgstr "beim Markieren von defekten Blöcken als „belegt“"
+
+#: misc/mke2fs.c:3265
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6190,30 +6332,36 @@
 "\n"
 "\tbeim Konvertieren der Subclusterbitmap"
 
-#: misc/mke2fs.c:3225
+#: misc/mke2fs.c:3274
+#, fuzzy
+#| msgid "while allocating memory"
+msgid "while calculating overhead"
+msgstr "beim Anfordern von Speicher"
+
+#: misc/mke2fs.c:3293
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s könnte durch das erneute Schreiben des Superblocks noch mehr beschädigt werden\n"
 
-#: misc/mke2fs.c:3266
+#: misc/mke2fs.c:3334
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "beim Nullen von Block %llu am Ende des Dateisystems"
 
-#: misc/mke2fs.c:3279
+#: misc/mke2fs.c:3347
 msgid "while reserving blocks for online resize"
 msgstr "beim Reservieren von Blöcken für die Online-Größenänderung"
 
-#: misc/mke2fs.c:3291 misc/tune2fs.c:1492
+#: misc/mke2fs.c:3359 misc/tune2fs.c:1569
 msgid "journal"
 msgstr "Journal"
 
-#: misc/mke2fs.c:3303
+#: misc/mke2fs.c:3371
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Ein Journal wird auf Gerät %s hinzugefügt: "
 
-#: misc/mke2fs.c:3310
+#: misc/mke2fs.c:3378
 #, c-format
 msgid ""
 "\n"
@@ -6222,21 +6370,21 @@
 "\n"
 "\tbeim Versuch, ein Journal auf Gerät %s hinzuzufügen"
 
-#: misc/mke2fs.c:3315 misc/mke2fs.c:3344 misc/mke2fs.c:3382
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1521 misc/tune2fs.c:1540
+#: misc/mke2fs.c:3383 misc/mke2fs.c:3413 misc/mke2fs.c:3455
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1598 misc/tune2fs.c:1620
 msgid "done\n"
 msgstr "erledigt\n"
 
-#: misc/mke2fs.c:3321
+#: misc/mke2fs.c:3390
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "Die Erzeugung eines Journals wird im Nur-Super-Modus übersprungen\n"
 
-#: misc/mke2fs.c:3331
+#: misc/mke2fs.c:3400
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Das Journal (%u Blöcke) wird angelegt: "
 
-#: misc/mke2fs.c:3340
+#: misc/mke2fs.c:3409
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6244,7 +6392,7 @@
 "\n"
 "\tbeim Anlegen des Journals"
 
-#: misc/mke2fs.c:3352 misc/tune2fs.c:1133
+#: misc/mke2fs.c:3421 misc/tune2fs.c:1172
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6252,34 +6400,34 @@
 "\n"
 "Fehler beim Aktivieren des Schutzes gegen mehrfaches Einhängen"
 
-#: misc/mke2fs.c:3357
+#: misc/mke2fs.c:3426
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr ""
 "Der Schutz gegen mehrfaches Einhängen wurde aktiviert mit einem\n"
 "Aktualisierungsintervall von %d Sekunden.\n"
 
-#: misc/mke2fs.c:3373
+#: misc/mke2fs.c:3446
 msgid "Copying files into the device: "
 msgstr "Fehler beim Kopieren der Dateien auf das Laufwerk: "
 
-#: misc/mke2fs.c:3379
+#: misc/mke2fs.c:3452
 msgid "while populating file system"
 msgstr "beim Befüllen des Dateisystems"
 
-#: misc/mke2fs.c:3386
+#: misc/mke2fs.c:3459
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr ""
 "Die Superblöcke und die Informationen über die Dateisystemnutzung werden\n"
 "geschrieben: "
 
-#: misc/mke2fs.c:3393
+#: misc/mke2fs.c:3466
 #, fuzzy
 #| msgid "while zeroing block %llu at end of filesystem"
 msgid "while writing out and closing file system"
 msgstr "beim Nullen von Block %llu am Ende des Dateisystems"
 
-#: misc/mke2fs.c:3396
+#: misc/mke2fs.c:3469
 msgid ""
 "done\n"
 "\n"
@@ -6292,26 +6440,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "beim Nullen von Block %llu für riesige Datei"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Der Abstand vom Partitionsanfang von %llu (%uk) Blöckenm ist inkompatibel mit der Clustergröße %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Riesige Dateien werden mit Nullen überschrieben\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "%lu riesige Datei(en) werden angelegt "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr ", jede mit %llu Blöcken"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "beim Iterieren über riesige Datei %lu"
@@ -6355,21 +6503,21 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s: h=%3d s=%3d c=%4d   Start=%8d Größe=%8lu Ende=%8d\n"
 
-#: misc/tune2fs.c:119
+#: misc/tune2fs.c:120
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
 msgstr ""
 
-#: misc/tune2fs.c:121
+#: misc/tune2fs.c:122
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "Bitte lassen Sie e2fsck -f dieses Dateisystem überprüfen.\n"
 
-#: misc/tune2fs.c:123
+#: misc/tune2fs.c:124
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "Bitte lassen Sie e2fsck -fD dieses Dateisystem überprüfen.\n"
 
-#: misc/tune2fs.c:136
+#: misc/tune2fs.c:137
 #, fuzzy, c-format
 #| msgid ""
 #| "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6399,20 +6547,20 @@
 "\t[-E erweiterte_Optionen[…]] [-T Zeitpunkt_letzter_Prüfung] [-U UUID]\n"
 "\t[ -I neue_Inodegröße ] [-z Undo_Datei] Gerät\n"
 
-#: misc/tune2fs.c:223
+#: misc/tune2fs.c:228
 msgid "Journal superblock not found!\n"
 msgstr "Der Journal-Superblock wurde nicht gefunden!\n"
 
-#: misc/tune2fs.c:281
+#: misc/tune2fs.c:286
 msgid "while trying to open external journal"
 msgstr "beim Versuch, das externe Journal zu öffnen"
 
-#: misc/tune2fs.c:287 misc/tune2fs.c:2804
+#: misc/tune2fs.c:292 misc/tune2fs.c:2894
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s ist kein Journalgerät.\n"
 
-#: misc/tune2fs.c:296 misc/tune2fs.c:2813
+#: misc/tune2fs.c:301 misc/tune2fs.c:2903
 #, fuzzy, c-format
 #| msgid "The journal superblock is corrupt"
 msgid ""
@@ -6420,11 +6568,11 @@
 "is too high (%d).\n"
 msgstr "Der Journal-Superblock ist defekt"
 
-#: misc/tune2fs.c:303 misc/tune2fs.c:2820
+#: misc/tune2fs.c:308 misc/tune2fs.c:2910
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr "Die UUID des Dateisystems wurde auf dem Journalgerät nicht gefunden.\n"
 
-#: misc/tune2fs.c:327
+#: misc/tune2fs.c:332
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6432,52 +6580,52 @@
 "Das Journalgerät wurde nicht gefunden. Es wurde NICHT entfernt\n"
 "Bitte benutzen Sie die Option „-f“, um das fehlende Gerät zu entfernen.\n"
 
-#: misc/tune2fs.c:336
+#: misc/tune2fs.c:341
 msgid "Journal removed\n"
 msgstr "Das Journal wurde entfernt\n"
 
-#: misc/tune2fs.c:380
+#: misc/tune2fs.c:385
 msgid "while reading bitmaps"
 msgstr "beim Lesen der Bitmaps"
 
-#: misc/tune2fs.c:388
+#: misc/tune2fs.c:393
 msgid "while clearing journal inode"
 msgstr "beim Zurücksetzen der Journal-Inodes"
 
-#: misc/tune2fs.c:399
+#: misc/tune2fs.c:406
 msgid "while writing journal inode"
 msgstr "beim Schreiben der Journal-Inodes"
 
-#: misc/tune2fs.c:435 misc/tune2fs.c:458 misc/tune2fs.c:471
+#: misc/tune2fs.c:442 misc/tune2fs.c:467 misc/tune2fs.c:480
 msgid "(and reboot afterwards!)\n"
 msgstr "(und starten Sie danach das System neu)\n"
 
-#: misc/tune2fs.c:486
+#: misc/tune2fs.c:495
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Nachdem Sie e2fsck haben laufen lassen, starten Sie bitte „resize2fs %s %s"
 
-#: misc/tune2fs.c:489
+#: misc/tune2fs.c:498
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Bitte starten Sie „resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:502
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z „%s”"
 
-#: misc/tune2fs.c:495
+#: misc/tune2fs.c:504
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "“, um den 64-Bit-Modus zu aktivieren.\n"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:506
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "“, um den 64-Bit-Modus zu deaktivieren.\n"
 
-#: misc/tune2fs.c:1035
+#: misc/tune2fs.c:1074
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6485,17 +6633,17 @@
 "WARNUNG: Unterstützung des Kernels für metadata_csum_seed konnte nicht festgestellt werden.\n"
 "  Dies erfordert Linux >= v4.4.\n"
 
-#: misc/tune2fs.c:1071
+#: misc/tune2fs.c:1110
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "Das Deaktivieren von „%s“ wird nicht unterstützt.\n"
 
-#: misc/tune2fs.c:1077
+#: misc/tune2fs.c:1116
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "Das Aktivieren von „%s“ wird nicht unterstützt.\n"
 
-#: misc/tune2fs.c:1086
+#: misc/tune2fs.c:1125
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6503,7 +6651,7 @@
 "Has_journal kann nur zurückgesetzt werden, wenn das Dateisystem nicht\n"
 "oder nur-lesbar eingehängt ist.\n"
 
-#: misc/tune2fs.c:1094
+#: misc/tune2fs.c:1133
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6511,7 +6659,7 @@
 "needs_recovery ist gesetzt. Bitte führen Sie e2fsck aus, bevor Sie\n"
 "has_journal zurück setzen.\n"
 
-#: misc/tune2fs.c:1112
+#: misc/tune2fs.c:1151
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6519,7 +6667,7 @@
 "Das Setzen von „sparse_super“ wird auf Dateisystemen mit aktiviertem\n"
 "„meta_bg“ nicht unterstützt.\n"
 
-#: misc/tune2fs.c:1125
+#: misc/tune2fs.c:1164
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6528,14 +6676,14 @@
 "Der Schutz vor mehrfachem Einhängen kann nur aktiviert werden, wenn das\n"
 "Dateisystem nicht oder nur-lesbar eingehängt ist.\n"
 
-#: misc/tune2fs.c:1143
+#: misc/tune2fs.c:1182
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr ""
 "Der Schutz vor mehrfachem Einhängen wurde mit einem Aktualisierungsintervall\n"
 "von %d Sekunden aktiviert.\n"
 
-#: misc/tune2fs.c:1152
+#: misc/tune2fs.c:1191
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6544,26 +6692,38 @@
 "deaktiviert werden, wenn das Dateisystem nur-lesbar\n"
 "eingehängt ist.\n"
 
-#: misc/tune2fs.c:1160
+#: misc/tune2fs.c:1199
 msgid "Error while reading bitmaps\n"
 msgstr "Fehler beim Lesen der Bitmaps\n"
 
-#: misc/tune2fs.c:1169
+#: misc/tune2fs.c:1208
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "Die magische Zahl im MMP-Block passt nicht. Erwartet: %x, gefunden: %x\n"
 
-#: misc/tune2fs.c:1174
+#: misc/tune2fs.c:1213
 msgid "while reading MMP block."
 msgstr "beim Lesen des MMP-Blocks."
 
-#: misc/tune2fs.c:1206
+#: misc/tune2fs.c:1246
+#, fuzzy
+#| msgid "Disabling checksums could take some time."
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Das deaktivieren von Prüfsummen könnte einige Zeit in Anspruch nehman."
+
+#: misc/tune2fs.c:1250
+#, fuzzy
+#| msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Metadata_csum kann auf einem eingehängten Dateisystem nicht aktiviert werden!\n"
+
+#: misc/tune2fs.c:1263
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
 msgstr "Das Deaktivieren von flex_bg würde das Dateisystem inkonsistent machen.\n"
 
-#: misc/tune2fs.c:1217
+#: misc/tune2fs.c:1274
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6571,46 +6731,58 @@
 "huge_file kann nur aktiviert werden, wenn das Dateisystem nicht\n"
 "oder nur-lesbar eingehängt ist.\n"
 
-#: misc/tune2fs.c:1228
+#: misc/tune2fs.c:1285
 msgid "Enabling checksums could take some time."
 msgstr "Das aktivieren von Prüfsummen könnte etwas länger dauern."
 
-#: misc/tune2fs.c:1230
+#: misc/tune2fs.c:1288
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "metadata_csum kann auf einem eingehängten Dateisystem nicht aktiviert werden!\n"
 
-#: misc/tune2fs.c:1236
+#: misc/tune2fs.c:1294
 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.  Re-run with -O extent to rectify.\n"
 msgstr "Erweiterungen sind nicht aktiviert. Prüfsummen für den Baum der Dateierweiterungen können geprüft werden, nicht aber die für Blockmaps. Erweiterungen nicht zu aktivieren reduziert den Schutz von Metadaten-Prüfsummen. Starten Sie erneut mit „-O extent” um dies zu korrigieren.\n"
 
-#: misc/tune2fs.c:1243
+#: misc/tune2fs.c:1301
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr "Unterstützung für 64-Bit-Dateisysteme ist nbicht aktiviert. Diese Eigenschaft ermöglicht größere Felder und damit maximal starke Prüfsummen. Starten Sie „resize2fs -b” aktivieren.\n"
 
-#: misc/tune2fs.c:1269
+#: misc/tune2fs.c:1327
 msgid "Disabling checksums could take some time."
 msgstr "Das deaktivieren von Prüfsummen könnte einige Zeit in Anspruch nehman."
 
-#: misc/tune2fs.c:1271
+#: misc/tune2fs.c:1330
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "Metadata_csum kann auf einem eingehängten Dateisystem nicht aktiviert werden!\n"
 
-#: misc/tune2fs.c:1334
+#: misc/tune2fs.c:1371
+#, fuzzy
+#| msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
+msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
+msgstr "metadata_csum kann auf einem eingehängten Dateisystem nicht aktiviert werden!\n"
+
+#: misc/tune2fs.c:1386
+#, fuzzy
+#| msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
+msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
+msgstr "Metadata_csum kann auf einem eingehängten Dateisystem nicht aktiviert werden!\n"
+
+#: misc/tune2fs.c:1405
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "Der 64-Bit-Modus kann auf einem eingehängten Dateisystem nicht aktiviert werden!\n"
 
-#: misc/tune2fs.c:1344
+#: misc/tune2fs.c:1415
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "Der 64-Bit-Modus kann auf einem eingehängten Dateisystem nicht deaktiviert werden!\n"
 
-#: misc/tune2fs.c:1374
+#: misc/tune2fs.c:1445
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1395
+#: misc/tune2fs.c:1466
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6618,17 +6790,13 @@
 "\n"
 "Warnung: die Option „^quota“ hat Vorrang vor „-Q“-Argumenten.\n"
 
-#: misc/tune2fs.c:1405
+#: misc/tune2fs.c:1483 misc/tune2fs.c:2244
 #, fuzzy
-#| msgid ""
-#| "Changing the inode size not supported for filesystems with the flex_bg\n"
-#| "feature enabled.\n"
-msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
-msgstr ""
-"Das Ändern der Inode-Größe auf Dateisystemen mit aktiviertem flex_bg\n"
-"wird nicht unterstützt.\n"
+#| msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
+msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
+msgstr "Quotas können nur bei nicht eingehängten Dateisystemen geändert werden.\n"
 
-#: misc/tune2fs.c:1419
+#: misc/tune2fs.c:1495
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6636,7 +6804,7 @@
 "Das Setzen von „metadata_csum_seed“ wird nur auf Dateisystemen mit\n"
 "aktivierter Eigenschaft metadata_csum unterstützt.\n"
 
-#: misc/tune2fs.c:1437
+#: misc/tune2fs.c:1513
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
@@ -6645,17 +6813,17 @@
 "muss ausgehängt werden, um alle Metadaten in sicherer Form neu so zu schreiben,\n"
 " dass sie zur neuen UUIDS passen.\n"
 
-#: misc/tune2fs.c:1443
+#: misc/tune2fs.c:1519
 #, fuzzy
 #| msgid "Enabling checksums could take some time."
 msgid "Recalculating checksums could take some time."
 msgstr "Das aktivieren von Prüfsummen könnte etwas länger dauern."
 
-#: misc/tune2fs.c:1485
+#: misc/tune2fs.c:1562
 msgid "The filesystem already has a journal.\n"
 msgstr "Das Dateisystem hat bereits ein Journal.\n"
 
-#: misc/tune2fs.c:1505
+#: misc/tune2fs.c:1582
 #, c-format
 msgid ""
 "\n"
@@ -6664,21 +6832,21 @@
 "\n"
 "\tbeim Versuch, das Journal auf %s zu öffnen\n"
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1586
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Journal wird erzeugt auf Gerät %s: "
 
-#: misc/tune2fs.c:1517
+#: misc/tune2fs.c:1594
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "beim Hinzufügen des Dateisystems zum Journal auf %s"
 
-#: misc/tune2fs.c:1523
+#: misc/tune2fs.c:1600
 msgid "Creating journal inode: "
 msgstr "Journal-Inodes werden erzeugt: "
 
-#: misc/tune2fs.c:1537
+#: misc/tune2fs.c:1614
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6686,31 +6854,31 @@
 "\n"
 "\tbeim Versuch, die Journaldatei zu erzeugen"
 
-#: misc/tune2fs.c:1575
+#: misc/tune2fs.c:1656
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1588
+#: misc/tune2fs.c:1669
 msgid "while initializing quota context in support library"
 msgstr "beim Initialisieren des Quota=Kontextes in der unterstützenden Bibliothek"
 
-#: misc/tune2fs.c:1603
+#: misc/tune2fs.c:1684
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "beim Aktualisieren der Quota-Beschränkungen (%d)"
 
-#: misc/tune2fs.c:1611
+#: misc/tune2fs.c:1694
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "beim Schreiben der Quota-Datei (%d)"
 
-#: misc/tune2fs.c:1629
+#: misc/tune2fs.c:1712
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "beim Enfernen der Quota-Datei (%d)"
 
-#: misc/tune2fs.c:1672
+#: misc/tune2fs.c:1755
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6733,65 +6901,65 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1730
+#: misc/tune2fs.c:1813
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Die Angabe von Zeit/Datum war unverständlich: %s"
 
-#: misc/tune2fs.c:1755 misc/tune2fs.c:1768
+#: misc/tune2fs.c:1845 misc/tune2fs.c:1856
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "ungültge Anzahl Einhängungen - %s"
 
-#: misc/tune2fs.c:1811
+#: misc/tune2fs.c:1899
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "ungültige Gruppen-ID/Gruppe - %s"
 
-#: misc/tune2fs.c:1844
+#: misc/tune2fs.c:1932
 #, c-format
 msgid "bad interval - %s"
 msgstr "ungültiges Intervall - %s"
 
-#: misc/tune2fs.c:1873
+#: misc/tune2fs.c:1961
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "ungültiges Verhältnis reservierter Blöcke - %s"
 
-#: misc/tune2fs.c:1888
+#: misc/tune2fs.c:1976
 msgid "-o may only be specified once"
 msgstr "-o darf nur einmal angegeben werden"
 
-#: misc/tune2fs.c:1897
+#: misc/tune2fs.c:1985
 msgid "-O may only be specified once"
 msgstr "-O darf nur einmal angegeben werden"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:2002
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "ungültige Anzahl reservierter Blöcke - %s"
 
-#: misc/tune2fs.c:1943
+#: misc/tune2fs.c:2031
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "falsche Benutzer-ID/Benutzername - %s"
 
-#: misc/tune2fs.c:1960
+#: misc/tune2fs.c:2048
 #, c-format
 msgid "bad inode size - %s"
 msgstr "ungültige Inode-Größe - %s"
 
-#: misc/tune2fs.c:1967
+#: misc/tune2fs.c:2055
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "Die Inode-Größe muss eine Zweierpotenz sein - %s"
 
-#: misc/tune2fs.c:2064
+#: misc/tune2fs.c:2155
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "mmp_update_interval ist zu groß: %lu\n"
 
-#: misc/tune2fs.c:2069
+#: misc/tune2fs.c:2160
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
@@ -6802,33 +6970,56 @@
 "Das Aktualisierungsintervall des Schutzes vor mehrfachem Einhängen\n"
 "wird auf %lu Sekunden gesetzt\n"
 
-#: misc/tune2fs.c:2078
+#: misc/tune2fs.c:2169
 #, fuzzy, c-format
 #| msgid "Setting filesystem feature '%s' not supported.\n"
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Das Aktivieren von „%s“ wird nicht unterstützt.\n"
 
-#: misc/tune2fs.c:2096
+#: misc/tune2fs.c:2187
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Ungültiger RAID-Stride: %s\n"
 
-#: misc/tune2fs.c:2111
+#: misc/tune2fs.c:2202
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Ungültiger Stripebreite-Parameter: %s\n"
 
-#: misc/tune2fs.c:2126
+#: misc/tune2fs.c:2217
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Ungültiger Hash-Algorithmus: %s\n"
 
-#: misc/tune2fs.c:2132
+#: misc/tune2fs.c:2223
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Der Standard-Hash-Algorithmus wird auf %s (%d) gesetzt\n"
 
-#: misc/tune2fs.c:2151
+#: misc/tune2fs.c:2250
+#, c-format
+msgid "Cannot alter existing encoding\n"
+msgstr ""
+
+#: misc/tune2fs.c:2256
+#, fuzzy, c-format
+#| msgid "Invalid new size: %s\n"
+msgid "Invalid encoding: %s\n"
+msgstr "Unzulässige neue Größe: %s\n"
+
+#: misc/tune2fs.c:2262
+#, fuzzy, c-format
+#| msgid "Setting current mount count to %d\n"
+msgid "Setting encoding to '%s'\n"
+msgstr "Die Anzahl der Einhängungen wird auf %d gesetzt\n"
+
+#: misc/tune2fs.c:2286
+#, fuzzy, c-format
+#| msgid "while setting flags on %s"
+msgid "Setting encoding_flags to '%s'\n"
+msgstr "beim Setzen der Flags in %s"
+
+#: misc/tune2fs.c:2296
 #, fuzzy
 #| msgid ""
 #| "\n"
@@ -6862,6 +7053,8 @@
 "\tforce_fsck\n"
 "\ttest_fs\n"
 "\t^test_fs\n"
+"\tencoding=<encoding>\n"
+"\tencoding_flags=<flags>\n"
 msgstr ""
 "\n"
 "Falsche erweiterte Optionen angegeben.\n"
@@ -6879,31 +7072,31 @@
 "\t^test_fs\n"
 "\n"
 
-#: misc/tune2fs.c:2622
+#: misc/tune2fs.c:2712
 msgid "Failed to read inode bitmap\n"
 msgstr "Die Inode-Bitmap konnte nicht gelesen werden\n"
 
-#: misc/tune2fs.c:2627
+#: misc/tune2fs.c:2717
 msgid "Failed to read block bitmap\n"
 msgstr "Die Block-Bitmap konnte nicht gelesen werden\n"
 
-#: misc/tune2fs.c:2644 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2734 resize/resize2fs.c:1284
 msgid "blocks to be moved"
 msgstr "zu verschiebende Blöcke"
 
-#: misc/tune2fs.c:2647
+#: misc/tune2fs.c:2737
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Beim Erhöhen der Inode-Größe konnte keine Blockbitmap reserviert werden\n"
 
-#: misc/tune2fs.c:2653
+#: misc/tune2fs.c:2743
 msgid "Not enough space to increase inode size \n"
 msgstr "Der Platz reicht nicht aus für eine Erhöhung der Inode-Größe \n"
 
-#: misc/tune2fs.c:2658
+#: misc/tune2fs.c:2748
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Das Verschieben von Blöcken während der Größenänderung der Inodes scheiterte \n"
 
-#: misc/tune2fs.c:2690
+#: misc/tune2fs.c:2780
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6911,7 +7104,7 @@
 "Fehler beim Ändern der Inode-Größe.\n"
 "Starten Sie e2undo, um die Änderungen am Dateisystem rückgängig zu machen. \n"
 
-#: misc/tune2fs.c:2900
+#: misc/tune2fs.c:2991
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6920,7 +7113,7 @@
 "führen Sie bitte Folgendes aus:\n"
 "„tune2fs -f -E clear_mmp {device}“\n"
 
-#: misc/tune2fs.c:2907
+#: misc/tune2fs.c:2998
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6930,29 +7123,29 @@
 "„e2fsck -f %s“\n"
 "zu beheben.\n"
 
-#: misc/tune2fs.c:2919
+#: misc/tune2fs.c:3010
 msgid "Cannot modify a journal device.\n"
 msgstr "Ein Journalgerät kann nicht modifiziert werden.\n"
 
-#: misc/tune2fs.c:2932
+#: misc/tune2fs.c:3023
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "Die Inode-Größe ist bereits %lu\n"
 
-#: misc/tune2fs.c:2939
+#: misc/tune2fs.c:3030
 msgid "Shrinking inode size is not supported\n"
 msgstr "Das Verringern der Inode-Größe wird nicht unterstützt\n"
 
-#: misc/tune2fs.c:2944
+#: misc/tune2fs.c:3035
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "Unzulässige Inode-Größe: %lu (max %d)\n"
 
-#: misc/tune2fs.c:2950
+#: misc/tune2fs.c:3041
 msgid "Resizing inodes could take some time."
 msgstr "Die Änderung der Inodegröße kann einige Zeit dauern."
 
-#: misc/tune2fs.c:2998
+#: misc/tune2fs.c:3090
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6969,57 +7162,57 @@
 "abarbeiten lassen und dann diesen Befehl noch einaml laufen lassen. Ansonsten\n"
 "werden alle Änderungen durch das wiederherstellen des Journals überschrieben.\n"
 
-#: misc/tune2fs.c:3009
+#: misc/tune2fs.c:3099
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Das Journal wird wiederhergestellt.\n"
 
-#: misc/tune2fs.c:3028
+#: misc/tune2fs.c:3123
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Die maximale Anzahl von Einhängungen wird auf %d gesezt\n"
 
-#: misc/tune2fs.c:3034
+#: misc/tune2fs.c:3129
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Die Anzahl der Einhängungen wird auf %d gesetzt\n"
 
-#: misc/tune2fs.c:3039
+#: misc/tune2fs.c:3134
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Das Fehlerverhalten wird auf %d gesetzt\n"
 
-#: misc/tune2fs.c:3044
+#: misc/tune2fs.c:3139
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "Die Gruppen-ID reservierter Blöcke wird auf %lu gesetzt\n"
 
-#: misc/tune2fs.c:3049
+#: misc/tune2fs.c:3144
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "Der Abstand zwischen zwei Prüfläufen ist zu groß (%lu)"
 
-#: misc/tune2fs.c:3056
+#: misc/tune2fs.c:3151
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Der Abstand zwischen den Prüfläufen wird auf %lu Sekunden gesetzt\n"
 
-#: misc/tune2fs.c:3063
+#: misc/tune2fs.c:3158
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Der prozentuelle Anteil reservierter Blöcke wird auf %g%% (%llu Blöcke) gesetzt\n"
 
-#: misc/tune2fs.c:3069
+#: misc/tune2fs.c:3165
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "Die Anzahl reservierter Blöcke ist zu groß (%llu)"
 
-#: misc/tune2fs.c:3076
+#: misc/tune2fs.c:3172
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Die Anzahl reservierter Blöcke wird auf %llu gesetzt\n"
 
-#: misc/tune2fs.c:3081
+#: misc/tune2fs.c:3177
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -7027,7 +7220,7 @@
 "\n"
 "Das Dateisystem hat bereits Sparse-Superblöcke.\n"
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3180
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -7037,7 +7230,7 @@
 "Das Aktivieren von Sparse-Superblöcken wird auf Dateisystemen mit aktivierter\n"
 "Eigenschaft meta_bg nicht unterstützt.\n"
 
-#: misc/tune2fs.c:3094
+#: misc/tune2fs.c:3190
 #, c-format
 msgid ""
 "\n"
@@ -7046,7 +7239,7 @@
 "\n"
 "Kennung „Sparse-Superblöcke“ ist gesetzt. %s"
 
-#: misc/tune2fs.c:3099
+#: misc/tune2fs.c:3195
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -7054,51 +7247,57 @@
 "\n"
 "Das Zurücksetzen der Kennung „Sparse-Superblöcke“ wird nicht unterstützt.\n"
 
-#: misc/tune2fs.c:3107
+#: misc/tune2fs.c:3203
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "Der Zeitpunkt der letzten Prüfung des Dateisystems wird auf %s gesetzt\n"
 
-#: misc/tune2fs.c:3113
+#: misc/tune2fs.c:3209
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "Die Benutzer-ID reservierter Blöcke wird auf %lu gesetzt\n"
 
-#: misc/tune2fs.c:3145
+#: misc/tune2fs.c:3241
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Fehler bei der Verwendung von clear_mmp. Es muss zusammen mit -f benutzt werden\n"
 
-#: misc/tune2fs.c:3163
+#: misc/tune2fs.c:3259
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "Quotas können nur bei nicht eingehängten Dateisystemen geändert werden.\n"
 
-#: misc/tune2fs.c:3181
+#: misc/tune2fs.c:3276
+#, fuzzy
+#| msgid "Setting UUID on a checksummed filesystem could take some time."
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Das Setzen einer UUID auf einem durch Prüfsummen geschtzten Dateisysten kann einige Zeit dauern."
+
+#: misc/tune2fs.c:3286
 #, fuzzy
 #| msgid "Setting UUID on a checksummed filesystem could take some time."
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Das Setzen einer UUID auf einem durch Prüfsummen geschtzten Dateisysten kann einige Zeit dauern."
 
-#: misc/tune2fs.c:3196
+#: misc/tune2fs.c:3303
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "Die UUID kann nur bei nicht eingehängtem Dateisystem geändert werden.\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3306
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr "We Sie nur Kernel verwenden, die neuer al v4.4 sind, starten Sie „tune2fs -O metadata_csum_seed” und danach diesen Befehl noch einmal.\n"
 
-#: misc/tune2fs.c:3229
+#: misc/tune2fs.c:3337
 msgid "Invalid UUID format\n"
 msgstr "Ungültiges UUID-Format\n"
 
-#: misc/tune2fs.c:3245
+#: misc/tune2fs.c:3353
 msgid "Need to update journal superblock.\n"
 msgstr "Der Journal-Superblock muss aktualisiert werden.\n"
 
-#: misc/tune2fs.c:3267
+#: misc/tune2fs.c:3375
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr "Die Inode-Größe kann nur bei ausgehängtem Dateisystem geändert werden.\n"
 
-#: misc/tune2fs.c:3274
+#: misc/tune2fs.c:3382
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -7106,26 +7305,26 @@
 "Das Ändern der Inode-Größe auf Dateisystemen mit aktiviertem flex_bg\n"
 "wird nicht unterstützt.\n"
 
-#: misc/tune2fs.c:3292
+#: misc/tune2fs.c:3400
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Die Inode-Größe wird auf %lu gesetzt\n"
 
-#: misc/tune2fs.c:3296
+#: misc/tune2fs.c:3404
 msgid "Failed to change inode size\n"
 msgstr "Die Inode-Größe konnte nicht geändert werden\n"
 
-#: misc/tune2fs.c:3310
+#: misc/tune2fs.c:3418
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Die Stride-Größe wird auf %d gesetzt\n"
 
-#: misc/tune2fs.c:3315
+#: misc/tune2fs.c:3423
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Die Stripebreite wird auf %d gesetzt\n"
 
-#: misc/tune2fs.c:3322
+#: misc/tune2fs.c:3430
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "Die erweiterten Standard-Einhängeoptionen werden auf „%s“ gesetzt\n"
@@ -7170,7 +7369,7 @@
 "\n"
 "Ein zu %s passendes Journalgerät konnte nicht gefunden werden\n"
 
-#: misc/util.c:216
+#: misc/util.c:224
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7201,7 +7400,7 @@
 "\tliegen.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:267
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7209,26 +7408,34 @@
 "\n"
 "Das Dateisystem ist für ein Journal zu klein\n"
 
-#: misc/util.c:254
-#, c-format
+#: misc/util.c:284
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "The requested journal size is %d blocks; it must be\n"
+#| "between 1024 and 10240000 blocks.  Aborting.\n"
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
 "Die gewünschte Journalgröße ist %d Blöcke; sie muss\n"
 "zwischen 1024 und 10240000 Blöcken liegen. Abbruch.\n"
 
-#: misc/util.c:262
+#: misc/util.c:292
+#, fuzzy
+#| msgid ""
+#| "\n"
+#| "Journal size too big for filesystem.\n"
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
 "Das Journal ist für dieses Dateisystem zu groß.\n"
 
-#: misc/util.c:276
+#: misc/util.c:305
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7432,17 +7639,17 @@
 "geprüft. Deswegen handeln Sie auf eigene Gefahr!. Verwenden Sie die Option\n"
 "„force“, wenn Sie trotzdem fortfahren wollen.\n"
 
-#: resize/main.c:366
+#: resize/main.c:368
 #, c-format
 msgid "while opening %s"
 msgstr "beim Öffnen von %s"
 
-#: resize/main.c:374
+#: resize/main.c:376
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "beim Abfragen der Statusinformation für %s"
 
-#: resize/main.c:451
+#: resize/main.c:457
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7451,30 +7658,34 @@
 "Bitte lassen Sie zuerst „e2fsck -f %s“ laufen.\n"
 "\n"
 
-#: resize/main.c:470
+#: resize/main.c:476
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Geschätzte minimale Größe des Dateisystems: %llu\n"
 
-#: resize/main.c:507
+#: resize/main.c:516
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "Unzulässige neue Größe: %s\n"
 
-#: resize/main.c:526
+#: resize/main.c:535
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "Die neue Größe lässt sich nicht mehr mit 32 Bits ausdrücken\n"
 
-#: resize/main.c:534
+#: resize/main.c:548
+msgid "New size results in too many block group descriptors.\n"
+msgstr ""
+
+#: resize/main.c:555
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "Die neue Größe ist kleiner als das Minimum (%llu)\n"
 
-#: resize/main.c:540
+#: resize/main.c:562
 msgid "Invalid stride length"
 msgstr "Ungültige „Stride“-Länge"
 
-#: resize/main.c:564
+#: resize/main.c:586
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7484,27 +7695,27 @@
 "Die sie enthaltende Partition (oder Gerät) ist nur %llu (%dk) Blöcke groß.\n"
 "Sie wollen %llu Blöcke haben.\n"
 
-#: resize/main.c:571
+#: resize/main.c:593
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Die 64Bit-Eigenschaft kann weder gesetzt noch zurückgesetzt werden.\n"
 
-#: resize/main.c:575
+#: resize/main.c:597
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "Die 64Bit-Eigenschaft kann auf einem Dateisystem, das größer als 2^32 Blöcke ist, nicht geändert werden.\n"
 
-#: resize/main.c:581
+#: resize/main.c:603
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "Die 64-Bit-Eigenschaft kann nur bei nicht eingehängten Dateisystemen geändert werden.\n"
 
-#: resize/main.c:587
+#: resize/main.c:609
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Bitte aktivieren sie Erweiterungen mit tune2fs, bevor sie 64-Bit aktivieren.\n"
 
-#: resize/main.c:593
+#: resize/main.c:615
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7513,37 +7724,42 @@
 "Das Dateisystem ist bereits %llu (%dk) Blöcke lang. Nichts zu tun!\n"
 "\n"
 
-#: resize/main.c:600
+#: resize/main.c:623
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "Das Dateisystem ist bereits 64-bittig.\n"
 
-#: resize/main.c:605
+#: resize/main.c:628
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "Das Dateisystem ist bereits 32-bittig.\n"
 
-#: resize/main.c:613
+#: resize/main.c:633
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr ""
+
+#: resize/main.c:642
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Das Dateisystem wird auf 64-bittig konvertiert.\n"
 
-#: resize/main.c:615
+#: resize/main.c:644
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Das Dateisystem wird auf 32-bittig konvertiert.\n"
 
-#: resize/main.c:617
+#: resize/main.c:646
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "Die Größe des Dateisystems auf %s wird auf %llu (%dk) Blöcke geändert.\n"
 
-#: resize/main.c:626
+#: resize/main.c:656
 #, c-format
 msgid "while trying to resize %s"
 msgstr "beim Versuch, die Größe von %s zu ändern"
 
-#: resize/main.c:629
+#: resize/main.c:659
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7553,7 +7769,7 @@
 "Dateisystem nach der abgebrochenen Größenänderung\n"
 "zu reparieren.\n"
 
-#: resize/main.c:635
+#: resize/main.c:664
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7562,7 +7778,7 @@
 "Das Dateisystem auf %s is nun %llu (%dk) Blöcke lang.\n"
 "\n"
 
-#: resize/main.c:650
+#: resize/main.c:679
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "beim Versuch, %s abzuschneiden"
@@ -7623,56 +7839,56 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "Die Größe von %s wird gerade online auf %llu (%dk) Blöcke geändert.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "beim Versuch, die letzte Gruppe zu erweitern"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "beim Versuch, die Gruppe #%d hinzuzufügen"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr ""
 "Das Dateisystem bei %s ist auf %s eingehängt und die Änderung der Größe im\n"
 "laufenden System wird auf diesem System nicht unterstützt.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:760
 #, fuzzy, c-format
 #| msgid "inodes (%llu) must be less than %u"
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "Die Inodes (%llu) müssen unter %u liegen"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1039
 msgid "reserved blocks"
 msgstr "reservierte Blöcke"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1289
 msgid "meta-data blocks"
 msgstr "Metadaten-Blöcke"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1393 resize/resize2fs.c:2435
 msgid "new meta blocks"
 msgstr "neue Metadaten-Blöcke"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2659
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "Dies sollte nie geschehen! Kein sb im letzten super_sparse bg?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2664
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "Dies sollte nie geschehen! Unerwartete old_desc in super_sparse bg?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2737
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Dies sollte nie geschehen: Der Größenänderungs-Inode ist defekt!\n"
 
 #: lib/ext2fs/ext2_err.c:11
 #, fuzzy
 #| msgid "EXT2FS Library version 1.43.5"
-msgid "EXT2FS Library version 1.45.3"
+msgid "EXT2FS Library version 1.46.3"
 msgstr "EXT2FS-Bibliothek, Version 1.43.5"
 
 #: lib/ext2fs/ext2_err.c:12
@@ -8399,6 +8615,16 @@
 msgid "Inode containing extended attribute value is corrupted"
 msgstr ""
 
+#: lib/ext2fs/ext2_err.c:190
+#, fuzzy
+#| msgid ", Group descriptors at "
+msgid "Group descriptors not loaded"
+msgstr ", Gruppendeskriptoren in "
+
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr ""
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Profilversion 0.0"
@@ -8525,47 +8751,48 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Ungültige magische Zahl im profile_file_data_t"
 
-#: lib/support/plausible.c:118
-#, c-format
-msgid "\tlast mounted on %s on %s"
+#: lib/support/plausible.c:119
+#, fuzzy, c-format
+#| msgid "\tlast mounted on %s on %s"
+msgid "\tlast mounted on %.*s on %s"
 msgstr "\tzuletzt auf %s auf %s eingehängt"
 
-#: lib/support/plausible.c:121
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tzuletzt auf %s eingehängt"
 
-#: lib/support/plausible.c:124
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tauf %s erzeugt"
 
-#: lib/support/plausible.c:127
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tzuletzt geändert %s"
 
-#: lib/support/plausible.c:161
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "In %2$s wurde eine %1$s-Partitionstabelle gefunden\n"
 
-#: lib/support/plausible.c:191
+#: lib/support/plausible.c:192
 #, c-format
 msgid "The file %s does not exist and no size was specified.\n"
 msgstr "Die Datei %s existiert nicht und es wurde keine Größe angegeben.\n"
 
-#: lib/support/plausible.c:199
+#: lib/support/plausible.c:200
 #, c-format
 msgid "Creating regular file %s\n"
 msgstr "Die reguläre Datei %s wird angelegt\n"
 
-#: lib/support/plausible.c:202
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "%s kann nicht geöffnet werden: %s\n"
 
-#: lib/support/plausible.c:205
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8573,26 +8800,55 @@
 "\n"
 "Das Gerät existiert offensichtlich nicht; haben Sie es korrekt angegeben?\n"
 
-#: lib/support/plausible.c:227
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s ist kein spezielles Blockgerät.\n"
 
-#: lib/support/plausible.c:249
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s hat ein %s-Dateisystem mit Namen „%s“\n"
 
-#: lib/support/plausible.c:252
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s hat ein %s-Dateisystem\n"
 
-#: lib/support/plausible.c:276
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s enthält Daten von „%s”\n"
 
+#~ msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+#~ msgstr "Aufruf: %s [-F] [-I inode_buffer_blocks] Gerät\n"
+
+#~ msgid "while trying to open '%s'"
+#~ msgstr "beim Versuch, %s zu öffnen"
+
+#~ msgid "%u inodes scanned.\n"
+#~ msgstr "%u Inodes untersucht.\n"
+
+#, fuzzy
+#~| msgid ""
+#~| "The resize_inode and meta_bg features are not compatible.\n"
+#~| "They can not be both enabled simultaneously.\n"
+#~ msgid ""
+#~ "The encrypt and casefold features are not compatible.\n"
+#~ "They can not be both enabled simultaneously.\n"
+#~ msgstr ""
+#~ "resize_inode und meta_bg sind nicht kompatibel und können\n"
+#~ "daher nicht gleichzeitig aktiviert werden.\n"
+
+#, fuzzy
+#~| msgid ""
+#~| "Changing the inode size not supported for filesystems with the flex_bg\n"
+#~| "feature enabled.\n"
+#~ msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
+#~ msgstr ""
+#~ "Das Ändern der Inode-Größe auf Dateisystemen mit aktiviertem flex_bg\n"
+#~ "wird nicht unterstützt.\n"
+
 #~ msgid "i_dir_acl @F %Id, @s zero.\n"
 #~ msgstr "i_dir_acl für Inode %i (%Q) ist %Id, sollte Null sein.\n"
 
diff --git a/po/e2fsprogs.pot b/po/e2fsprogs.pot
index 1ecd767..013ee52 100644
--- a/po/e2fsprogs.pot
+++ b/po/e2fsprogs.pot
@@ -1,9 +1,10 @@
 # E2fsprogs translation template file
 # 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 by Theodore Ts'o
+#     2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022,
+#     2023 by Theodore Ts'o
 # This file is distributed under the same license as the e2fsprogs package.
-# Theodore Ts'o <tytso@mit.edu>, 2021.
+# Theodore Ts'o <tytso@mit.edu>, 2023.
 #
 #. 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,
@@ -77,9 +78,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs 1.46.2\n"
+"Project-Id-Version: e2fsprogs 1.46.6\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-02-28 09:37-0500\n"
+"POT-Creation-Date: 2023-02-01 15:29-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"
@@ -102,12 +103,12 @@
 msgid "while reading the bad blocks inode"
 msgstr ""
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1584
-#: e2fsck/unix.c:1698 misc/badblocks.c:1264 misc/badblocks.c:1272
-#: misc/badblocks.c:1286 misc/badblocks.c:1298 misc/dumpe2fs.c:437
-#: misc/dumpe2fs.c:702 misc/dumpe2fs.c:706 misc/e2image.c:1437
-#: misc/e2image.c:1635 misc/e2image.c:1656 misc/mke2fs.c:237
-#: misc/tune2fs.c:2880 misc/tune2fs.c:2980 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 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:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2891 misc/tune2fs.c:2993 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr ""
@@ -204,36 +205,36 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr ""
 
-#: e2fsck/journal.c:1263
+#: e2fsck/journal.c:1290
 msgid "reading journal superblock\n"
 msgstr ""
 
-#: e2fsck/journal.c:1336
+#: e2fsck/journal.c:1363
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr ""
 
-#: e2fsck/journal.c:1345
+#: e2fsck/journal.c:1372
 #, c-format
 msgid "%s: journal too short\n"
 msgstr ""
 
-#: e2fsck/journal.c:1358
+#: e2fsck/journal.c:1385
 #, c-format
 msgid "%s: incorrect fast commit blocks\n"
 msgstr ""
 
-#: e2fsck/journal.c:1660 misc/fuse2fs.c:3797
+#: e2fsck/journal.c:1687 misc/fuse2fs.c:3803
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr ""
 
-#: e2fsck/journal.c:1662
+#: e2fsck/journal.c:1689
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr ""
 
-#: e2fsck/journal.c:1689
+#: e2fsck/journal.c:1716
 #, c-format
 msgid "while trying to re-open %s"
 msgstr ""
@@ -471,125 +472,125 @@
 msgid "unknown quota type"
 msgstr ""
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr ""
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:829
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr ""
 
-#: e2fsck/pass1b.c:957
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr ""
 
-#: e2fsck/pass1b.c:981
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr ""
 
-#: e2fsck/pass1b.c:994
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr ""
 
-#: e2fsck/pass1.c:349
+#: e2fsck/pass1.c:350
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr ""
 
-#: e2fsck/pass1.c:767 e2fsck/pass2.c:1133
+#: e2fsck/pass1.c:774 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr ""
 
-#: e2fsck/pass1.c:1166
+#: e2fsck/pass1.c:1173
 msgid "getting next inode from scan"
 msgstr ""
 
-#: e2fsck/pass1.c:1218
+#: e2fsck/pass1.c:1225
 msgid "in-use inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:1229
+#: e2fsck/pass1.c:1236
 msgid "directory inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:1239
+#: e2fsck/pass1.c:1246
 msgid "regular file inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:1248 misc/e2image.c:1289
+#: e2fsck/pass1.c:1255 misc/e2image.c:1290
 msgid "in-use block map"
 msgstr ""
 
-#: e2fsck/pass1.c:1257
+#: e2fsck/pass1.c:1264
 msgid "metadata block map"
 msgstr ""
 
-#: e2fsck/pass1.c:1268
+#: e2fsck/pass1.c:1275
 msgid "inode casefold map"
 msgstr ""
 
-#: e2fsck/pass1.c:1333
+#: e2fsck/pass1.c:1340
 msgid "opening inode scan"
 msgstr ""
 
-#: e2fsck/pass1.c:2103
+#: e2fsck/pass1.c:2108
 msgid "Pass 1"
 msgstr ""
 
-#: e2fsck/pass1.c:2164
+#: e2fsck/pass1.c:2169
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr ""
 
-#: e2fsck/pass1.c:2215
+#: e2fsck/pass1.c:2220
 msgid "bad inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:2255
+#: e2fsck/pass1.c:2260
 msgid "inode in bad block map"
 msgstr ""
 
-#: e2fsck/pass1.c:2275
+#: e2fsck/pass1.c:2280
 msgid "imagic inode map"
 msgstr ""
 
-#: e2fsck/pass1.c:2306
+#: e2fsck/pass1.c:2311
 msgid "multiply claimed block map"
 msgstr ""
 
-#: e2fsck/pass1.c:2431
+#: e2fsck/pass1.c:2436
 msgid "ext attr block map"
 msgstr ""
 
-#: e2fsck/pass1.c:3726
+#: e2fsck/pass1.c:3736
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr ""
 
-#: e2fsck/pass1.c:4147
+#: e2fsck/pass1.c:4157
 msgid "block bitmap"
 msgstr ""
 
-#: e2fsck/pass1.c:4153
+#: e2fsck/pass1.c:4163
 msgid "inode bitmap"
 msgstr ""
 
-#: e2fsck/pass1.c:4159
+#: e2fsck/pass1.c:4169
 msgid "inode table"
 msgstr ""
 
-#: e2fsck/pass2.c:317
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr ""
 
-#: e2fsck/pass2.c:554
+#: e2fsck/pass2.c:576
 msgid "NLS is broken."
 msgstr ""
 
-#: e2fsck/pass2.c:1206 e2fsck/pass2.c:1390
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr ""
 
@@ -605,7 +606,7 @@
 msgid "Pass 3"
 msgstr ""
 
-#: e2fsck/pass3.c:350
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr ""
 
@@ -2595,8 +2596,8 @@
 
 #: e2fsck/problem.c:1855
 #, no-c-format
-#. @-expanded: Unconnected directory inode %i (%p)\n
-msgid "Unconnected @d @i %i (%p)\n"
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+msgid "Unconnected @d @i %i (was in %q)\n"
 msgstr ""
 
 #: e2fsck/problem.c:1860
@@ -2736,45 +2737,51 @@
 msgid "/@l is encrypted\n"
 msgstr ""
 
-#: e2fsck/problem.c:1996
-msgid "Pass 3A: Optimizing directories\n"
+#: e2fsck/problem.c:1995
+#, no-c-format
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+msgid "Recursively looped @d @i %i (%p)\n"
 msgstr ""
 
 #: e2fsck/problem.c:2002
+msgid "Pass 3A: Optimizing directories\n"
+msgstr ""
+
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2007
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2012
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr ""
 
-#: e2fsck/problem.c:2029
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr ""
 
-#: e2fsck/problem.c:2035
+#: e2fsck/problem.c:2041
 #, no-c-format
 #. @-expanded: unattached zero-length inode %i.  
 msgid "@u @z @i %i.  "
 msgstr ""
 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2047
 #, no-c-format
 #. @-expanded: unattached inode %i\n
 msgid "@u @i %i\n"
 msgstr ""
 
-#: e2fsck/problem.c:2046
+#: e2fsck/problem.c:2052
 #. @-expanded: inode %i ref count is %Il, should be %N.  
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr ""
 
-#: e2fsck/problem.c:2050
+#: e2fsck/problem.c:2056
 #. @-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
@@ -2784,72 +2791,72 @@
 "@i_link_info[%i] is %N, @i.i_links_count is %Il.  They @s the same!\n"
 msgstr ""
 
-#: e2fsck/problem.c:2057
+#: e2fsck/problem.c:2063
 #. @-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:2062
+#: e2fsck/problem.c:2068
 #. @-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:2067
+#: e2fsck/problem.c:2073
 #. @-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:2074
+#: e2fsck/problem.c:2080
 #. @-expanded: Pass 5: Checking group summary information\n
 msgid "Pass 5: Checking @g summary information\n"
 msgstr ""
 
-#: e2fsck/problem.c:2079
+#: e2fsck/problem.c:2085
 #. @-expanded: Padding at end of inode bitmap is not set. 
 msgid "Padding at end of @i @B is not set. "
 msgstr ""
 
-#: e2fsck/problem.c:2084
+#: e2fsck/problem.c:2090
 #. @-expanded: Padding at end of block bitmap is not set. 
 msgid "Padding at end of @b @B is not set. "
 msgstr ""
 
-#: e2fsck/problem.c:2089
+#: e2fsck/problem.c:2095
 #. @-expanded: block bitmap differences: 
 msgid "@b @B differences: "
 msgstr ""
 
-#: e2fsck/problem.c:2111
+#: e2fsck/problem.c:2117
 #. @-expanded: inode bitmap differences: 
 msgid "@i @B differences: "
 msgstr ""
 
-#: e2fsck/problem.c:2133
+#: e2fsck/problem.c:2139
 #. @-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:2138
+#: e2fsck/problem.c:2144
 #. @-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:2143
+#: e2fsck/problem.c:2149
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr ""
 
-#: e2fsck/problem.c:2148
+#: e2fsck/problem.c:2154
 #. @-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:2153
+#: e2fsck/problem.c:2159
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr ""
 
-#: e2fsck/problem.c:2158
+#: e2fsck/problem.c:2164
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
 msgid ""
@@ -2857,81 +2864,81 @@
 "endpoints (%i, %j)\n"
 msgstr ""
 
-#: e2fsck/problem.c:2164
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr ""
 
-#: e2fsck/problem.c:2170
+#: e2fsck/problem.c:2176
 #, 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:2176
+#: e2fsck/problem.c:2182
 #, 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:2206
+#: e2fsck/problem.c:2212
 #, 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:2212
+#: e2fsck/problem.c:2218
 #, 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:2218
+#: e2fsck/problem.c:2224
 #, 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:2224
+#: e2fsck/problem.c:2230
 #, 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:2231
+#: e2fsck/problem.c:2237
 #. @-expanded: Recreate journal
 msgid "Recreate @j"
 msgstr ""
 
-#: e2fsck/problem.c:2236
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr ""
 
-#: e2fsck/problem.c:2242
+#: e2fsck/problem.c:2248
 #, 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:2248
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2254
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2259
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2422
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr ""
 
-#: e2fsck/problem.c:2552 e2fsck/problem.c:2556
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr ""
 
@@ -2949,7 +2956,7 @@
 msgid "size of inode=%d\n"
 msgstr ""
 
-#: e2fsck/scantest.c:114 misc/e2image.c:1330
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
 msgid "while opening inode scan"
 msgstr ""
 
@@ -2971,15 +2978,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr ""
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr ""
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr ""
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -2987,7 +2994,7 @@
 "\t\t[-E extended-options] [-z undo_file] device\n"
 msgstr ""
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -2999,7 +3006,7 @@
 " -f                   Force checking even if filesystem is marked clean\n"
 msgstr ""
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3010,12 +3017,12 @@
 " -z undo_file         Create an undo file\n"
 msgstr ""
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr ""
 
-#: e2fsck/unix.c:164
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3026,51 +3033,51 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:168
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:173
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:178
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr ""
 
-#: e2fsck/unix.c:186
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr ""
 
-#: e2fsck/unix.c:195
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3081,102 +3088,102 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:208
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:219
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:223
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:227
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: e2fsck/unix.c:240 misc/badblocks.c:1001 misc/tune2fs.c:3072 misc/util.c:129
-#: resize/main.c:356
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3085 misc/util.c:135
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr ""
 
-#: e2fsck/unix.c:261
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr ""
 
-#: e2fsck/unix.c:264
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr ""
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr ""
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr ""
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:276
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3185,85 +3192,85 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr ""
 
-#: e2fsck/unix.c:283
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr ""
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr ""
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr ""
 
-#: e2fsck/unix.c:381
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr ""
 
-#: e2fsck/unix.c:385
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr ""
 
-#: e2fsck/unix.c:392
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr ""
 
-#: e2fsck/unix.c:398
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr ""
 
-#: e2fsck/unix.c:406
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr ""
 
-#: e2fsck/unix.c:412
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ""
 
-#: e2fsck/unix.c:445
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr ""
 
-#: e2fsck/unix.c:465
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr ""
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr ""
 
-#: e2fsck/unix.c:470
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr ""
 
-#: e2fsck/unix.c:620
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr ""
 
-#: e2fsck/unix.c:691
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr ""
 
-#: e2fsck/unix.c:704
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr ""
 
-#: e2fsck/unix.c:767
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:775
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3271,87 +3278,87 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:779
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr ""
 
-#: e2fsck/unix.c:788
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr ""
 
-#: e2fsck/unix.c:801
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
 "\t%s\n"
 msgstr ""
 
-#: e2fsck/unix.c:874
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:878
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr ""
 
-#: e2fsck/unix.c:893
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr ""
 
-#: e2fsck/unix.c:914
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr ""
 
-#: e2fsck/unix.c:946 e2fsck/unix.c:1024 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1772 misc/tune2fs.c:2072 misc/tune2fs.c:2090
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1783 misc/tune2fs.c:2083 misc/tune2fs.c:2101
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr ""
 
-#: e2fsck/unix.c:1003
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1008
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1013
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1037
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1043
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr ""
 
-#: e2fsck/unix.c:1094
+#: e2fsck/unix.c:1095
 #, c-format
 msgid "while opening %s for flushing"
 msgstr ""
 
-#: e2fsck/unix.c:1100 resize/main.c:385
+#: e2fsck/unix.c:1101 resize/main.c:391
 #, c-format
 msgid "while trying to flush %s"
 msgstr ""
 
-#: e2fsck/unix.c:1107
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1154
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:1163
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3359,31 +3366,31 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:1254
+#: e2fsck/unix.c:1262
 #, c-format
 msgid ""
 "MMP interval is %u seconds and total wait time is %u seconds. Please "
 "wait...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1271 e2fsck/unix.c:1276
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr ""
 
-#: e2fsck/unix.c:1278
+#: e2fsck/unix.c:1286
 #, 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:1294
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr ""
 
-#: e2fsck/unix.c:1314 e2fsck/unix.c:1366 misc/e2undo.c:240 misc/e2undo.c:285
-#: misc/mke2fs.c:2724 misc/mke2fs.c:2775 misc/tune2fs.c:2797
-#: misc/tune2fs.c:2842 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2760 misc/mke2fs.c:2811 misc/tune2fs.c:2808
+#: misc/tune2fs.c:2853 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3391,210 +3398,210 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:1355 misc/e2undo.c:274 misc/mke2fs.c:2764 misc/tune2fs.c:2831
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2800 misc/tune2fs.c:2842
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr ""
 
-#: e2fsck/unix.c:1381 misc/mke2fs.c:2790 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2826 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr ""
 
-#: e2fsck/unix.c:1425
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr ""
 
-#: e2fsck/unix.c:1432
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr ""
 
-#: e2fsck/unix.c:1469
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:1481
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr ""
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1544
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr ""
 
-#: e2fsck/unix.c:1545
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr ""
 
-#: e2fsck/unix.c:1555
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr ""
 
-#: e2fsck/unix.c:1559
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr ""
 
-#: e2fsck/unix.c:1588
+#: e2fsck/unix.c:1596
 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:1595
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1597
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr ""
 
-#: e2fsck/unix.c:1603
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1605
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1609
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1612
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1626
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1701
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr ""
 
-#: e2fsck/unix.c:1761
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr ""
 
-#: e2fsck/unix.c:1764
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr ""
 
-#: e2fsck/unix.c:1775
+#: e2fsck/unix.c:1784
 msgid ""
 "Warning: skipping journal recovery because doing a read-only filesystem "
 "check.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1787
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:1793
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:1797
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr ""
 
-#: e2fsck/unix.c:1801
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr ""
 
-#: e2fsck/unix.c:1823
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr ""
 
-#: e2fsck/unix.c:1838
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr ""
 
-#: e2fsck/unix.c:1888
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr ""
 
-#: e2fsck/unix.c:1891
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1934
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr ""
 
-#: e2fsck/unix.c:1943
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1945
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
 msgstr ""
 
-#: e2fsck/unix.c:1951
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr ""
 
-#: e2fsck/unix.c:1953
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1980
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1984
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr ""
 
-#: e2fsck/unix.c:2043
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
 "%s: ***** FILE SYSTEM ERRORS CORRECTED *****\n"
 msgstr ""
 
-#: e2fsck/unix.c:2045
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr ""
 
-#: e2fsck/unix.c:2049 e2fsck/util.c:67
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
 "%s: ***** FILE SYSTEM WAS MODIFIED *****\n"
 msgstr ""
 
-#: e2fsck/unix.c:2054
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr ""
 
-#: e2fsck/unix.c:2064 e2fsck/util.c:73
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3602,11 +3609,11 @@
 "\n"
 msgstr ""
 
-#: e2fsck/util.c:191 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:99
 msgid "yY"
 msgstr ""
 
-#: e2fsck/util.c:192 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:118
 msgid "nN"
 msgstr ""
 
@@ -3700,37 +3707,37 @@
 "\t(i.e., without -a or -p options)\n"
 msgstr ""
 
-#: e2fsck/util.c:438
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
 msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr ""
 
-#: e2fsck/util.c:444
+#: e2fsck/util.c:453
 #, c-format
 msgid "Memory used: %lluk, "
 msgstr ""
 
-#: e2fsck/util.c:450
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr ""
 
-#: e2fsck/util.c:455
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr ""
 
-#: e2fsck/util.c:490 e2fsck/util.c:504
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr ""
 
-#: e2fsck/util.c:518 e2fsck/util.c:531
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr ""
 
-#: e2fsck/util.c:790
+#: e2fsck/util.c:799
 msgid ""
 "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is "
 "running.\n"
@@ -3841,7 +3848,7 @@
 msgid "during test data write, block %lu"
 msgstr ""
 
-#: misc/badblocks.c:1006 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:140
 #, c-format
 msgid "%s is mounted; "
 msgstr ""
@@ -3854,7 +3861,7 @@
 msgid "it's not safe to run badblocks!\n"
 msgstr ""
 
-#: misc/badblocks.c:1018 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:151
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr ""
@@ -3863,87 +3870,98 @@
 msgid "badblocks forced anyway.\n"
 msgstr ""
 
-#: misc/badblocks.c:1041
+#: misc/badblocks.c:1040
 #, c-format
 msgid "invalid %s - %s"
 msgstr ""
 
-#: misc/badblocks.c:1135
+#: misc/badblocks.c:1044
+#, c-format
+msgid "%s too large - %lu"
+msgstr ""
+
+#: misc/badblocks.c:1140
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr ""
 
-#: misc/badblocks.c:1162
+#: misc/badblocks.c:1167
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr ""
 
-#: misc/badblocks.c:1192
+#: misc/badblocks.c:1197
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr ""
 
-#: misc/badblocks.c:1198
+#: misc/badblocks.c:1203
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr ""
 
-#: misc/badblocks.c:1205
+#: misc/badblocks.c:1210
 #, c-format
-msgid "Invalid block size: %d\n"
+msgid "Invalid block size: %u\n"
 msgstr ""
 
-#: misc/badblocks.c:1211
+#: misc/badblocks.c:1215
 #, c-format
-msgid "Invalid blocks_at_once: %d\n"
+msgid "Invalid number of blocks: %d\n"
 msgstr ""
 
-#: misc/badblocks.c:1225
+#: misc/badblocks.c:1220
+#, c-format
+msgid "For block size %d, number of blocks too large: %d\n"
+msgstr ""
+
+#: misc/badblocks.c:1234
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
 msgstr ""
 
-#: misc/badblocks.c:1231
+#: misc/badblocks.c:1240
 msgid "while trying to determine device size"
 msgstr ""
 
-#: misc/badblocks.c:1236
+#: misc/badblocks.c:1245
 msgid "last block"
 msgstr ""
 
-#: misc/badblocks.c:1242
+#: misc/badblocks.c:1251
 msgid "first block"
 msgstr ""
 
-#: misc/badblocks.c:1245
+#: misc/badblocks.c:1254
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr ""
 
-#: misc/badblocks.c:1253
+#: misc/badblocks.c:1262
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr ""
 
-#: misc/badblocks.c:1309
+#: misc/badblocks.c:1318
 msgid "while creating in-memory bad blocks list"
 msgstr ""
 
-#: misc/badblocks.c:1318
+#: misc/badblocks.c:1327
 msgid "input file - bad format"
 msgstr ""
 
-#: misc/badblocks.c:1326 misc/badblocks.c:1335
+#: misc/badblocks.c:1335 misc/badblocks.c:1344
 msgid "while adding to in-memory bad block list"
 msgstr ""
 
-#: misc/badblocks.c:1360
+#: misc/badblocks.c:1369
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr ""
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
+msgid ""
+"Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
 msgstr ""
 
 #: misc/chattr.c:162
@@ -4013,8 +4031,8 @@
 msgid "while reading inode %u"
 msgstr ""
 
-#: misc/create_inode.c:90 misc/create_inode.c:297 misc/create_inode.c:362
-#: misc/create_inode.c:400
+#: misc/create_inode.c:90 misc/create_inode.c:298 misc/create_inode.c:363
+#: misc/create_inode.c:401
 msgid "while expanding directory"
 msgstr ""
 
@@ -4023,149 +4041,149 @@
 msgid "while linking \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:331
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:332
 #, c-format
 msgid "while writing inode %u"
 msgstr ""
 
-#: misc/create_inode.c:154 misc/create_inode.c:185
+#: misc/create_inode.c:156 misc/create_inode.c:187
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:165
+#: misc/create_inode.c:167
 #, c-format
 msgid "while opening inode %u"
 msgstr ""
 
-#: misc/create_inode.c:172
+#: misc/create_inode.c:174
 #, c-format
 msgid "while reading xattrs for inode %u"
 msgstr ""
 
-#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1065
+#: misc/create_inode.c:180 misc/create_inode.c:207 misc/create_inode.c:1064
 #: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
 #: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr ""
 
-#: misc/create_inode.c:198 misc/create_inode.c:214
+#: misc/create_inode.c:200 misc/create_inode.c:216
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:223
+#: misc/create_inode.c:225
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr ""
 
-#: misc/create_inode.c:233
+#: misc/create_inode.c:235
 #, c-format
 msgid "while closing inode %u"
 msgstr ""
 
-#: misc/create_inode.c:284
+#: misc/create_inode.c:285
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:303
+#: misc/create_inode.c:304
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:369
+#: misc/create_inode.c:370
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:387 misc/create_inode.c:651 misc/create_inode.c:985
+#: misc/create_inode.c:388 misc/create_inode.c:652 misc/create_inode.c:984
 #, c-format
 msgid "while looking up \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:407
+#: misc/create_inode.c:408
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:637
+#: misc/create_inode.c:638
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr ""
 
-#: misc/create_inode.c:827
+#: misc/create_inode.c:822
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:837
+#: misc/create_inode.c:832
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:847
+#: misc/create_inode.c:842
 #, c-format
 msgid "while lstat \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:897
+#: misc/create_inode.c:892
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:906
+#: misc/create_inode.c:904
 msgid "malloc failed"
 msgstr ""
 
-#: misc/create_inode.c:914
+#: misc/create_inode.c:912
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:921
+#: misc/create_inode.c:919
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr ""
 
-#: misc/create_inode.c:932
+#: misc/create_inode.c:930
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr ""
 
-#: misc/create_inode.c:943
+#: misc/create_inode.c:942
 #, c-format
 msgid "while writing file \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:956
+#: misc/create_inode.c:955
 #, c-format
 msgid "while making dir \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:974
+#: misc/create_inode.c:973
 msgid "while changing directory"
 msgstr ""
 
-#: misc/create_inode.c:980
+#: misc/create_inode.c:979
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:993
+#: misc/create_inode.c:992
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:1000
+#: misc/create_inode.c:999
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr ""
 
-#: misc/create_inode.c:1026
+#: misc/create_inode.c:1025
 msgid "while saving inode data"
 msgstr ""
 
-#: misc/create_inode.c:1076
+#: misc/create_inode.c:1075
 msgid "while copying xattrs on root directory"
 msgstr ""
 
@@ -4278,59 +4296,59 @@
 msgid "while printing bad block list"
 msgstr ""
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr ""
 
-#: misc/dumpe2fs.c:374 misc/tune2fs.c:378
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr ""
 
-#: misc/dumpe2fs.c:380
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr ""
 
-#: misc/dumpe2fs.c:386
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr ""
 
-#: misc/dumpe2fs.c:393
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:413 misc/tune2fs.c:221
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr ""
 
-#: misc/dumpe2fs.c:421
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr ""
 
-#: misc/dumpe2fs.c:476
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:487
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:519 misc/mke2fs.c:809 misc/tune2fs.c:2112
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2123
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:545
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:560
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:571
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4344,229 +4362,229 @@
 "\tblocksize=<blocksize>\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:661 misc/mke2fs.c:1907
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1913
 #, c-format
 msgid "\tUsing %s\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:708 misc/e2image.c:1637 misc/tune2fs.c:2998
-#: resize/main.c:418
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3011
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:730
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:761
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:770
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
 msgstr ""
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
 msgid ""
 "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-"
 "file\n"
 msgstr ""
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr ""
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
 msgid ""
 "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs "
 "[ dest_fs ]\n"
 msgstr ""
 
-#: misc/e2image.c:176 misc/e2image.c:592 misc/e2image.c:598 misc/e2image.c:1200
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599 misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr ""
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr ""
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr ""
 
-#: misc/e2image.c:199
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr ""
 
-#: misc/e2image.c:216
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr ""
 
-#: misc/e2image.c:221
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr ""
 
-#: misc/e2image.c:249
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr ""
 
-#: misc/e2image.c:258
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr ""
 
-#: misc/e2image.c:266
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr ""
 
-#: misc/e2image.c:274
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr ""
 
-#: misc/e2image.c:516
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr ""
 
-#: misc/e2image.c:528
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr ""
 
-#: misc/e2image.c:569
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr ""
 
-#: misc/e2image.c:602 misc/e2image.c:642
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr ""
 
-#: misc/e2image.c:639
+#: misc/e2image.c:640
 msgid ""
 "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr ""
 
-#: misc/e2image.c:665
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr ""
 
-#: misc/e2image.c:677 misc/e2image.c:1210
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr ""
 
-#: misc/e2image.c:732
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr ""
 
-#: misc/e2image.c:737
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr ""
 
-#: misc/e2image.c:773
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr ""
 
-#: misc/e2image.c:818
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr ""
 
-#: misc/e2image.c:841
+#: misc/e2image.c:842
 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:1167
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr ""
 
-#: misc/e2image.c:1174
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr ""
 
-#: misc/e2image.c:1234 misc/e2image.c:1252
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr ""
 
-#: misc/e2image.c:1293
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr ""
 
-#: misc/e2image.c:1302
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr ""
 
-#: misc/e2image.c:1325
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr ""
 
-#: misc/e2image.c:1337
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr ""
 
-#: misc/e2image.c:1349
+#: misc/e2image.c:1350
 msgid "while getting next inode"
 msgstr ""
 
-#: misc/e2image.c:1376 misc/e2image.c:1390
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr ""
 
-#: misc/e2image.c:1422
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr ""
 
-#: misc/e2image.c:1444
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr ""
 
-#: misc/e2image.c:1456
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr ""
 
-#: misc/e2image.c:1467
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr ""
 
-#: misc/e2image.c:1573
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr ""
 
-#: misc/e2image.c:1578
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr ""
 
-#: misc/e2image.c:1584
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr ""
 
-#: misc/e2image.c:1589
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr ""
 
-#: misc/e2image.c:1594
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr ""
 
-#: misc/e2image.c:1604
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr ""
 
-#: misc/e2image.c:1611
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4574,56 +4592,56 @@
 "Use -f option if you really want to do that.\n"
 msgstr ""
 
-#: misc/e2image.c:1665
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr ""
 
-#: misc/e2image.c:1671
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr ""
 
-#: misc/e2image.c:1681
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr ""
 
-#: misc/e2image.c:1684
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr ""
 
-#: misc/e2image.c:1687
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr ""
 
-#: misc/e2image.c:1691
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr ""
 
-#: misc/e2image.c:1701
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr ""
 
-#: misc/e2image.c:1706
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr ""
 
-#: misc/e2image.c:1713
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr ""
 
-#: misc/e2image.c:1719
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr ""
 
-#: misc/e2image.c:1729
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr ""
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr ""
@@ -4648,7 +4666,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr ""
 
-#: misc/e2label.c:97 misc/tune2fs.c:3207
+#: misc/e2label.c:97 misc/tune2fs.c:3220
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr ""
@@ -4663,7 +4681,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr ""
 
-#: misc/e2label.c:117 misc/tune2fs.c:1764
+#: misc/e2label.c:117 misc/tune2fs.c:1775
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr ""
@@ -4875,17 +4893,17 @@
 "%11Lu: finished with errno %d\n"
 msgstr ""
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr ""
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr ""
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -4893,132 +4911,132 @@
 "\n"
 msgstr ""
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr ""
 
-#: misc/fsck.c:601
+#: misc/fsck.c:604
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr ""
 
-#: misc/fsck.c:623
+#: misc/fsck.c:626
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr ""
 
-#: misc/fsck.c:629
+#: misc/fsck.c:632
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr ""
 
-#: misc/fsck.c:668
+#: misc/fsck.c:671
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr ""
 
-#: misc/fsck.c:728
+#: misc/fsck.c:731
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr ""
 
-#: misc/fsck.c:749
+#: misc/fsck.c:752
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
 msgstr ""
 
-#: misc/fsck.c:768
+#: misc/fsck.c:771
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr ""
 
-#: misc/fsck.c:891
+#: misc/fsck.c:894
 #, c-format
 msgid ""
 "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass "
 "number\n"
 msgstr ""
 
-#: misc/fsck.c:918
+#: misc/fsck.c:921
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr ""
 
-#: misc/fsck.c:974
+#: misc/fsck.c:977
 msgid "Checking all file systems.\n"
 msgstr ""
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1068
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr ""
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1088
 msgid ""
 "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr ""
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1130
 #, c-format
 msgid "%s: too many devices\n"
 msgstr ""
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1163 misc/fsck.c:1249
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3746
+#: misc/fuse2fs.c:3750
 msgid "Mounting read-only.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3770
+#: misc/fuse2fs.c:3774
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
+#: misc/fuse2fs.c:3788 misc/fuse2fs.c:3806
 #, c-format
 msgid "%s: %s.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3098
+#: misc/fuse2fs.c:3789 misc/fuse2fs.c:3808 misc/tune2fs.c:3111
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3793
+#: misc/fuse2fs.c:3799
 #, c-format
 msgid "%s: mounting read-only without recovering journal\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3809
+#: misc/fuse2fs.c:3815
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3817
+#: misc/fuse2fs.c:3823
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3832
+#: misc/fuse2fs.c:3838
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3836
+#: misc/fuse2fs.c:3842
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3841
+#: misc/fuse2fs.c:3847
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3845
+#: misc/fuse2fs.c:3851
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3849
+#: misc/fuse2fs.c:3855
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr ""
 
@@ -5042,6 +5060,10 @@
 msgid "While reading version on %s"
 msgstr ""
 
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr ""
+
 #: misc/mke2fs.c:131
 #, c-format
 msgid ""
@@ -5092,7 +5114,7 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:345 misc/mke2fs.c:3285
+#: misc/mke2fs.c:345 misc/mke2fs.c:3320
 msgid "while marking bad blocks as used"
 msgstr ""
 
@@ -5111,7 +5133,7 @@
 "Could not write %d blocks in inode table starting at %llu: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:459 misc/mke2fs.c:2837 misc/mke2fs.c:3245
+#: misc/mke2fs.c:459 misc/mke2fs.c:2872 misc/mke2fs.c:3280
 msgid "done                            \n"
 msgstr ""
 
@@ -5153,202 +5175,202 @@
 msgid "Warning: could not read block 0: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:599
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:615
+#: misc/mke2fs.c:617
 msgid "while splitting the journal size"
 msgstr ""
 
-#: misc/mke2fs.c:622
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr ""
 
-#: misc/mke2fs.c:630
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr ""
 
-#: misc/mke2fs.c:642
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr ""
 
-#: misc/mke2fs.c:660
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr ""
 
-#: misc/mke2fs.c:674
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr ""
 
-#: misc/mke2fs.c:682
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:686
+#: misc/mke2fs.c:688
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr ""
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr ""
 
-#: misc/mke2fs.c:695
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr ""
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr ""
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr ""
 
-#: misc/mke2fs.c:703
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr ""
 
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr ""
 
-#: misc/mke2fs.c:708
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr ""
 
-#: misc/mke2fs.c:710
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr ""
 
-#: misc/mke2fs.c:712
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr ""
 
-#: misc/mke2fs.c:716
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr ""
 
-#: misc/mke2fs.c:718
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr ""
 
-#: misc/mke2fs.c:720
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr ""
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr ""
 
-#: misc/mke2fs.c:725
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr ""
 
-#: misc/mke2fs.c:734
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:735
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr ""
 
-#: misc/mke2fs.c:831
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr ""
 
-#: misc/mke2fs.c:837
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr ""
 
-#: misc/mke2fs.c:850
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr ""
 
-#: misc/mke2fs.c:864
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:876
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:890 misc/tune2fs.c:2140
+#: misc/mke2fs.c:892 misc/tune2fs.c:2151
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:907
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:929
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:944
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:967
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:974
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr ""
 
-#: misc/mke2fs.c:998
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:1024 misc/mke2fs.c:1033
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr ""
 
-#: misc/mke2fs.c:1078
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr ""
 
-#: misc/mke2fs.c:1096
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5377,7 +5399,7 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1123
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5385,52 +5407,52 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1134 misc/tune2fs.c:2276
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2287
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1140 misc/tune2fs.c:2285
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2296
 #, c-format
 msgid ""
 "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr ""
 
-#: misc/mke2fs.c:1190
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
 "\t%s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1203 misc/tune2fs.c:1105
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1111
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1215 misc/tune2fs.c:422
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1351
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
 "Your mke2fs.conf file does not define the %s filesystem type.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1355
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1359
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr ""
 
-#: misc/mke2fs.c:1400
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5438,154 +5460,164 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1587
+#: misc/mke2fs.c:1590
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1624
+#: misc/mke2fs.c:1630
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr ""
 
-#: misc/mke2fs.c:1657
+#: misc/mke2fs.c:1663
 #, c-format
 msgid "invalid block size - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1661
+#: misc/mke2fs.c:1667
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1677
+#: misc/mke2fs.c:1683
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1690
+#: misc/mke2fs.c:1696
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr ""
 
-#: misc/mke2fs.c:1704 misc/tune2fs.c:1866
+#: misc/mke2fs.c:1710 misc/tune2fs.c:1877
 #, c-format
 msgid "bad error behavior - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1716
+#: misc/mke2fs.c:1722
 msgid "Illegal number for blocks per group"
 msgstr ""
 
-#: misc/mke2fs.c:1721
+#: misc/mke2fs.c:1727
 msgid "blocks per group must be multiple of 8"
 msgstr ""
 
-#: misc/mke2fs.c:1729
+#: misc/mke2fs.c:1735
 msgid "Illegal number for flex_bg size"
 msgstr ""
 
-#: misc/mke2fs.c:1735
+#: misc/mke2fs.c:1741
 msgid "flex_bg size must be a power of 2"
 msgstr ""
 
-#: misc/mke2fs.c:1740
+#: misc/mke2fs.c:1746
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr ""
 
-#: misc/mke2fs.c:1750
+#: misc/mke2fs.c:1756
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:1760
+#: misc/mke2fs.c:1766
 #, c-format
 msgid "invalid inode size - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1775
+#: misc/mke2fs.c:1781
 msgid ""
 "Warning: -K option is deprecated and should not be used anymore. Use '-E "
 "nodiscard' extended option instead!\n"
 msgstr ""
 
-#: misc/mke2fs.c:1786
+#: misc/mke2fs.c:1792
 msgid "in malloc for bad_blocks_filename"
 msgstr ""
 
-#: misc/mke2fs.c:1795
+#: misc/mke2fs.c:1801
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1804
+#: misc/mke2fs.c:1810
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1819
+#: misc/mke2fs.c:1825
 #, c-format
 msgid "bad num inodes - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1832
+#: misc/mke2fs.c:1838
 msgid "while allocating fs_feature string"
 msgstr ""
 
-#: misc/mke2fs.c:1849
+#: misc/mke2fs.c:1855
 #, c-format
 msgid "bad revision level - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1854
+#: misc/mke2fs.c:1860
 #, c-format
 msgid "while trying to create revision %d"
 msgstr ""
 
-#: misc/mke2fs.c:1868
+#: misc/mke2fs.c:1874
 msgid "The -t option may only be used once"
 msgstr ""
 
-#: misc/mke2fs.c:1876
+#: misc/mke2fs.c:1882
 msgid "The -T option may only be used once"
 msgstr ""
 
-#: misc/mke2fs.c:1932 misc/mke2fs.c:3368
+#: misc/mke2fs.c:1938 misc/mke2fs.c:3403
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1938
+#: misc/mke2fs.c:1944
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr ""
 
-#: misc/mke2fs.c:1944
+#: misc/mke2fs.c:1950
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr ""
 
-#: misc/mke2fs.c:1955
+#: misc/mke2fs.c:1961
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr ""
 
-#: misc/mke2fs.c:1985
+#: misc/mke2fs.c:1981
 msgid "filesystem"
 msgstr ""
 
-#: misc/mke2fs.c:2003 resize/main.c:499
+#: misc/mke2fs.c:1996 lib/support/plausible.c:187
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2008 lib/support/plausible.c:195
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:2013 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr ""
 
-#: misc/mke2fs.c:2009
+#: misc/mke2fs.c:2019
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
 msgstr ""
 
-#: misc/mke2fs.c:2016
+#: misc/mke2fs.c:2026
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5593,149 +5625,149 @@
 "\tto re-read your partition table.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2033
+#: misc/mke2fs.c:2043
 msgid "Filesystem larger than apparent device size."
 msgstr ""
 
-#: misc/mke2fs.c:2053
+#: misc/mke2fs.c:2066
 msgid "Failed to parse fs types list\n"
 msgstr ""
 
-#: misc/mke2fs.c:2103
+#: misc/mke2fs.c:2116
 msgid "The HURD does not support the filetype feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2108
+#: misc/mke2fs.c:2121
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2113
+#: misc/mke2fs.c:2126
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2118
+#: misc/mke2fs.c:2131
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2128
+#: misc/mke2fs.c:2141
 msgid "while trying to determine hardware sector size"
 msgstr ""
 
-#: misc/mke2fs.c:2134
+#: misc/mke2fs.c:2147
 msgid "while trying to determine physical sector size"
 msgstr ""
 
-#: misc/mke2fs.c:2166
+#: misc/mke2fs.c:2179
 msgid "while setting blocksize; too small for device\n"
 msgstr ""
 
-#: misc/mke2fs.c:2171
+#: misc/mke2fs.c:2184
 #, c-format
 msgid ""
 "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr ""
 
-#: misc/mke2fs.c:2195
+#: misc/mke2fs.c:2208
 #, 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:2209
+#: misc/mke2fs.c:2222
 #, 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:2231
+#: misc/mke2fs.c:2244
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr ""
 
-#: misc/mke2fs.c:2238
+#: misc/mke2fs.c:2251
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:2246
+#: misc/mke2fs.c:2259
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:2256
+#: misc/mke2fs.c:2269
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:2269
+#: misc/mke2fs.c:2282
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr ""
 
-#: misc/mke2fs.c:2286
+#: misc/mke2fs.c:2299
 msgid ""
 "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to "
 "rectify.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2306
+#: misc/mke2fs.c:2319
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2312
+#: misc/mke2fs.c:2325
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr ""
 
-#: misc/mke2fs.c:2332
+#: misc/mke2fs.c:2345
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:2344
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2346
+#: misc/mke2fs.c:2359
 #, c-format
 msgid ""
 "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2352
+#: misc/mke2fs.c:2365
 #, 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:2376
+#: misc/mke2fs.c:2389
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:2380
+#: misc/mke2fs.c:2393
 #, c-format
 msgid ""
 "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr ""
 
-#: misc/mke2fs.c:2388
+#: misc/mke2fs.c:2401
 #, c-format
 msgid ""
 "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata "
 "and journal checksum features.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2434
+#: misc/mke2fs.c:2447
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr ""
 
-#: misc/mke2fs.c:2445
+#: misc/mke2fs.c:2458
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr ""
 
-#: misc/mke2fs.c:2470
+#: misc/mke2fs.c:2483
 #, c-format
 msgid ""
 "\n"
@@ -5745,62 +5777,66 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:2485
+#: misc/mke2fs.c:2498
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr ""
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2520
 msgid "Can't support bigalloc feature without extents feature"
 msgstr ""
 
-#: misc/mke2fs.c:2514
+#: misc/mke2fs.c:2527
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2522
+#: misc/mke2fs.c:2536
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\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:2534
+#: misc/mke2fs.c:2548
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr ""
 
-#: misc/mke2fs.c:2543
+#: misc/mke2fs.c:2557
 msgid "blocks per group count out of range"
 msgstr ""
 
-#: misc/mke2fs.c:2565
+#: misc/mke2fs.c:2579
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr ""
 
-#: misc/mke2fs.c:2577
+#: misc/mke2fs.c:2591
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:2592
+#: misc/mke2fs.c:2606
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr ""
 
-#: misc/mke2fs.c:2607
+#: misc/mke2fs.c:2621
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr ""
+
+#: misc/mke2fs.c:2632
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr ""
 
-#: misc/mke2fs.c:2615
+#: misc/mke2fs.c:2640
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr ""
 
-#: misc/mke2fs.c:2629
+#: misc/mke2fs.c:2654
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -5808,192 +5844,192 @@
 "\tor lower inode count (-N).\n"
 msgstr ""
 
-#: misc/mke2fs.c:2816
+#: misc/mke2fs.c:2851
 msgid "Discarding device blocks: "
 msgstr ""
 
-#: misc/mke2fs.c:2832
+#: misc/mke2fs.c:2867
 msgid "failed - "
 msgstr ""
 
-#: misc/mke2fs.c:2891
+#: misc/mke2fs.c:2926
 msgid "while initializing quota context"
 msgstr ""
 
-#: misc/mke2fs.c:2898
+#: misc/mke2fs.c:2933
 msgid "while writing quota inodes"
 msgstr ""
 
-#: misc/mke2fs.c:2923
+#: misc/mke2fs.c:2958
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr ""
 
-#: misc/mke2fs.c:3002
+#: misc/mke2fs.c:3037
 msgid "in malloc for android_sparse_params"
 msgstr ""
 
-#: misc/mke2fs.c:3016
+#: misc/mke2fs.c:3051
 msgid "while setting up superblock"
 msgstr ""
 
-#: misc/mke2fs.c:3032
+#: misc/mke2fs.c:3067
 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:3039
+#: misc/mke2fs.c:3074
 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:3047
+#: misc/mke2fs.c:3082
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:3071
+#: misc/mke2fs.c:3106
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr ""
 
-#: misc/mke2fs.c:3170
+#: misc/mke2fs.c:3205
 #, c-format
 msgid "unknown os - %s"
 msgstr ""
 
-#: misc/mke2fs.c:3233
+#: misc/mke2fs.c:3268
 msgid "Allocating group tables: "
 msgstr ""
 
-#: misc/mke2fs.c:3241
+#: misc/mke2fs.c:3276
 msgid "while trying to allocate filesystem tables"
 msgstr ""
 
-#: misc/mke2fs.c:3256
+#: misc/mke2fs.c:3291
 msgid "while unmarking bad blocks"
 msgstr ""
 
-#: misc/mke2fs.c:3267
+#: misc/mke2fs.c:3302
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
 msgstr ""
 
-#: misc/mke2fs.c:3276
+#: misc/mke2fs.c:3311
 msgid "while calculating overhead"
 msgstr ""
 
-#: misc/mke2fs.c:3295
+#: misc/mke2fs.c:3330
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr ""
 
-#: misc/mke2fs.c:3336
+#: misc/mke2fs.c:3371
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr ""
 
-#: misc/mke2fs.c:3349
+#: misc/mke2fs.c:3384
 msgid "while reserving blocks for online resize"
 msgstr ""
 
-#: misc/mke2fs.c:3361 misc/tune2fs.c:1567
+#: misc/mke2fs.c:3396 misc/tune2fs.c:1573
 msgid "journal"
 msgstr ""
 
-#: misc/mke2fs.c:3373
+#: misc/mke2fs.c:3408
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr ""
 
-#: misc/mke2fs.c:3380
+#: misc/mke2fs.c:3415
 #, c-format
 msgid ""
 "\n"
 "\twhile trying to add journal to device %s"
 msgstr ""
 
-#: misc/mke2fs.c:3385 misc/mke2fs.c:3415 misc/mke2fs.c:3457
-#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1596 misc/tune2fs.c:1615
+#: misc/mke2fs.c:3420 misc/mke2fs.c:3450 misc/mke2fs.c:3492
+#: misc/mk_hugefiles.c:486 misc/tune2fs.c:1602 misc/tune2fs.c:1624
 msgid "done\n"
 msgstr ""
 
-#: misc/mke2fs.c:3392
+#: misc/mke2fs.c:3427
 msgid "Skipping journal creation in super-only mode\n"
 msgstr ""
 
-#: misc/mke2fs.c:3402
+#: misc/mke2fs.c:3437
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr ""
 
-#: misc/mke2fs.c:3411
+#: misc/mke2fs.c:3446
 msgid ""
 "\n"
 "\twhile trying to create journal"
 msgstr ""
 
-#: misc/mke2fs.c:3423 misc/tune2fs.c:1170
+#: misc/mke2fs.c:3458 misc/tune2fs.c:1176
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
 msgstr ""
 
-#: misc/mke2fs.c:3428
+#: misc/mke2fs.c:3463
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr ""
 
-#: misc/mke2fs.c:3448
+#: misc/mke2fs.c:3483
 msgid "Copying files into the device: "
 msgstr ""
 
-#: misc/mke2fs.c:3454
+#: misc/mke2fs.c:3489
 msgid "while populating file system"
 msgstr ""
 
-#: misc/mke2fs.c:3461
+#: misc/mke2fs.c:3496
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr ""
 
-#: misc/mke2fs.c:3468
+#: misc/mke2fs.c:3503 misc/tune2fs.c:3466
 msgid "while writing out and closing file system"
 msgstr ""
 
-#: misc/mke2fs.c:3471
+#: misc/mke2fs.c:3506
 msgid ""
 "done\n"
 "\n"
 msgstr ""
 
-#: misc/mk_hugefiles.c:339
+#: misc/mk_hugefiles.c:223
 #, c-format
 msgid "while zeroing block %llu for hugefile"
 msgstr ""
 
-#: misc/mk_hugefiles.c:516
+#: misc/mk_hugefiles.c:400
 #, c-format
 msgid ""
 "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr ""
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:468
 msgid "Huge files will be zero'ed\n"
 msgstr ""
 
-#: misc/mk_hugefiles.c:585
+#: misc/mk_hugefiles.c:469
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr ""
 
-#: misc/mk_hugefiles.c:587
+#: misc/mk_hugefiles.c:471
 #, c-format
 msgid "with %llu blocks each"
 msgstr ""
 
-#: misc/mk_hugefiles.c:597
+#: misc/mk_hugefiles.c:481
 #, c-format
 msgid "while creating huge file %lu"
 msgstr ""
@@ -6032,21 +6068,21 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr ""
 
-#: misc/tune2fs.c:120
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
 msgstr ""
 
-#: misc/tune2fs.c:122
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr ""
 
-#: misc/tune2fs.c:124
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr ""
 
-#: misc/tune2fs.c:137
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6059,304 +6095,304 @@
 "\t[-I new_inode_size] [-z undo_file] device\n"
 msgstr ""
 
-#: misc/tune2fs.c:228
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr ""
 
-#: misc/tune2fs.c:286
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr ""
 
-#: misc/tune2fs.c:292 misc/tune2fs.c:2888
+#: misc/tune2fs.c:293 misc/tune2fs.c:2899
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr ""
 
-#: misc/tune2fs.c:301 misc/tune2fs.c:2897
+#: misc/tune2fs.c:302 misc/tune2fs.c:2908
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
 "is too high (%d).\n"
 msgstr ""
 
-#: misc/tune2fs.c:308 misc/tune2fs.c:2904
+#: misc/tune2fs.c:309 misc/tune2fs.c:2915
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr ""
 
-#: misc/tune2fs.c:332
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
 msgstr ""
 
-#: misc/tune2fs.c:341
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr ""
 
-#: misc/tune2fs.c:385
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr ""
 
-#: misc/tune2fs.c:393
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr ""
 
-#: misc/tune2fs.c:404
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr ""
 
-#: misc/tune2fs.c:440 misc/tune2fs.c:465 misc/tune2fs.c:478
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr ""
 
-#: misc/tune2fs.c:493
-#, c-format
-msgid "After running e2fsck, please run `resize2fs %s %s"
-msgstr ""
-
 #: misc/tune2fs.c:496
 #, c-format
+msgid "After running e2fsck, please run `resize2fs %s %s"
+msgstr ""
+
+#: misc/tune2fs.c:499
+#, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr ""
 
-#: misc/tune2fs.c:500
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr ""
 
-#: misc/tune2fs.c:502
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr ""
 
-#: misc/tune2fs.c:504
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1072
+#: misc/tune2fs.c:1078
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1108
+#: misc/tune2fs.c:1114
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1114
+#: misc/tune2fs.c:1120
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1123
+#: misc/tune2fs.c:1129
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1131
+#: misc/tune2fs.c:1137
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1149
+#: misc/tune2fs.c:1155
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1162
+#: misc/tune2fs.c:1168
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
 "read-only.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1180
+#: misc/tune2fs.c:1186
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1189
+#: misc/tune2fs.c:1195
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1197
+#: misc/tune2fs.c:1203
 msgid "Error while reading bitmaps\n"
 msgstr ""
 
-#: misc/tune2fs.c:1206
+#: misc/tune2fs.c:1212
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr ""
 
-#: misc/tune2fs.c:1211
+#: misc/tune2fs.c:1217
 msgid "while reading MMP block."
 msgstr ""
 
-#: misc/tune2fs.c:1244
+#: misc/tune2fs.c:1250
 msgid ""
 "Disabling directory index on filesystem with checksums could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:1248
+#: misc/tune2fs.c:1254
 msgid "Cannot disable dir_index on a mounted filesystem!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1261
+#: misc/tune2fs.c:1267
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1272
+#: misc/tune2fs.c:1278
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1283
+#: misc/tune2fs.c:1289
 msgid "Enabling checksums could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:1286
+#: misc/tune2fs.c:1292
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1292
+#: misc/tune2fs.c:1298
 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.  Re-run with -O extent to rectify.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1299
+#: misc/tune2fs.c:1305
 msgid ""
 "64-bit filesystem support is not enabled.  The larger fields afforded by "
 "this feature enable full-strength checksumming.  Run resize2fs -b to "
 "rectify.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1325
+#: misc/tune2fs.c:1331
 msgid "Disabling checksums could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:1328
+#: misc/tune2fs.c:1334
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1369
+#: misc/tune2fs.c:1375
 msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1384
+#: misc/tune2fs.c:1390
 msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1403
+#: misc/tune2fs.c:1409
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1413
+#: misc/tune2fs.c:1419
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1443
+#: misc/tune2fs.c:1449
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1464
+#: misc/tune2fs.c:1470
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1481 misc/tune2fs.c:2238
+#: misc/tune2fs.c:1487 misc/tune2fs.c:2249
 msgid ""
 "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1493
+#: misc/tune2fs.c:1499
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1511
+#: misc/tune2fs.c:1517
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be "
 "unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1517
+#: misc/tune2fs.c:1523
 msgid "Recalculating checksums could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:1560
+#: misc/tune2fs.c:1566
 msgid "The filesystem already has a journal.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1580
+#: misc/tune2fs.c:1586
 #, c-format
 msgid ""
 "\n"
 "\twhile trying to open journal on %s\n"
 msgstr ""
 
-#: misc/tune2fs.c:1584
+#: misc/tune2fs.c:1590
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr ""
 
-#: misc/tune2fs.c:1592
+#: misc/tune2fs.c:1598
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr ""
 
-#: misc/tune2fs.c:1598
+#: misc/tune2fs.c:1604
 msgid "Creating journal inode: "
 msgstr ""
 
-#: misc/tune2fs.c:1612
+#: misc/tune2fs.c:1618
 msgid ""
 "\n"
 "\twhile trying to create journal file"
 msgstr ""
 
-#: misc/tune2fs.c:1650
+#: misc/tune2fs.c:1660
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1663
+#: misc/tune2fs.c:1673
 msgid "while initializing quota context in support library"
 msgstr ""
 
-#: misc/tune2fs.c:1678
+#: misc/tune2fs.c:1689
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr ""
 
-#: misc/tune2fs.c:1688
+#: misc/tune2fs.c:1699
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr ""
 
-#: misc/tune2fs.c:1706
+#: misc/tune2fs.c:1717
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr ""
 
-#: misc/tune2fs.c:1749
+#: misc/tune2fs.c:1760
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6370,65 +6406,65 @@
 "\n"
 msgstr ""
 
-#: misc/tune2fs.c:1807
+#: misc/tune2fs.c:1818
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr ""
 
-#: misc/tune2fs.c:1839 misc/tune2fs.c:1850
+#: misc/tune2fs.c:1850 misc/tune2fs.c:1861
 #, c-format
 msgid "bad mounts count - %s"
 msgstr ""
 
-#: misc/tune2fs.c:1893
+#: misc/tune2fs.c:1904
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr ""
 
-#: misc/tune2fs.c:1926
+#: misc/tune2fs.c:1937
 #, c-format
 msgid "bad interval - %s"
 msgstr ""
 
-#: misc/tune2fs.c:1955
+#: misc/tune2fs.c:1966
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr ""
 
-#: misc/tune2fs.c:1970
+#: misc/tune2fs.c:1981
 msgid "-o may only be specified once"
 msgstr ""
 
-#: misc/tune2fs.c:1979
+#: misc/tune2fs.c:1990
 msgid "-O may only be specified once"
 msgstr ""
 
-#: misc/tune2fs.c:1996
+#: misc/tune2fs.c:2007
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr ""
 
-#: misc/tune2fs.c:2025
+#: misc/tune2fs.c:2036
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr ""
 
-#: misc/tune2fs.c:2042
+#: misc/tune2fs.c:2053
 #, c-format
 msgid "bad inode size - %s"
 msgstr ""
 
-#: misc/tune2fs.c:2049
+#: misc/tune2fs.c:2060
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr ""
 
-#: misc/tune2fs.c:2149
+#: misc/tune2fs.c:2160
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:2154
+#: misc/tune2fs.c:2165
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural ""
@@ -6436,52 +6472,52 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: misc/tune2fs.c:2163
+#: misc/tune2fs.c:2174
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr ""
 
-#: misc/tune2fs.c:2181
+#: misc/tune2fs.c:2192
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr ""
 
-#: misc/tune2fs.c:2196
+#: misc/tune2fs.c:2207
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr ""
 
-#: misc/tune2fs.c:2211
+#: misc/tune2fs.c:2222
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr ""
 
-#: misc/tune2fs.c:2217
+#: misc/tune2fs.c:2228
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr ""
 
-#: misc/tune2fs.c:2244
+#: misc/tune2fs.c:2255
 #, c-format
 msgid "Cannot alter existing encoding\n"
 msgstr ""
 
-#: misc/tune2fs.c:2250
+#: misc/tune2fs.c:2261
 #, c-format
 msgid "Invalid encoding: %s\n"
 msgstr ""
 
-#: misc/tune2fs.c:2256
+#: misc/tune2fs.c:2267
 #, c-format
 msgid "Setting encoding to '%s'\n"
 msgstr ""
 
-#: misc/tune2fs.c:2280
+#: misc/tune2fs.c:2291
 #, c-format
 msgid "Setting encoding_flags to '%s'\n"
 msgstr ""
 
-#: misc/tune2fs.c:2290
+#: misc/tune2fs.c:2301
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6503,72 +6539,72 @@
 "\tencoding_flags=<flags>\n"
 msgstr ""
 
-#: misc/tune2fs.c:2706
+#: misc/tune2fs.c:2717
 msgid "Failed to read inode bitmap\n"
 msgstr ""
 
-#: misc/tune2fs.c:2711
+#: misc/tune2fs.c:2722
 msgid "Failed to read block bitmap\n"
 msgstr ""
 
-#: misc/tune2fs.c:2728 resize/resize2fs.c:1279
+#: misc/tune2fs.c:2739 resize/resize2fs.c:1368
 msgid "blocks to be moved"
 msgstr ""
 
-#: misc/tune2fs.c:2731
+#: misc/tune2fs.c:2742
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr ""
 
-#: misc/tune2fs.c:2737
+#: misc/tune2fs.c:2748
 msgid "Not enough space to increase inode size \n"
 msgstr ""
 
-#: misc/tune2fs.c:2742
+#: misc/tune2fs.c:2753
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr ""
 
-#: misc/tune2fs.c:2774
+#: misc/tune2fs.c:2785
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
 msgstr ""
 
-#: misc/tune2fs.c:2985
+#: misc/tune2fs.c:2998
 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:2992
+#: misc/tune2fs.c:3005
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
 "'e2fsck -f %s'\n"
 msgstr ""
 
-#: misc/tune2fs.c:3004
+#: misc/tune2fs.c:3017
 msgid "Cannot modify a journal device.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3017
+#: misc/tune2fs.c:3030
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3037
 msgid "Shrinking inode size is not supported\n"
 msgstr ""
 
-#: misc/tune2fs.c:3029
+#: misc/tune2fs.c:3042
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr ""
 
-#: misc/tune2fs.c:3035
+#: misc/tune2fs.c:3048
 msgid "Resizing inodes could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3097
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6579,201 +6615,201 @@
 "by journal recovery.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3106
 #, c-format
 msgid "Recovering journal.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3117
+#: misc/tune2fs.c:3130
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3123
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3128
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3133
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3138
+#: misc/tune2fs.c:3151
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr ""
 
-#: misc/tune2fs.c:3145
+#: misc/tune2fs.c:3158
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr ""
 
-#: misc/tune2fs.c:3152
+#: misc/tune2fs.c:3165
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr ""
 
-#: misc/tune2fs.c:3159
+#: misc/tune2fs.c:3172
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr ""
 
-#: misc/tune2fs.c:3166
+#: misc/tune2fs.c:3179
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3171
+#: misc/tune2fs.c:3184
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3174
+#: misc/tune2fs.c:3187
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3184
+#: misc/tune2fs.c:3197
 #, c-format
 msgid ""
 "\n"
 "Sparse superblock flag set.  %s"
 msgstr ""
 
-#: misc/tune2fs.c:3189
+#: misc/tune2fs.c:3202
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3197
+#: misc/tune2fs.c:3210
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr ""
 
-#: misc/tune2fs.c:3203
+#: misc/tune2fs.c:3216
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3235
+#: misc/tune2fs.c:3248
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr ""
 
-#: misc/tune2fs.c:3253
+#: misc/tune2fs.c:3267
 msgid ""
 "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3270
+#: misc/tune2fs.c:3284
 msgid ""
 "Cannot change the UUID of this filesystem because it has the stable_inodes "
 "feature flag.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3280
+#: misc/tune2fs.c:3294
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:3297
+#: misc/tune2fs.c:3311
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3300
+#: misc/tune2fs.c:3314
 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:3331
+#: misc/tune2fs.c:3345
 msgid "Invalid UUID format\n"
 msgstr ""
 
-#: misc/tune2fs.c:3347
+#: misc/tune2fs.c:3361
 msgid "Need to update journal superblock.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3369
+#: misc/tune2fs.c:3383
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3376
+#: misc/tune2fs.c:3390
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3394
+#: misc/tune2fs.c:3408
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3398
+#: misc/tune2fs.c:3412
 msgid "Failed to change inode size\n"
 msgstr ""
 
-#: misc/tune2fs.c:3412
+#: misc/tune2fs.c:3432
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3417
+#: misc/tune2fs.c:3437
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3424
+#: misc/tune2fs.c:3444
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr ""
 
-#: misc/util.c:101
+#: misc/util.c:107
 msgid "<proceeding>\n"
 msgstr ""
 
-#: misc/util.c:105
+#: misc/util.c:111
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr ""
 
-#: misc/util.c:109
+#: misc/util.c:115
 msgid "Proceed anyway? (y,N) "
 msgstr ""
 
-#: misc/util.c:136
+#: misc/util.c:142
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr ""
 
-#: misc/util.c:141
+#: misc/util.c:147
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr ""
 
-#: misc/util.c:148
+#: misc/util.c:154
 msgid "mke2fs forced anyway.\n"
 msgstr ""
 
-#: misc/util.c:164
+#: misc/util.c:170
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr ""
 
-#: misc/util.c:189
+#: misc/util.c:195
 #, c-format
 msgid ""
 "\n"
 "Could not find journal device matching %s\n"
 msgstr ""
 
-#: misc/util.c:224
+#: misc/util.c:230
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -6790,13 +6826,13 @@
 "\n"
 msgstr ""
 
-#: misc/util.c:267
+#: misc/util.c:273
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
 msgstr ""
 
-#: misc/util.c:284
+#: misc/util.c:290
 #, c-format
 msgid ""
 "\n"
@@ -6804,13 +6840,13 @@
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 
-#: misc/util.c:292
+#: misc/util.c:298
 msgid ""
 "\n"
 "Total journal size too big for filesystem.\n"
 msgstr ""
 
-#: misc/util.c:305
+#: misc/util.c:311
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -6950,11 +6986,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr ""
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr ""
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr ""
@@ -7004,51 +7040,51 @@
 "\n"
 msgstr ""
 
-#: resize/main.c:368
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr ""
 
-#: resize/main.c:376
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr ""
 
-#: resize/main.c:453
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:472
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr ""
 
-#: resize/main.c:509
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr ""
 
-#: resize/main.c:528
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr ""
 
-#: resize/main.c:541
+#: resize/main.c:560
 msgid "New size results in too many block group descriptors.\n"
 msgstr ""
 
-#: resize/main.c:548
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr ""
 
-#: resize/main.c:555
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr ""
 
-#: resize/main.c:579
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7056,89 +7092,89 @@
 "\n"
 msgstr ""
 
-#: resize/main.c:586
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr ""
 
-#: resize/main.c:590
+#: resize/main.c:609
 #, c-format
 msgid ""
 "Cannot change the 64bit feature on a filesystem that is larger than 2^32 "
 "blocks.\n"
 msgstr ""
 
-#: resize/main.c:596
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr ""
 
-#: resize/main.c:602
+#: resize/main.c:621
 #, c-format
 msgid ""
 "Please enable the extents feature with tune2fs before enabling the 64bit "
 "feature.\n"
 msgstr ""
 
-#: resize/main.c:608
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:616
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr ""
 
-#: resize/main.c:621
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr ""
 
-#: resize/main.c:626
+#: resize/main.c:649
 #, c-format
 msgid ""
 "Cannot shrink this filesystem because it has the stable_inodes feature "
 "flag.\n"
 msgstr ""
 
-#: resize/main.c:635
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr ""
 
-#: resize/main.c:637
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr ""
 
-#: resize/main.c:639
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr ""
 
-#: resize/main.c:649
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr ""
 
-#: resize/main.c:652
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
 "after the aborted resize operation.\n"
 msgstr ""
 
-#: resize/main.c:658
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:673
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr ""
@@ -7211,37 +7247,37 @@
 "this system.\n"
 msgstr ""
 
-#: resize/resize2fs.c:760
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr ""
 
-#: resize/resize2fs.c:1039
+#: resize/resize2fs.c:1126
 msgid "reserved blocks"
 msgstr ""
 
-#: resize/resize2fs.c:1284
+#: resize/resize2fs.c:1373
 msgid "meta-data blocks"
 msgstr ""
 
-#: resize/resize2fs.c:1388 resize/resize2fs.c:2430
+#: resize/resize2fs.c:1477 resize/resize2fs.c:2521
 msgid "new meta blocks"
 msgstr ""
 
-#: resize/resize2fs.c:2654
+#: resize/resize2fs.c:2745
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr ""
 
-#: resize/resize2fs.c:2659
+#: resize/resize2fs.c:2750
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr ""
 
-#: resize/resize2fs.c:2732
+#: resize/resize2fs.c:2823
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.46.2"
+msgid "EXT2FS Library version 1.46.6"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:12
@@ -7964,6 +8000,14 @@
 msgid "The internal ext2_filsys data structure appears to be corrupted"
 msgstr ""
 
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr ""
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr ""
@@ -8113,16 +8157,6 @@
 msgid "Found a %s partition table in %s\n"
 msgstr ""
 
-#: lib/support/plausible.c:187
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr ""
-
-#: lib/support/plausible.c:195
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr ""
-
 #: lib/support/plausible.c:198
 #, c-format
 msgid "Could not open %s: %s\n"
diff --git a/po/es.po b/po/es.po
index 5e3a330..48dfd61 100644
--- a/po/es.po
+++ b/po/es.po
@@ -4,7 +4,7 @@
 #
 # Max de Mendizábal <max@upn.mx>, 2003, 2005.
 # Benno Schulenberg <benno@vertaalt.nl>, 2008, 2014.
-# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015, 2016, 2017, 2018, 2019, 2021.
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015, 2016, 2017, 2018, 2019, 2021, 2022.
 #
 # Comienzo de un vocabulario (lista de palabras usadas aquí):
 # block --> bloque
@@ -95,10 +95,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs-1.46.0\n"
+"Project-Id-Version: e2fsprogs-1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-01-28 13:42-0500\n"
-"PO-Revision-Date: 2021-02-20 12:02+0100\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-25 13:42+0200\n"
 "Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
 "Language-Team: Spanish <es@tp.org.es>\n"
 "Language: es\n"
@@ -115,7 +115,7 @@
 # ¿Qué tal "se descarta"? Me gustaría saber si hay algún glosario de
 # frases para traducir programas GNU, son cosas que deberían ser
 # estándar. mm
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "El bloque dañado %u está fuera del intervalo; se descarta.\n"
@@ -135,32 +135,32 @@
 msgid "while reading the bad blocks inode"
 msgstr "mientras se leía el nodo-i de bloques dañados"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:692 misc/dumpe2fs.c:696 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2881 misc/tune2fs.c:2980 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "mientras se intentaba abrir %s"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "mientras se intentaba abrir la tubería '%s'"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "mientras se leía una lista de bloques dañados desde un fichero"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "mientras se actualizaba el nodo-i de bloques dañados"
 
 # Solemos traducir Warning por Atención. sv
 # Ok, uniformizo. mm
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Atención: se encontró un bloque no válido %u en el nodo-i de bloques dañados. Limpiado.\n"
@@ -239,40 +239,7 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "¡No está implementado el control de entrada/salida BLKFLSBUF! No se pueden vaciar los búfers.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Modo de empleo: %s [-F] [-I bloques_del_búfer_del_nodo_i] dispositivo\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "mientras se abría %s para su vaciado"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:385
-#, c-format
-msgid "while trying to flush %s"
-msgstr "mientras se intentaba vaciar %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "mientras se intentaba abrir '%s'"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "mientras se iniciaba la exploración de los nodos-i"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "mientras se obtenía el nodo-i siguiente"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "%u nodos-i explorados.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "leyendo el superbloque del fichero de transacciones\n"
 
@@ -281,27 +248,32 @@
 # que es distinto (a lo mejor no se ha encontrado ningún superbloque
 # en absoluto). Creo que la traducción debería cambiarse. sv
 # En efecto, tienes toda la razón. Corregido. mm
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: no se ha encontrado un superbloque válido en el fichero de transacciones\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: el fichero de transacciones es demasiado corto\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3787
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: bloques de commit rápido incorrectos\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: recuperando el fichero de transacciones\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: no se puede hacer la recuperación del fichero de transacciones en modo de sólo lectura\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "mientras se intentaba reabrir %s"
@@ -312,7 +284,7 @@
 
 #: e2fsck/message.c:117
 msgid "Aerror allocating"
-msgstr "Aerror en la reserva"
+msgstr "Aerror al asignar"
 
 #: e2fsck/message.c:118
 msgid "bblock"
@@ -470,56 +442,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<Se ha reservado el nodo-i 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "fichero normal"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "directorio"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "dispositivo de caracteres"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "dispositivo de bloque"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "tubería con nombre"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "enlace simbólico"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "«socket»"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "tipo de fichero desconocido con modo 0%o"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "bloque indirecto"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "bloque doblemente indirecto"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "bloque triplemente indirecto"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "bloque de traducción"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "bloque #"
 
@@ -539,117 +511,125 @@
 msgid "unknown quota type"
 msgstr "tipo de cuota desconocido"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "mapa de nodos-i reclamados en múltiples ocasiones"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "error interno: no se ha encontrado el dup_blk para %llu\n"
 
-#: e2fsck/pass1b.c:956
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "regresado del clone_file_block"
 
-#: e2fsck/pass1b.c:980
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "Error interno: no se puede encontrar el registro de bloque EA para %llu"
 
-#: e2fsck/pass1b.c:992
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "Error interno: no se puede encontrar el registro de bloque EA %u"
 
-#: e2fsck/pass1.c:358
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "mientras se hace «hash» de la entrada con e_value_inum = %u"
 
-#: e2fsck/pass1.c:776 e2fsck/pass2.c:1018
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr "leyendo bloque de directorio"
 
-#: e2fsck/pass1.c:1175
+#: e2fsck/pass1.c:1169
 msgid "getting next inode from scan"
 msgstr "obteniendo el siguiente nodo-i para examinar"
 
-#: e2fsck/pass1.c:1227
+#: e2fsck/pass1.c:1221
 msgid "in-use inode map"
 msgstr "mapa de nodos-i usados"
 
-#: e2fsck/pass1.c:1238
+#: e2fsck/pass1.c:1232
 msgid "directory inode map"
 msgstr "mapa de nodos-i de directorio"
 
-#: e2fsck/pass1.c:1248
+#: e2fsck/pass1.c:1242
 msgid "regular file inode map"
 msgstr "mapa de nodos-i de ficheros normales"
 
-#: e2fsck/pass1.c:1257 misc/e2image.c:1282
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
 msgid "in-use block map"
 msgstr "mapa de bloques usados"
 
-#: e2fsck/pass1.c:1266
+#: e2fsck/pass1.c:1260
 msgid "metadata block map"
 msgstr "mapa de bloques de metadatos"
 
-#: e2fsck/pass1.c:1328
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "mapa de casefold de nodos-i"
+
+#: e2fsck/pass1.c:1336
 msgid "opening inode scan"
 msgstr "iniciando la exploración de los nodos-i"
 
-#: e2fsck/pass1.c:2083
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
 msgstr "Paso 1"
 
-#: e2fsck/pass1.c:2144
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "leyendo bloques indirectos del nodo-i %u"
 
-#: e2fsck/pass1.c:2195
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
 msgstr "mapa de nodos-i dañados"
 
-#: e2fsck/pass1.c:2253
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
 msgstr "el nodo-i está en el mapa de bloques dañados"
 
-#: e2fsck/pass1.c:2273
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
 msgstr "mapa de nodos-i con 'imagic'"
 
-#: e2fsck/pass1.c:2304
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr "mapa de bloques reclamados en múltiples ocasiones"
 
-#: e2fsck/pass1.c:2429
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "mapa de bloques de atributos extendidos"
 
-#: e2fsck/pass1.c:3685
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): se esperaba %6lu, pero se han obtenido bloques físicos %6lu (número de bloques %lld)\n"
 
-#: e2fsck/pass1.c:4105
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "mapa de bits de bloques"
 
-#: e2fsck/pass1.c:4111
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "mapa de bits de nodos-i"
 
-#: e2fsck/pass1.c:4117
+#: e2fsck/pass1.c:4162
 msgid "inode table"
 msgstr "tabla de nodos-i"
 
-#: e2fsck/pass2.c:312
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr "Paso 2"
 
-#: e2fsck/pass2.c:1091 e2fsck/pass2.c:1266
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "El NLS está roto."
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "No se puede continuar."
 
@@ -665,7 +645,7 @@
 msgid "Pass 3"
 msgstr "Paso 3"
 
-#: e2fsck/pass3.c:350
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr "mapa de bits de detección de bucles de nodos-i"
 
@@ -1573,13 +1553,13 @@
 #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n
 #: e2fsck/problem.c:694
 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n"
-msgstr "@A %N, es contigua a los @bs en el @b del @g %g para %s: %m\n"
+msgstr "@A %N @b(s) contiguos en el @g de @b %g para %s: %m\n"
 
 #. @-expanded: error allocating block buffer for relocating %s\n
 #: e2fsck/problem.c:700
 #, no-c-format
 msgid "@A @b buffer for relocating %s\n"
-msgstr "@A del búfer del @b para reubicar %s\n"
+msgstr "@A búfer de @b para reubicar %s\n"
 
 #. @-expanded: Relocating group %g's %s from %b to %c...\n
 #: e2fsck/problem.c:705
@@ -1603,27 +1583,27 @@
 msgstr "Atención: no se puede escribir el @b %b para %s: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:726 e2fsck/problem.c:1898
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
-msgstr "Hay un @A del @B del @i (%N): %m\n"
+msgstr "@A de @B de @i (%N): %m\n"
 
 #. @-expanded: error allocating block bitmap (%N): %m\n
 #: e2fsck/problem.c:731
 msgid "@A @b @B (%N): %m\n"
-msgstr "Hay un @A del @b del @B (%N): %m\n"
+msgstr "@A @b de @B (%N): %m\n"
 
 #. @-expanded: error allocating icount link information: %m\n
 #: e2fsck/problem.c:737
 #, no-c-format
 msgid "@A icount link information: %m\n"
-msgstr "@A en la cuenta-i de la información del enlace: %m\n"
+msgstr "@A la información del enlace de la cuenta-i: %m\n"
 
 # array -> matriz
 #. @-expanded: error allocating directory block array: %m\n
 #: e2fsck/problem.c:743
 #, no-c-format
 msgid "@A @d @b array: %m\n"
-msgstr "@A del arreglo del @b de @ds: %m\n"
+msgstr "@A matriz de @b de @d: %m\n"
 
 #. @-expanded: Error while scanning inodes (%i): %m\n
 #: e2fsck/problem.c:749
@@ -1702,7 +1682,7 @@
 #. @-expanded: error allocating refcount structure (%N): %m\n
 #: e2fsck/problem.c:826
 msgid "@A refcount structure (%N): %m\n"
-msgstr "@A de la estructura refcount (%N): %m\n"
+msgstr "@A la estructura refcount (%N): %m\n"
 
 #. @-expanded: Error reading extended attribute block %b for inode %i.  
 #: e2fsck/problem.c:831
@@ -1737,7 +1717,7 @@
 #. @-expanded: error allocating extended attribute region allocation structure.  
 #: e2fsck/problem.c:861
 msgid "@A @a region allocation structure.  "
-msgstr "@A de la estructura de reserva de región de @a.  "
+msgstr "@A la estructura de asignación de región de @a.  "
 
 #. @-expanded: extended attribute block %b is corrupt (allocation collision).  
 #: e2fsck/problem.c:866
@@ -2109,7 +2089,7 @@
 #. @-expanded: error allocating extent region allocation structure.  
 #: e2fsck/problem.c:1194
 msgid "@A @x region allocation structure.  "
-msgstr "Error asignando estructura de reserva de la región de @x.  "
+msgstr "@A estructura de asignación de la región de @x.  "
 
 #. @-expanded: inode %i has a duplicate extent mapping\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
@@ -2121,10 +2101,10 @@
 "El @i %i tiene una asociación de @z duplicada\n"
 "\t(@b lógico %c, @b físico @n %b, longitud %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
 #: e2fsck/problem.c:1204
-msgid "@A memory for encrypted @d list\n"
-msgstr "@A memoria para la lista de @d cifrados\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "@A %N bytes de memoria para la lista de @i cifrados\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
 #: e2fsck/problem.c:1209
@@ -2169,15 +2149,21 @@
 "EA @i %N para el padre @i %i no tiene el indicador EA_INODE.\n"
 " "
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "El @i %i tiene un @x marcado como no inicializado en el @b %c (longitud %N).  "
+
 #. @-expanded: inode %i has the casefold flag set but is not a directory.  
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1254
 #, c-format
 msgid "@i %i has the casefold flag set but is not a directory.  "
 msgstr "@i %i tiene puesta la bandera casefold pero no es un directorio.  "
 
 #. @-expanded: directory %p has the casefold flag, but the\n
 #. @-expanded: casefold feature is not enabled.  
-#: e2fsck/problem.c:1253
+#: e2fsck/problem.c:1259
 #, c-format
 msgid ""
 "@d %p has the casefold flag, but the\n"
@@ -2186,13 +2172,26 @@
 "@d %p tiene puesta la bandera casefold, pero\n"
 "la característica casefold no está activada.  "
 
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "@i %i tiene puesta la bandera de cifrado pero no tiene @a de cifrado.\n"
+
+# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "El @i %i cifrado tiene @a de cifrado corrupto.\n"
+
 #. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
-#: e2fsck/problem.c:1258
+#: e2fsck/problem.c:1274
 msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
 msgstr "@h %i utiliza la versión de hash (%N), pero debería utilizar SipHash (6) \n"
 
 #. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
-#: e2fsck/problem.c:1263
+#: e2fsck/problem.c:1279
 #, c-format
 msgid "@h %i uses SipHash, but should not.  "
 msgstr "@h %i utiliza SipHash, pero no debería.  "
@@ -2200,7 +2199,7 @@
 #. @-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
-#: e2fsck/problem.c:1270
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2211,46 +2210,46 @@
 "Paso 1B: Se vuelven a explorar para los @bs reclamados en múltiples ocasiones\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "Bloque(s) reclamado(s) en múltiples ocasiones en @i %i:"
 
-#: e2fsck/problem.c:1293
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Error mientras se exploraban los nodos-i (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1299
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
-msgstr "@A del @B del @i (@i_dup_map): %m\n"
+msgstr "@A @B de @i (@i_dup_map): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1305
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Error mientras se iteraba sobre los @bs en el @i %i (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1310 e2fsck/problem.c:1685
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Error al ajustar la cuenta de referencia para el @b del @a %b (@i %i): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Paso 1C: Explorando los directorios para buscar nodos-i con @bs reclamados en múltiples ocasiones\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1326
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Paso 1D: Reconciliando los @bs reclamados en múltiples ocasiones\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1331
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2259,18 +2258,18 @@
 "  tiene %r @b(s) reclamado(s) en múltiples ocasiones, compartido(s) con %N fichero(s):\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1337
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (@i #%i, fecha de modificación %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1342
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<metadatos del @f>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1347
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2280,357 +2279,362 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1352
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
 msgstr "Los @bs reclamados en múltiples ocasiones ya se reasignaron o se clonaron.\n"
 
-#: e2fsck/problem.c:1366
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "No se puede clonar el fichero: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1372
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Paso 1E: Optimizando los árboles @x\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1378
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Fallo al optimizar el árbol @x %p (%i): %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1383
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Optimizando los árboles @x: "
 
-#: e2fsck/problem.c:1398
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Error interno: máxima profundidad de árbol «extent» demasiado grande (%b; esperada=%c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1403
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "El árbol @x del @i %i (nivel %b) podría ser más corto.  "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1408
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "El árbol @x del @i %i (nivel %b) podría ser más estrecho.  "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1415
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Paso 2: Verificando la estructura de @ds\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1421
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "Número @n del @i para '.' en el @i del @d %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1426
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "@E tiene un @i @n #: %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1431
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "@E tiene un @i %Di @D/no utilizado.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1436
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "@E @L a '.'  "
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1441
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "@E apunta al @i (%Di) ubicado en un @b dañado.\n"
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "@E @L al @d %P (%Di).\n"
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "@E @L al @r.\n"
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "@E contiene caracteres no válidos en el nombre.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1462
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "Falta '.' en el @d @i %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1468
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "Falta '..' en el @i del @d %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1473
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "La primera @e '%Dn' (@i=%Di) en el @i del @d %i (%p) @s '.'\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1478
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "La segunda @e '%Dn' (@i=%Di) en el @i del @d %i @s '..'\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1483
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "El i_faddr @F %IF, @s cero.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1488
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "El i_file_acl @F %If, @s cero.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1493
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "El i_size @F %Id, @s cero.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1498
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "El i_frag @F %N, @s cero.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1503
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "El i_fsize @F %N, @s cero.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1508
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "El @i %i (%Q) tiene un modo @n (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "El @i del @d %i, %B, desplazamiento %N: el @d está dañado\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "El @i del @d %i, %B, desplazamiento %N: el nombre del fichero es muy largo\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "El @i %i del @d tiene un %B que no está reservado.  "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1529
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "La @e del @d '.' en el @i del @d %i no termina con NULL\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1535
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "La @e del @d '..' en el @i %i del @d no termina con NULL\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1540
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "El @i %i (%Q) es un @v de carácter @I.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1545
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "El @i %i (%Q) es un @v de @b @I.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "La @E está duplicada en la @e '.'.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1555
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "La @E está duplicada en la @e '..'.\n"
 
-#: e2fsck/problem.c:1561 e2fsck/problem.c:1925
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Error interno: no se puede encontrar el dir_info para %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "La @E tiene un rec_len de %Dr y @s %N.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
-msgstr "@A de la estructura icount: %m\n"
+msgstr "@A estructura icount: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Error al iterar sobre los @bs del @d: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1583
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Error al leer el @b %b del @d (@i %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1588
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Error al escribir el @b %b del @d (@i %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
-msgstr "@A del @b del @d para el @i %i (%s): %m\n"
+msgstr "@A nuevo @b de @d para el @i %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1600
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Error al liberar el @i %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1606
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "La @e del @d para '.' en %p (%i) es grande.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1611
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "El @i %i (%Q) es un FIFO @I.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1616
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "El @i %i (%Q) es un «socket» @I.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1621
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Se pone el tipo de fichero para la @E a %N.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1626
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "La @E tiene un tipo de fichero incorrecto (era %Dt y @s %N).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1631
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "La @E tiene puesto el tipo de fichero.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1636
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "La @E tiene un nombre de @z.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1641
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "El enlace simbólico %Q (@i #%i) es @n.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1646
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "El @b del @a @F es @n (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1651
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr "El @f contiene ficheros grandes, pero no tiene la bandera LARGE_FILE en el @S.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1656
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "Hay un @p el @h %d: %B no ha sido referenciado\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1661
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "Hay un @p el @h %d: %B ha sido referenciado dos veces\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1666
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "Hay un @en el @h %d: %B tiene un hash mínimo incorrecto\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1671
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "Hay un @p el @h %d: %B tiene un hash máximo incorrecto\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1676
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "El @h %d es @n (%q).  "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "El @f tiene directorios grandes, pero no tiene la bandera LARGE_DIR en el @S.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1680
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "Hay un @p el @h %d (%q): el número del @b %b es incorrecto.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1691
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "Hay un @p el @h %d: el nodo raíz es @n.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1696
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "Hay un @p el @h %d: %B tiene un límite @n (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1701
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "Hay un @p el @h %d: %B tiene una cuenta @n (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1706
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "Hay un @p el @h %d: %B tiene una tabla de hash no ordenada\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1711
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "Hay un @p el @h %d: %B tiene una profundidad que no es válida (%N)\n"
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1716
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "@E está duplicada.  "
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1721
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2642,7 +2646,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1726
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2653,164 +2657,180 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1731
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "El i_blocks_hi @F %N, @s cero.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1736
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "@b inesperado en el @h %d (%q).\n"
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "@E hace referencia al @i %Di del @g %g en el que _INODE_UNINIT está puesto.\n"
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "@E hace referencia al @i %Di encontrado en la zona de nodos-i no utilizados del @g %g.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "El i_file_acl @F %N, @s cero.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1757
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "Hay un @p el @h %d: falla la suma de comprobación del nodo raíz.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1763
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "Hay un @p el @h %d: falla el «checksum» del nodo interno.\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1768
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "El @i de @d %i, %B, desplazamiento %N: el @d no tiene «checksum».\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1773
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "el @i de @d %i, %B: el @d pasa las comprobaciones pero falla el «checksum».\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1778
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "El tamaño (%N) del @i de @d en línea %i debe ser múltiplo de 4.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Fallo al reparar el tamaño del @i de @d en línea %i.\n"
 
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1789
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "@E cifrada es demasiado corta.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "@E cifrada hace referencia al @i no cifrado %Di.\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "@E cifrada hace referencia al @i %Di, el cual difiere en la política de cifrado.\n"
+
+# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "@E tiene caracteres UTF-8 no válidos en el nombre.\n"
+
 # '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
 #. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1794
+#: e2fsck/problem.c:1831
 msgid "Duplicate filename @E found.  "
 msgstr "Nombre de fichero @E duplicado.  "
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1801
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Paso 3: Revisando la conectividad de directorios\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "El @r no ha sido reservado.  "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1811
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "No hay espacio en el @d @l.  "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1817
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "El @d del @i %i (%p) está desconectado\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "El @d del @i %i está desconectado (estaba en %q)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1822
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "No se encontró /@l.  "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1827
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "'..' en %Q (%i) es %P (%j) y debería ser %q (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1833
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "El /@l no existe o está dañado.  No se puede reconectar.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1839
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "No se puede expandir /@l: %m\n"
 
-#: e2fsck/problem.c:1845
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "No se puede reconectar %i: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1851
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Error mientras se intentaba encontrar /@l: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1857
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_block: %m mientras se intentaba crear el @d /@l.\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1863
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_inode: %m cuando se intentaba crear el @d /@l.\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1869
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_block: %m mientras se creaba un nuevo @b de @d.\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1875
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_block: %m mientras se escribía el @b de @d para /@l\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1881
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Error mientras se ajustaba la cuenta del @i en el @i %i\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1887
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2824,7 +2844,7 @@
 # Hay alguna regla que se me escape? mm
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2834,42 +2854,42 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Error al crear el @d raíz (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1910
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Error al crear el @d /@l (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1915
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "El @r no es un @d; se finaliza la operación.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1920
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "No se puede proceder sin un @r.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/@l no es un @d (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1936
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/@l tiene datos en línea\n"
 
 # Parece que habría que redactarlo como una orden: Coloque los ficheros perdidos en el directorio raíz
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1941
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2880,7 +2900,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1946
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2890,52 +2910,58 @@
 "Saque datos fuera del @f y ejecute otra vez e2fsck.\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1951
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/@l está cifrado\n"
 
-#: e2fsck/problem.c:1958
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "Bucle recursivo @d del @i %i (%p)\n"
+
+#: e2fsck/problem.c:2002
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Paso 3A: Optimizando directorios\n"
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Fallo al crear el iterador dirs_to_hash: %m\n"
 
-#: e2fsck/problem.c:1969
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Fallo al optimizar el directorio %q (%d): %m\n"
 
-#: e2fsck/problem.c:1974
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Optimizando directorios: "
 
-#: e2fsck/problem.c:1991
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Paso 4: Revisando las cuentas de referencia\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "@i %i que tiene @z está @u.  "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:2003
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "el @i %i está @u\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:2008
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "La cuenta de referencia del @i %i es %Il, y @s %N.  "
 
 #. @-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
-#: e2fsck/problem.c:2012
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2946,151 +2972,151 @@
 "inode_link_info[%i] es %N, inode.i_links_count es %Il.  ¡Y deberían ser el mismo!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "La cuenta de referencia del @a @i %i es %N, y @s %n. "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:2024
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "El @d excede el número máximo de enlaces, pero no hay característica DIR_NLINK en el @S.\n"
 
 #. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
-#: e2fsck/problem.c:2029
+#: e2fsck/problem.c:2073
 msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
 msgstr "La cuenta de referencia del @d @i %i está puesta a desbordamiento pero podría ser el valor exacto %N.  "
 
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2036
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Paso 5: Revisando el resumen de información de grupos\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr "No está puesto el relleno al final del @B del @i. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2046
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
 msgstr "No está puesto el relleno al final del @B del @b. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2051
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "Diferencias del @B del @b: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "Diferencias del @B del @i: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2095
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "La cuenta de nodos-i libres es incorrecta para el @g #%g (%i, contados=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "La cuenta de directorios es incorrecta para @g #%g (%i, contados=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2105
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "La cuenta de nodos-i libres es incorrecta (%i, contados=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2110
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "La cuenta de @bs libres es incorrecta para el @g #%g (%b, contados=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2115
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "La cuenta de @bs libres es incorrecta (%b, contados=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2120
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr "ERROR DE PROGRAMACIÓN: los puntos finales del %B (%b, %c) del @f (#%N) no coinciden con los puntos finales del @B calculados (%i, %j)\n"
 
-#: e2fsck/problem.c:2126
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Error interno: el final del bitmap (%N) no tiene sentido\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2132
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Error al copiar el reemplazo del @i @B: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2138
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Error al copiar el reemplazo del @b @B: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2168
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "El(los) @b(s) del @g %g está(n) en uso, pero el grupo está etiquetado como BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2174
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "El(los) nodo(s)-i del @g %g está(n) en uso, pero el grupo está etiquetado como INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2180
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "El @B del @i del @g %g no concuerda con el «checksum».\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2186
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "El @B del @b del @g %g no concuerda con el «checksum».\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2193
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "Vuelva a crear el @j"
 
-#: e2fsck/problem.c:2198
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "Actualizar la información de cuota para el tipo de cuota %N"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2204
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Error al poner la información de «checksum» del grupo de bloques: %m\n"
 
-#: e2fsck/problem.c:2210
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Error al escribir la información del sistema de ficheros: %m\n"
 
-#: e2fsck/problem.c:2216
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Error al hacer efectivas las escrituras en el dispositivo de almacenamiento: %m\n"
 
-#: e2fsck/problem.c:2221
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Error al escribir la información de cuota para el tipo de cuota %N: %m\n"
 
-#: e2fsck/problem.c:2384
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "¡Código de error no previsto (0x%x)!\n"
 
-#: e2fsck/problem.c:2514 e2fsck/problem.c:2518
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "SE IGNORA"
 
@@ -3108,6 +3134,10 @@
 msgid "size of inode=%d\n"
 msgstr "tamaño del nodo-i=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "mientras se iniciaba la exploración de los nodos-i"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "mientras se comenzaban a explorar los nodos-i"
@@ -3126,15 +3156,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "mientras se llamaba a ext2fs_adjust_ea_refcount2 para el nodo-i %u"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "Truncando"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Borrando"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3146,7 +3176,7 @@
 "\t\t[-E opciones_extendidas] [-z fichero_de_deshacer] dispositivo\n"
 
 # La coma tras 'fuerza la revisión' me parece que es peor
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3169,7 +3199,7 @@
 # Por coherencia con el mensaje del modo de empleo:
 # fichero-de-transacciones-externo -> fichero_de_transacciones_externo
 # tamañodelbloque -> tamaño_del_bloque
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3192,12 +3222,12 @@
 " -z fichero_de_deshacer\n"
 "                      Crea un fichero de deshacer\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %u/%u ficheros (%0d.%d%% no contiguos), %llu/%llu bloques\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3212,51 +3242,51 @@
 "\n"
 "%12u nodos-i utilizados (el %2.2f%% de %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
 msgstr[0] "%12u fichero no contiguo (%0d.%d%%)\n"
 msgstr[1] "%12u ficheros no contiguos (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
 msgstr[0] "%12u directorio no contiguo (%0d.%d%%)\n"
 msgstr[1] "%12u directorios no contiguos (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             número de nodos-i con bloques ind/dind/tind: %u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr "             Histograma de las profundidades de «extents»: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] "%12llu bloque usado (el %2.2f%% de %llu)\n"
 msgstr[1] "%12llu bloques usados (el %2.2f%% de %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] "%12u bloque dañado\n"
 msgstr[1] "%12u bloques dañados\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] "%12u fichero grande\n"
 msgstr[1] "%12u ficheros grandes\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3271,96 +3301,96 @@
 "\n"
 "%12u ficheros regulares\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
 msgstr[0] "%12u directorio\n"
 msgstr[1] "%12u directorios\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
 msgstr[0] "%12u dispositivo de caracteres\n"
 msgstr[1] "%12u dispositivos de caracteres\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
 msgstr[0] "%12u dispositivo de bloque\n"
 msgstr[1] "%12u dispositivos de bloque\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] "%12u fifo\n"
 msgstr[1] "%12u fifos\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] "%12u vínculo\n"
 msgstr[1] "%12u vínculos\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] "%12u enlace simbólico"
 msgstr[1] "%12u enlaces simbólicos"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
 msgstr[0] " (%u vínculo simbólico rápido)\n"
 msgstr[1] " (%u vínculos simbólicos rápidos)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
 msgstr[0] "%12u zócalo\n"
 msgstr[1] "%12u zócalos\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] "%12u fichero\n"
 msgstr[1] "%12u ficheros\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3072 misc/util.c:129
-#: resize/main.c:356
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "mientras se determinaba si %s está montado."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "¡Atención!  %s está montado.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "¡Atención!  %s está en uso.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s está montado.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s está en uso.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3368,7 +3398,7 @@
 "No se puede continuar; se finaliza.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3382,86 +3412,86 @@
 "GRAVES daños al sistema de ficheros.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "¿De verdad quiere continuar?"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "revisión interrumpida.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " contiene un sistema de ficheros con errores"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " no fue desmontado limpiamente"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr " las características del superbloque primario difieren de las de la copia de seguridad"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " ha sido montado %u veces sin ser revisado"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " tiene la hora de la última revisión al sistema de ficheros en el futuro"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " ya lleva %u días sin ser revisado"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr "se ignora el intervalo de comprobación, se pone broken_system_clock\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", se fuerza la revisión.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: limpio, %u/%u ficheros, %llu/%llu bloques"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr " (comprobación aplazada: está funcionando con baterías)"
 
 # O "revisión después del siguiente montaje".
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (comprobación en el siguiente montaje)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (comprobación después de %ld montajes)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "ERROR: no se puede abrir /dev/null (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Versión de EA no válida.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "Tamaño incorrecto del «buffer» de lectura anticipada.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Opción extendida desconocida: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3472,15 +3502,15 @@
 "Las opciones extendidas deben estar separadas por comas, y pueden tomar un argumento\n"
 "que se ajusta con un signo de igual ('=').  Las opciones extendidas válidas son:\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "\tea_ver=<ea_version (1 o 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "\treadahead_kb=<tamaño de búfer>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3489,55 +3519,65 @@
 "Error de sintaxis en el fichero de configuración de e2fsck (%s, línea #%d)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Error al validar el descriptor de ficheros %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr "Información de consistencia no válida en el descriptor de ficheros"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Sólo se puede especificar una de las opciones -p/-a, -n o -y."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "La opción -t no está implementada en esta versión de e2fsck.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1721 misc/tune2fs.c:2016 misc/tune2fs.c:2034
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "No es posible resolver '%s'"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr "Las opciones -n y -D se excluyen mutuamente."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr "Las opciones -n y -c se excluyen mutuamente."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr "Las opciones -n y -l/-L se excluyen mutuamente."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Las opciones -D y -E fixes_only se excluyen mutuamente."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Las opciones -E bmap2extent y -D fixes_only se excluyen mutuamente."
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "mientras se abría %s para su vaciado"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "mientras se intentaba vaciar %s"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "Las opciones -c y -l/-L no pueden ser utilizadas simultáneamente.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3546,7 +3586,7 @@
 "E2FSCK_JBD_DEBUG \"%s\" no es un entero\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3557,16 +3597,16 @@
 "Argumento no numérico inválido para -%c (\"%s\")\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "El intervalo de la protección contra montaje múltiple (MMP) es de %u segundos y el tiempo total de espera es de %u segundos. Por favor, espere...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "mientras se revisaba el bloque MMP"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3575,13 +3615,13 @@
 "Si sabe con certeza que el sistema de ficheros no está en uso en ningún\n"
 "modo, ejecute 'tune2fs -f -E clear_mmp %s'\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "mientras se leía el bloque MMP"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2708 misc/mke2fs.c:2759 misc/tune2fs.c:2798
-#: misc/tune2fs.c:2843 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3592,47 +3632,47 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2748 misc/tune2fs.c:2832
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "mientras se intentaba borrar %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2774 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "mientras se intentaba configurar el fichero de anulación\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "¡Error: la versión de la biblioteca ext2fs está caduca!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "mientras se intentaba inicializar el programa"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\tAl emplear %s, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "se necesita una terminal para hacer las reparaciones interactivas"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s intentando los bloques de respaldo...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "El superbloque es inválido,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Los descriptores del grupo parecen dañados..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: %s mientras se utilizaban los bloques de respaldo"
@@ -3642,12 +3682,12 @@
 # que es distinto (a lo mejor no se ha encontrado ningún superbloque
 # en absoluto). Creo que la traducción debería cambiarse. sv
 # En efecto, tienes toda la razón. Corregido. mm
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: volviendo al superbloque original\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3657,28 +3697,28 @@
 "versión de e2fsck. (O el superbloque del sistema de ficheros está dañado)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "¿Esta podría ser una partición de longitud cero?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Se debe tener acceso %s al sistema de ficheros o ser root\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr "¿Es posible que no exista o que sea un dispositivo de intercambio?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "¿Sistema de ficheros montado o abierto en exclusiva por otro programa?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "¿Es posible que no exista el dispositivo?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3686,77 +3726,77 @@
 "El disco está protegido contra escritura; utilice la opción -n para\n"
 "hacer una revisión de sólo lectura al dispositivo.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: Se intenta cargar el superbloque a pesar de los errores...\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr "¡Consiga una versión más moderna de e2fsck!"
 
-#: e2fsck/unix.c:1748
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "mientras se revisaba el fichero de transacciones para %s"
 
-#: e2fsck/unix.c:1751
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr "No se puede proceder con la comprobación del sistema de ficheros"
 
-#: e2fsck/unix.c:1762
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr "Atención: se omitirá la recuperación del fichero de transacciones debido a que se está haciendo una revisión de sólo lectura del sistema de ficheros.\n"
 
-#: e2fsck/unix.c:1774
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "no es posible poner las banderas de superbloque en %s\n"
 
-#: e2fsck/unix.c:1780
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Se ha encontrado un error en el fichero de transacciones en %s\n"
 
-#: e2fsck/unix.c:1784
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Fichero de transacciones corrupto en %s\n"
 
-#: e2fsck/unix.c:1788
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "mientras se recuperaba el fichero de transacciones de %s"
 
-#: e2fsck/unix.c:1810
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s tiene características no implementadas:"
 
-#: e2fsck/unix.c:1825
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s tiene una codificación no implementada: %0x\n"
 
-#: e2fsck/unix.c:1875
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: %s mientras se leía el nodo-i de los bloques dañados\n"
 
-#: e2fsck/unix.c:1878
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Esto no se ve muy bien, pero se intentará continuar...\n"
 
-#: e2fsck/unix.c:1918
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Creando el fichero de transacciones (%d bloques): "
 
-#: e2fsck/unix.c:1928
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr " Hecho.\n"
 
-#: e2fsck/unix.c:1930
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3764,24 +3804,24 @@
 "\n"
 "*** el fichero de transacciones se ha regenerado ***\n"
 
-#: e2fsck/unix.c:1936
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "finalizado"
 
-#: e2fsck/unix.c:1938
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: se cancela e2fsck.\n"
 
-#: e2fsck/unix.c:1965
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "Se reinicia e2fsck desde el principio...\n"
 
-#: e2fsck/unix.c:1969
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "mientras se reajusta el contexto"
 
-#: e2fsck/unix.c:2028
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
@@ -3790,12 +3830,12 @@
 "\n"
 "%s: ***** ERRORES CORREGIDOS DEL SISTEMA DE FICHEROS *****\n"
 
-#: e2fsck/unix.c:2030
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: El sistema de ficheros se ha modificado.\n"
 
-#: e2fsck/unix.c:2034 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3804,12 +3844,12 @@
 "\n"
 "%s: ***** EL SISTEMA DE FICHEROS FUE MODIFICADO *****\n"
 
-#: e2fsck/unix.c:2039
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** REINICIE EL SISTEMA *****\n"
 
-#: e2fsck/unix.c:2049 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3820,51 +3860,51 @@
 "%s: ********** ATENCIÓN: El sistema de ficheros todavía tiene errores ***********\n"
 "\n"
 
-#: e2fsck/util.c:195 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "sS"
 
-#: e2fsck/util.c:196 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:197
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "tT"
 
-#: e2fsck/util.c:201
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " ('t' aplica 'sí' a todo) "
 
-#: e2fsck/util.c:218
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<s>"
 
-#: e2fsck/util.c:220
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:222
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (s/n)"
 
-#: e2fsck/util.c:245
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "¡cancelado!\n"
 
-#: e2fsck/util.c:278
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "sí a todo\n"
 
-#: e2fsck/util.c:280
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "sí\n"
 
-#: e2fsck/util.c:282
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "no\n"
 
-#: e2fsck/util.c:292
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3873,7 +3913,7 @@
 "¿%s? no\n"
 "\n"
 
-#: e2fsck/util.c:296
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3882,38 +3922,38 @@
 "¿%s? sí\n"
 "\n"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "sí"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "no"
 
-#: e2fsck/util.c:316
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps: bloque(s) no válido(s) de mapas de bits para %s"
 
-#: e2fsck/util.c:321
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "leyendo los mapas de bits del nodo-i y del bloque"
 
-#: e2fsck/util.c:333
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "mientras se intentaban leer los mapas de bits para %s"
 
-#: e2fsck/util.c:345
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "escribiendo los mapas de bits del bloque y del nodo-i"
 
-#: e2fsck/util.c:350
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "mientras se reescribían los mapas de bits de bloques y de nodos-i para %s"
 
-#: e2fsck/util.c:362
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3926,37 +3966,37 @@
 "%s: INCONSISTENCIA INESPERADA; EJECUTE fsck MANUALMENTE.\n"
 "(i.e., sin las opciones -a o -p)\n"
 
-#: e2fsck/util.c:442
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
 msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Memoria utilizada: %lluk/%lluk (%lluk/%lluk), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
 msgid "Memory used: %lluk, "
 msgstr "Memoria utilizada: %lluk, "
 
-#: e2fsck/util.c:454
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "fecha: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:459
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "tiempo transcurrido: %6.3f\n"
 
-#: e2fsck/util.c:494 e2fsck/util.c:508
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "mientras se leía el nodo-i %lu en %s"
 
-#: e2fsck/util.c:522 e2fsck/util.c:535
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "mientras se escribía el nodo-i %lu en %s"
 
-#: e2fsck/util.c:793
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "INCONSISTENCIA INESPERADA: se está modificando el sistema de ficheros mientras fsck está corriendo.\n"
 
@@ -4072,52 +4112,62 @@
 msgid "during test data write, block %lu"
 msgstr "durante la prueba de escritura de datos del bloque %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s está montado; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "los bloques dañados se fuerzan de todas formas.  Se cree que /etc/mtab esté incorrecto.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "¡No es seguro ejecutar los bloques dañados!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s está aparentemente en uso por el sistema; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "los bloques dañados se fuerzan de todas formas.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "%s inválido - %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "El número máximo de bloques dañados es demasiado grande %u - el máximo es %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "no se puede reservar memoria para el patrón_de_prueba - %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "Sólo un máximo de un patrón_de_prueba puede ser especificado en modo sólo lectura"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "El patrón_de_prueba aleatorio no está permitido en modo sólo lectura"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Tamaño de bloque no válido: %d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "bloques_a_la_vez no válido: %d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4125,56 +4175,56 @@
 "No se puede determinar el tamaño del dispositivo; se debe especificar\n"
 "de forma manual\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "mientras se intentaba determinar el tamaño del dispositivo"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "último bloque"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "primer bloque"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "bloque inicial no válido (%llu): debe ser menos que %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "bloque final no válido (%llu): debe ser un valor de 32 bits"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "cuando se creaba la lista de bloques dañados en memoria"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "fichero de entrada - formato incorrecto"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "cuando se añadía a la lista de bloques dañados en memoria"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Paso terminado, se encontraron %u bloques dañados. (%d/%d/%d errores)\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
-msgstr "Modo de empleo: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v versión] ficheros...\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "Modo de empleo: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p proyecto] [-v versión] ficheros...\n"
 
-#: misc/chattr.c:161
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "proyecto incorrecto - %s\n"
 
-#: misc/chattr.c:175
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "versión incorrecta - %s\n"
@@ -4236,8 +4286,8 @@
 msgid "while reading inode %u"
 msgstr "mientras se leía el nodo-i %u"
 
-#: misc/create_inode.c:90 misc/create_inode.c:290 misc/create_inode.c:355
-#: misc/create_inode.c:393
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "mientras se expandía el directorio"
 
@@ -4246,12 +4296,12 @@
 msgid "while linking \"%s\""
 msgstr "mientras se enlazaba \"%s\""
 
-#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:324
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "mientras se escribía el nodo-i %u"
 
-#: misc/create_inode.c:154 misc/create_inode.c:178
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "mientras se listaban los atributos de \"%s\""
@@ -4261,129 +4311,134 @@
 msgid "while opening inode %u"
 msgstr "mientras se abría el nodo-i %u"
 
-#: misc/create_inode.c:171 misc/create_inode.c:198 misc/create_inode.c:1045
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "mientras se leía xattrs para el nodo-i %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "mientras se reservaba memoria"
 
-#: misc/create_inode.c:191 misc/create_inode.c:207
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "mientras se estaban leyendo los atributos \"%s\" de \"%s\""
 
-#: misc/create_inode.c:216
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "mientras se escribía el atributo \"%s\" del nodo-i %u"
 
-#: misc/create_inode.c:226
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "mientras se cerraba el nodo-i %u"
 
-#: misc/create_inode.c:277
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "mientras se reservaba al nodo-i \"%s\""
 
-#: misc/create_inode.c:296
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "mientras se creaba el nodo-i \"%s\""
 
-#: misc/create_inode.c:362
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "mientras se creaba el enlace simbólico \"%s\""
 
-#: misc/create_inode.c:380 misc/create_inode.c:965
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "mientras se buscaba \"%s\""
 
-#: misc/create_inode.c:400
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "mientras se creaba el directorio \"%s\""
 
-#: misc/create_inode.c:629
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "mientras se abría \"%s\" para copiar"
 
-#: misc/create_inode.c:807
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "mientras se cambiaba el directorio de trabajo a \"%s\""
 
-#: misc/create_inode.c:817
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "mientras se exploraba el directorio \"%s\""
 
-#: misc/create_inode.c:827
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "mientras se intentaba lstat con \"%s\""
 
-#: misc/create_inode.c:877
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "mientras se creaba el fichero especial \"%s\""
 
-#: misc/create_inode.c:886
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "fallo de malloc"
 
-#: misc/create_inode.c:894
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "mientras se intentaba leer el enlace \"%s\""
 
-#: misc/create_inode.c:901
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "el tamaño del enlace simbólico ha aumentado entre lstat() y readlink()"
 
-#: misc/create_inode.c:912
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "mientras se escribía el enlace simbólico \"%s\""
 
-#: misc/create_inode.c:923
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "mientras se escribía el fichero \"%s\""
 
-#: misc/create_inode.c:936
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "mientras se creaba el directorio \"%s\""
 
-#: misc/create_inode.c:954
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "mientras se cambiaba de directorio"
 
-#: misc/create_inode.c:960
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "ignorar la entrada \"%s\""
 
-#: misc/create_inode.c:973
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "mientras se estaba poniendo el nodo-i para \"%s\""
 
-#: misc/create_inode.c:980
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "mientras se ponían los xattrs para \"%s\""
 
-#: misc/create_inode.c:1006
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "mientras se guardaban los datos de nodo-i"
 
-#: misc/create_inode.c:1056
+#: misc/create_inode.c:1077
 msgid "while copying xattrs on root directory"
 msgstr "mientras se copiaban xattrs en el directorio raíz"
 
@@ -4507,59 +4562,59 @@
 msgid "while printing bad block list"
 msgstr "mientras se imprimía la lista de bloques dañados"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Bloques dañados: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:375
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "mientras se leía el nodo-i del fichero de transacciones"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr "mientras se abría el nodo-i del fichero de transacciones"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "mientras se leía el superbloque del fichero de transacciones"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "¡El número mágico del superbloque del fichero de transacciones es inválido!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:218
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "mientras se leía el superbloque del fichero de transacciones"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "No se pueden encontrar los números mágicos del superbloque del fichero de transacciones"
 
-#: misc/dumpe2fs.c:470
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr "no se ha podido reservar un búfer MMP\n"
 
-#: misc/dumpe2fs.c:481
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "leyendo el bloque MMP %llu desde '%s'\n"
 
-#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2056
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "¡No se puede reservar memoria para analizar sintácticamente las opciones!\n"
 
-#: misc/dumpe2fs.c:537
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Parámetro de superbloque no válido: %s\n"
 
-#: misc/dumpe2fs.c:552
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Parámetro de tamaño del bloque no válido: %s\n"
 
-#: misc/dumpe2fs.c:563
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4582,27 +4637,27 @@
 "\tsuperblock=<número_del_superbloque>\n"
 "\tblocksize=<tamaño_del_bloque>\n"
 
-#: misc/dumpe2fs.c:653 misc/mke2fs.c:1892
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tSe emplea %s\n"
 
-#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2998
-#: resize/main.c:418
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "No se pudo encontrar un superbloque válido para el sistema de ficheros.\n"
 
-#: misc/dumpe2fs.c:720
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: característica MMP no habilitada.\n"
 
-#: misc/dumpe2fs.c:751
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "mientras se intentaban leer los mapas de bits '%s'\n"
 
-#: misc/dumpe2fs.c:760
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4610,193 +4665,197 @@
 "*** ¡Ejecute e2fsck ahora!\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
 msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
 msgstr "Modo de empleo: %s [ -r|-Q ] [ -f ] [ -b superbloque ] [ -B tamaño_de_bloque ] dispositivo fichero_de_imagen\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "       %s -I dispositivo fichero_de_imagen\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
 msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr "       %s -ra [ -cfnp ] [ -o desplz_orig ] [ -O desplz_dest ] fs_orig [ fs_dest ]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "mientras se reservaba un búfer"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "Escribiendo el bloque %llu\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr "error al escribir el bloque %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "error en generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Error: el tamaño de la cabecera es mayor que wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr "No se puede reservar el búfer del encabezado\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "mientras se escribía el superbloque"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "mientras se escribía la tabla de nodos-i"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "mientras se escribía el mapa de bits de bloques"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "mientras se escribía el mapa de bits de nodos-i"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Bloque de directorio corrupto %llu: rec_len incorrecto (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Bloque de directorio corrupto %llu: name_len incorrecto (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu / %llu bloques (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "Copiando "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr "Parar ahora destruirá el sistema de ficheros; interrumpa otra vez si está seguro\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " %s restante a %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr "error al leer el bloque %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Copiados %llu / %llu bloques (%d%%) in %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "a %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr "mientras se reservaba una tabla l1"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr "mientras se reservaba una caché l2"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 "Atención: Todavía hay tablas en la caché mientras esta se está poniendo:  se perderán datos, por lo que la imagen podría no ser válida.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr "mientras se reservaba ext2_qcow2_image"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr "mientras se inicializaba ext2_qcow2_image"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Error de programación: ¡se han creado múltiples bloques con cuenta de referencia secuencial!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr "mientras se reservaba el mapa de bits de bloques"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr "mientras se reservaba el mapa de bits de bloques de «scramble»"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr "Explorando nodos-i...\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr "No se puede reservar el búfer de bloque"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "mientras se obtenía el nodo-i siguiente"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "mientras se iteraba sobre el nodo-i %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "No se pueden instalar imágenes en bruto ni qcow2"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "error mientras se leían los mapas de bits"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "mientras se abría el fichero de dispositivo"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr "mientras se restauraba la tabla de la imagen"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "la opción -a solo puede utilizarse con imágenes en bruto o QCOW2."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "la opción -b solo puede utilizarse con imágenes en bruto o QCOW2."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr "Solo se permiten desplazamientos con imágenes en bruto."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr "Solo se permite el modo de movimiento con imágenes en bruto."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr "El modo de movimiento requiere el modo de todos los datos."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "comprobando si está montado"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4808,56 +4867,56 @@
 "como resultado una imagen inconsistente que no servirá para depurar.\n"
 "Utilice la opción -f si realmente desea hacer eso.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "¡La imagen QCOW2 no puede escribirse en la salida estándar!\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr "No puede examinarse la salida\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "La imagen (%s) está comprimida\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "La imagen (%s) está cifrada\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "La imagen (%s) está corrupta\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "mientras se intentaba convertir la imagen qcow2 (%s) a imagen en bruto (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr "La opción -c solo está implementada en el modo en bruto\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "La opción -c no funciona cuando se escribe en la salida estándar\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr "mientras se reservaba check_buf"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr "La opción -p solo está implementada en el modo en bruto\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d bloques ya contenían los datos que había que copiar\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Modo de empleo: %s -r dispositivo\n"
@@ -4882,7 +4941,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: no es un sistema de ficheros ext2\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3203
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Atención: la etiqueta es muy larga, se trunca.\n"
@@ -4897,7 +4956,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: error al escribir el superbloque\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1713
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Modo de empleo: e2label dispositivo [nuevabandera]\n"
@@ -4907,151 +4966,151 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Modo de empleo: %s [-f] [-h] [-n] [-o desplazamiento] [-v] [-z fich_deshacer] <fichero de transacciones> <sistema de ficheros>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "El superbloque del sistema de ficheros no concuerda con el fichero de deshacer.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "El UUID no concuerda.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "La hora del último montaje no concuerda.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "La hora de la última escritura no concuerda.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "El contador de escritura del tiempo de vida no concuerda.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "mientras se leía el superbloque del sistema de ficheros."
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "mientras se obtenía el superbloque"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "El «checksum» del superbloque del fichero de deshacer no concuerda.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "desplazamiento no válido - %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "No se escribirá en un fichero de deshacer mientras se esté reproduciendo.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "mientras se abría el fichero de deshacer `%s'\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "mientras se leía el fichero de deshacer"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: No es un fichero de deshacer.\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: El «checksum» de la cabecera no concuerda.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: Cabecera del fichero de deshacer corrupta.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: Tamaño del bloque de deshacer demasiado grande.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: Tamaño del bloque de deshacer demasiado pequeño.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: El fichero de deshacer tiene puesta una característica desconocida.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Error mientras se determinaba si %s está montado."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo solo debería ejecutarse sobre un sistema de ficheros no montado"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "mientras se abría `%s'"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "el desplazamiento especificado es demasiado grande"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "mientras se leían las claves"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: número mágico de clave incorrecto en %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: error de «checksum» en bloque de clave en %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: el bloque %llu es demasiado largo."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "mientras se obtenía el bloque %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "error de «checksum» en el bloque %llu del sistema de ficheros (deshacer bloque %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "mientras se escribía el bloque %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Fichero de deshacer corrupto; ¡ejecute e2fsck AHORA!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "Error de ES durante la repetición; ¡ejecute e2fsck AHORA!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Registro de deshacer incompleto; ejecute e2fsck.\n"
@@ -5109,17 +5168,17 @@
 "\n"
 "%11Lu: se finaliza con el error número %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "ATENCIÓN: no se puede abrir %s: %s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr "ATENCIÓN: formato incorrecto en la línea %d de %s\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5131,37 +5190,37 @@
 "\tfichero /etc/fstab tan pronto como sea posible.\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck: %s: no se encontró\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr "%s: espera: ¿¡¿No hay más procesos hijos?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr "Atención... %s para el dispositivo %s que finalizó con la señal %d.\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr "%s %s: el estatus es %x, y nunca debió haber sucedido.\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Se finaliza con %s (estado de salida %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr "%s: Error %d mientras se ejecutaba fsck. %s para %s\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
@@ -5169,90 +5228,95 @@
 "Los tipos de sistemas de ficheros pasados con -t deben llevar el prefijo\n"
 "'no' o '!' o todos o ninguno.\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr "No se puede reservar memoria para los tipos de sistema de ficheros\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr "%s: se ignora línea incorrecta en /etc/fstab: montaje «bind» con número de rango fcsk distinto de cero\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr "fsck: no se puede verificar %s: fsck.%s no se encuentra\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "Revisando todos los sistemas de ficheros.\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "--esperando-- (paso %d)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr ""
 "Modo de empleo:  fsck [-AMNPRTV] [ -C [ fd ] ] [-t tipo_de_sf]\n"
 "                      [opciones_de_sf] [sistema_de_ficheros ...]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s: demasiados dispositivos\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: demasiados argumentos\n"
 
-#: misc/fuse2fs.c:3740
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Montando solo para lectura.\n"
 
-#: misc/fuse2fs.c:3764
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: Se permite a los usuarios reservar todos los bloques. ¡Es peligroso!\n"
 
-#: misc/fuse2fs.c:3776 misc/fuse2fs.c:3790
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3098
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Por favor, ejecute 'e2fsck -fy %s'.\n"
 
-#: misc/fuse2fs.c:3799
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: se está montando solo para lectura sin recuperar el fichero de transacciones\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Hay que recuperar el fichero de transacciones; hace falta ejecutar `e2fsck -E journal_only'.\n"
 
-#: misc/fuse2fs.c:3807
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: No está contemplado escribir en el fichero de transacciones.\n"
 
-#: misc/fuse2fs.c:3822
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Atención: se está montando un sistema de ficheros sin comprobar; se recomienda ejecutar e2fsck.\n"
 
-#: misc/fuse2fs.c:3826
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Atención: se ha llegado al número máximo de montajes; se recomienda ejecutar e2fsck.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Atención: se ha llegado al tiempo límite de una comprobación; se recomienda ejecutar e2fsck.\n"
 
-#: misc/fuse2fs.c:3835
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Se han detectado huérfanos; se recomienda ejecutar e2fsck.\n"
 
-#: misc/fuse2fs.c:3839
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Se han detectado errores; es preciso ejecutar e2fsck.\n"
 
@@ -5276,7 +5340,11 @@
 msgid "While reading version on %s"
 msgstr "Mientras se leía la versión en %s"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "No se puede reservar la variable de ruta en lsattr_dir_proc\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5297,35 +5365,35 @@
 "\t[-t tipo-del-sf] [-T tipo-de-uso ] [-U UUID] [-e comportamiento_con_errores][-z fichero_deshacer]\n"
 "\t[-jnqvDFSV] dispositivo [número-de-bloques]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Ejecutando orden: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "mientras se intentaba ejecutar '%s'"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "mientras se procesaba la lista de bloques dañados del programa"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "El bloque %d en el área del descriptor primario del superbloque/grupo está dañado.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "Los bloques del %u al %u deben estar correctos para poder construir un sistema de ficheros.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Finalizando...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5336,19 +5404,19 @@
 "\tcontienen bloques dañados.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "mientras se marcaban los bloques dañados como utilizados"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "mientras se escribían los nodos-i reservados"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Escribiendo las tablas de nodos-i: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5357,76 +5425,80 @@
 "\n"
 "No se pueden escribir %d bloques en la tabla de nodos-i comenzando en %llu: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2821 misc/mke2fs.c:3226
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "hecho                           \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "mientras se creaba el directorio raíz"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "mientras se leía el nodo-i raíz"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "mientras se establecía el dueño del nodo-i raíz"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "mientras se creaba /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "mientras se revisaba /lost+found"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "mientras se expandía /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "mientras se ponía el nodo-i de bloques dañados"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Se agotó la memoria cuando se borraban los sectores %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Atención: no se puede leer el bloque 0: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Atención: no se puede borrar el sector %d: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "mientras se partía el tamaño del fichero de transacciones"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "mientras se inicializaba el superbloque del fichero de transacciones"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Se rellena con ceros el dispositivo del fichero de transacciones: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "mientras se inicializaba con ceros el dispositivo del fichero de transacciones (bloque %llu, cuenta %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "mientras se escribía el superbloque del fichero de transacciones"
 
-#: misc/mke2fs.c:664
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "Se está creando un sistema de ficheros con %llu bloques de %dk y %u nodos-i\n"
 
-#: misc/mke2fs.c:672
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5435,164 +5507,164 @@
 "Atención: hay %llu bloques sin usar.\n"
 "\n"
 
-#: misc/mke2fs.c:675
+#: misc/mke2fs.c:688
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr "Etiqueta del sistema de ficheros=%.*s\n"
 
-#: misc/mke2fs.c:679
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "Tipo de SO: %s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Tamaño del bloque=%u (log=%u)\n"
 
-#: misc/mke2fs.c:684
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Tamaño del «cluster»=%u (log=%u)\n"
 
-#: misc/mke2fs.c:688
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Tamaño del fragmento=%u (log=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "Stride=%u bloques, anchura de stripe=%u bloques\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u nodos-i, %llu bloques\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu bloques (%2.2f%%) reservados para el superusuario\n"
 
-#: misc/mke2fs.c:697
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Primer bloque de datos=%u\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Propietario del directorio raíz=%u:%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Número máximo de bloques del sistema de ficheros=%lu\n"
 
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u grupos de bloques\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u grupo de bloques\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u bloques por grupo, %u «clusters» por grupo\n"
 
-#: misc/mke2fs.c:712
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u bloques por grupo, %u fragmentos por grupo\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u nodos-i por grupo\n"
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "UUID del sistema de ficheros: %s\n"
 
-#: misc/mke2fs.c:724
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Respaldos del superbloque guardados en los bloques: "
 
-#: misc/mke2fs.c:820
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s requiere '-O 64bit'\n"
 
-#: misc/mke2fs.c:826
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "'%s' debe estar antes de 'resize=%u'\n"
 
-#: misc/mke2fs.c:839
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "desc_size no válido: '%s'\n"
 
-#: misc/mke2fs.c:853
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "La semilla «hash» no es válida: %s\n"
 
-#: misc/mke2fs.c:865
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Desplazamiento no válido: %s\n"
 
-#: misc/mke2fs.c:879 misc/tune2fs.c:2084
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "mmp_update_interval no válido: %s\n"
 
-#: misc/mke2fs.c:896
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Número de superbloques de respaldo no válido: %s\n"
 
-#: misc/mke2fs.c:918
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Parámetro de «stride» no válido: %s\n"
 
-#: misc/mke2fs.c:933
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Parámetro stripe-width no válido: %s\n"
 
-#: misc/mke2fs.c:956
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Parámetro de variación de tamaño no válido: %s\n"
 
-#: misc/mke2fs.c:963
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "El máximo de la variación de tamaño debe ser mayor que el tamaño del sistema de ficheros.\n"
 
-#: misc/mke2fs.c:987
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr "El cambio de tamaño en línea no es posible en sistemas de archivos de revisión 0\n"
 
-#: misc/mke2fs.c:1013 misc/mke2fs.c:1022
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "root_owner no válido: '%s'\n"
 
-#: misc/mke2fs.c:1067
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "La codificación no es válida: %s"
 
-#: misc/mke2fs.c:1085
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5645,7 +5717,7 @@
 "\tquotatype=<tipo(s) de cuota para activar>\n"
 "\n"
 
-#: misc/mke2fs.c:1112
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5656,17 +5728,17 @@
 "Atención: El parámetro «stripe-width» de RAID %u no es un múltiplo par del parámetro «stride» %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1123 misc/tune2fs.c:2220
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr "error: Indicador de codificación no válido: %s\n"
 
-#: misc/mke2fs.c:1129 misc/tune2fs.c:2229
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr "error: Debe especificarse explícitamente una codifiación cuando se pasan las banderas de codificación\n"
 
-#: misc/mke2fs.c:1177
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5675,17 +5747,17 @@
 "Error de sintaxis en el fichero de configuración de mke2fs (%s, línea #%d)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1190 misc/tune2fs.c:1072
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Se puso una opción no válida para el sistema de ficheros: %s\n"
 
-#: misc/mke2fs.c:1202 misc/tune2fs.c:419
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Se puso una opción de montaje no válida: %s\n"
 
-#: misc/mke2fs.c:1338
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5694,7 +5766,7 @@
 "\n"
 "El fichero mke2fs.conf no define el tipo de sistema de ficheros %s.\n"
 
-#: misc/mke2fs.c:1342
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5702,11 +5774,11 @@
 "Probablemente sea necesario instalar un fichero mke2fs.conf actualizado.\n"
 "\n"
 
-#: misc/mke2fs.c:1346
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "Interrumpiendo...\n"
 
-#: misc/mke2fs.c:1387
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5717,149 +5789,159 @@
 "Atención: el fs_type %s no está definido en mke2fs.conf\n"
 "\n"
 
-#: misc/mke2fs.c:1574
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "No se puede reservar memoria para la nueva RUTA.\n"
 
-#: misc/mke2fs.c:1611
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "No se puede inicializar correctamente el perfil (error: %ld).\n"
 
-#: misc/mke2fs.c:1644
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "tamaño del bloque inválido - %s"
 
-#: misc/mke2fs.c:1648
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Atención: el tamaño del bloque %d no se puede utilizar en muchos sistemas.\n"
 
-#: misc/mke2fs.c:1664
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "tamaño del «cluster» no válido - %s"
 
-#: misc/mke2fs.c:1677
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "'-R' está en desuso; utilice '-E' en su lugar"
 
-#: misc/mke2fs.c:1691 misc/tune2fs.c:1810
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "comportamiento de errores incorrecto - %s"
 
-#: misc/mke2fs.c:1703
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Número no válido de bloques por grupo"
 
-#: misc/mke2fs.c:1708
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "los bloques por grupo deben ser un múltiplo de 8"
 
-#: misc/mke2fs.c:1716
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Número no válido para el tamaño de flex_bg"
 
-#: misc/mke2fs.c:1722
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "el tamaño de flex_bg debe ser una potencia de 2"
 
-#: misc/mke2fs.c:1727
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "el tamaño de flex_bg (%lu) debe ser menor o igual que 2^31"
 
-#: misc/mke2fs.c:1737
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "proporción de nodos-i inválida %s (min %d/max %d)"
 
-#: misc/mke2fs.c:1747
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "tamaño de los nodos-i inválido - %s"
 
-#: misc/mke2fs.c:1760
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "¡Atención: la opción -K está en desuso y no debería utilizarse nunca más. Utilice la opción extendida '-E nodiscard' en su lugar!\n"
 
-#: misc/mke2fs.c:1771
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "en malloc para fichero_de_bloques_dañados"
 
-#: misc/mke2fs.c:1780
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
 "\n"
 msgstr "Atención: la etiqueta es demasiado larga; se trunca a '%s'\n"
 
-#: misc/mke2fs.c:1789
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "el porcentaje de bloques reservados es inválido - %s"
 
-#: misc/mke2fs.c:1804
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "número de los nodos-i inválido - %s"
 
-#: misc/mke2fs.c:1817
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "mientras se reservaba la cadena de fs_feature"
 
-#: misc/mke2fs.c:1834
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "nivel de revisión incorrecto - %s"
 
-#: misc/mke2fs.c:1839
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "mientras se intentaba crear la revisión %d"
 
-#: misc/mke2fs.c:1853
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "La opción -t solo puede utilizarse una vez"
 
-#: misc/mke2fs.c:1861
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "La opción -T solo puede utilizarse una vez"
 
-#: misc/mke2fs.c:1917 misc/mke2fs.c:3310
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "mientras se intentaba abrir el dispositivo del fichero de transacciones %s\n"
 
-#: misc/mke2fs.c:1923
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr ""
 "El tamaño del bloque del dispositivo del fichero de transacciones (%d) es\n"
 "menor que el tamaño del bloque mínimo %d\n"
 
-#: misc/mke2fs.c:1929
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Utilizando el tamaño de bloque del dispositivo del fichero de transacciones: %d\n"
 
 # The specified number of blocks is invalid.
-#: misc/mke2fs.c:1940
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "bloques no válidos '%s' en el dispositivo '%s'"
 
-#: misc/mke2fs.c:1970
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "sistema de ficheros"
 
-#: misc/mke2fs.c:1988 resize/main.c:499
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "El fichero %s no existe y no se ha especificado ningún tamaño.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Creando el fichero ordinario %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "mientras se intentaba determinar el tamaño del sistema de ficheros"
 
-#: misc/mke2fs.c:1994
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5868,7 +5950,7 @@
 "explícitamente el tamaño del sistema de ficheros\n"
 
 # Se informó que -> Se informó de que
-#: misc/mke2fs.c:2001
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5881,48 +5963,48 @@
 "\tpartición modificada está ocupada o en uso.  Es necesario reiniciar\n"
 "\tpara poder releer la tabla de particiones.\n"
 
-#: misc/mke2fs.c:2018
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "El sistema de ficheros es más grande que el tamaño aparente del dispositivo."
 
-#: misc/mke2fs.c:2038
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "Fallo al analizar sintácticamente la lista de tipos de sf\n"
 
-#: misc/mke2fs.c:2088
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "El HURD no tiene implementada la opción de tipos de fichero.\n"
 
-#: misc/mke2fs.c:2093
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "El HURD no tiene implementada la opción huge_file.\n"
 
-#: misc/mke2fs.c:2098
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "El HURD no tiene implementada la opción metadata_csum.\n"
 
-#: misc/mke2fs.c:2103
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "El HURD no tiene implementada la opción ea_inode.\n"
 
-#: misc/mke2fs.c:2113
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "mientras se intentaba determinar el tamaño del sector del hardware"
 
-#: misc/mke2fs.c:2119
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "mientras se intentaba determinar el tamaño del sector físico"
 
-#: misc/mke2fs.c:2151
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "mientras se establecía el tamaño de bloque; demasiado pequeño para el dispositivo\n"
 
-#: misc/mke2fs.c:2156
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Atención: el tamaño de bloque especificado %d es menor que el tamaño de sector físico del dispositivo %d\n"
 
-#: misc/mke2fs.c:2180
+#: misc/mke2fs.c:2206
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5931,7 +6013,7 @@
 "%s: Tamaño del dispositivo (0x%llx bloques) %s demasiado grande para expresarse\n"
 "\ten 32 bits utilizando un tamaño de bloque de %d.\n"
 
-#: misc/mke2fs.c:2194
+#: misc/mke2fs.c:2220
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5940,87 +6022,87 @@
 "%s: Tamaño del dispositivo (0x%llx bloques) %s demasiado grande para crear\n"
 "\tun sistema de ficheros utilizando un tamaño de bloque de %d.\n"
 
-#: misc/mke2fs.c:2216
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "resolución de fs_types para mke2fs.conf: "
 
-#: misc/mke2fs.c:2223
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr "Características del sistema de ficheros no disponibles con la revisión 0 de los sistemas de ficheros\n"
 
-#: misc/mke2fs.c:2231
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr "Superbloques dispersos no disponibles con la revisión 0 de los sistemas de ficheros\n"
 
-#: misc/mke2fs.c:2241
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr "Fichero de transacciones no implementado para la revisión 0 de los sistemas de ficheros\n"
 
-#: misc/mke2fs.c:2254
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "el porcentaje de bloques reservados es inválido - %lf"
 
-#: misc/mke2fs.c:2271
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr "Los «extents» DEBEN estar activados para un sistema de ficheros de 64 bits.  Pase -O extents para rectificar.\n"
 
-#: misc/mke2fs.c:2291
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "El tamaño de «cluster» no puede ser menor que el tamaño de bloque.\n"
 
-#: misc/mke2fs.c:2297
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "para especificar un tamaño de «cluster» hace falta la característica «bigalloc»"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "atención: no se puede obtener la geometría del dispositivo para %s\n"
 
-#: misc/mke2fs.c:2329
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "el alineamiento de %s está desplazado en %lu bytes.\n"
 
-#: misc/mke2fs.c:2331
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr "Esto puede provocar un rendimiento muy bajo; se sugiere (re)particionar.\n"
 
-#: misc/mke2fs.c:2337
+#: misc/mke2fs.c:2363
 #, 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 "%s tiene capacidad DAX pero el tamaño actual %u de bloque difiere del tamaño %u de página del sistema, por lo que el sistema de ficheros no admitirá DAX.\n"
 
-#: misc/mke2fs.c:2361
+#: misc/mke2fs.c:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "los bloques de %d bytes son muy grandes para el sistema (máx %d)"
 
-#: misc/mke2fs.c:2365
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr ""
 "Atención: los bloques de %d bytes son muy grandes para el sistema\n"
 "(máx %d): continuación forzada\n"
 
-#: misc/mke2fs.c:2373
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Sugerencia: utilice un núcleo de Linux >= 3.18 para disponer de una mejor estabilidad de los metadatos y de suma de comprobación del fichero de transacciones.\n"
 
-#: misc/mke2fs.c:2419
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr "Codificación de nombre de fichero desconocida en el perfil: %s"
 
-#: misc/mke2fs.c:2430
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr "Banderas de codificación desconocidas en el perfil: %s"
 
-#: misc/mke2fs.c:2455
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -6035,16 +6117,16 @@
 "pero esto podría no ser lo que usted desea.\n"
 "\n"
 
-#: misc/mke2fs.c:2470
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "los nodos-i de %d octetos son demasiado pequeños para cuota de proyecto"
 
-#: misc/mke2fs.c:2492
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "No se puede disponer de la característica «bigalloc» sin la característica «extents»"
 
-#: misc/mke2fs.c:2499
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -6052,51 +6134,54 @@
 "Las características resize_inode y meta_bg no son compatibles.\n"
 "No pueden estar activadas las dos a la vez.\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
 "\n"
-"Atención: la característica «bigalloc» aún está en proceso de desarrollo\n"
-"Véase https://ext4.wiki.kernel.org/index.php/Bigalloc para más información\n"
-"\n"
+"Atención: los sitemas de ficheros «bigalloc» con un tamaño de «cluster»\n"
+"mayor que 16 veces el tamaño de bloque se consideran experimentales\n"
 
-#: misc/mke2fs.c:2519
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr "el cambio de tamaño en línea de los bloques reservados no está implementado para los sistemas de ficheros que no están esparcidos"
 
-#: misc/mke2fs.c:2528
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "la cuenta de bloques por grupo está fuera del intervalo"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "La característica flex_bg no está activada, por lo que no puede especificarse el tamaño de flex_bg"
 
-#: misc/mke2fs.c:2562
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "tamaño incorrecto del nodo-i %d (mín %d/máx %d)"
 
-#: misc/mke2fs.c:2577
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "los nodos-i de %d octetos son demasiado pequeños para datos en línea; especifique un tamaño mayor"
 
-#: misc/mke2fs.c:2592
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "los nodos-i de 128 bytes no pueden manejar fechas posteriores a 2038 y están en desuso\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "demasiados nodos-i (%llu), ¿aumentar el ratio de los nodos-i?"
 
-#: misc/mke2fs.c:2599
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "demasiados nodos-i (%llu), especifique menos que 2^32 nodos-i"
 
-#: misc/mke2fs.c:2613
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6107,65 +6192,69 @@
 "\tgrande para un sistema de ficheros con %llu bloques; especifique\n"
 "\tun ratio mayor de nodos-i (-i) o un menor número de nodos-i (-N).\n"
 
-#: misc/mke2fs.c:2800
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
 msgstr "Descartando los bloques del dispositivo: "
 
-#: misc/mke2fs.c:2816
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "fallo - "
 
-#: misc/mke2fs.c:2875
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "mientras se inicializaba el contexto de cuota"
 
-#: misc/mke2fs.c:2882
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "mientras se escribían los nodos-i de la cuota"
 
-#: misc/mke2fs.c:2907
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "comportamiento de errores incorrecto en el perfil - %s"
 
-#: misc/mke2fs.c:2983
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "en malloc para parámetros_dispersos_de_android"
 
-#: misc/mke2fs.c:2997
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "mientras se ajustaba el superbloque"
 
-#: misc/mke2fs.c:3013
+#: misc/mke2fs.c:3065
 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 "Los «extents» no están activados.  Es posible calcular la suma de comprobación de los árboles «extent» de ficheros, no de los mapas de bloques.  No activar los «extents» reduce la cobertura de las sumas de comprobación de metadatos.  Pase -O «extents» para rectificar.\n"
 
-#: misc/mke2fs.c:3020
+#: misc/mke2fs.c:3072
 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 "No está activado que se admitan sistemas de ficheros de 64 bits.  Los campos más grandes ofrecidos por esta característica permiten la suma de comprobación más potente.  Pase -O 64bit para rectificar.\n"
 
-#: misc/mke2fs.c:3028
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "La característica metadata_csum_seed requiere la característica metadata_csum.\n"
 
-#: misc/mke2fs.c:3052
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "El descarte ha sido correcto y devolverá 0s - se salta el borrado de la tabla de nodos-i\n"
 
-#: misc/mke2fs.c:3151
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "sistema operativo desconocido - %s"
 
-#: misc/mke2fs.c:3214
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
 msgstr "Reservando las tablas de grupo: "
 
-#: misc/mke2fs.c:3222
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "mientras se intentaba reservar las tablas del sistema de ficheros"
 
-#: misc/mke2fs.c:3231
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "mientras se desmarcaban los bloques dañados"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6173,30 +6262,34 @@
 "\n"
 "\tmientras se convertía el mapa de bits de «subcluster»"
 
-#: misc/mke2fs.c:3237
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "mientras se calculaba la sobrecarga"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s puede corromperse aún más por reescritura de superbloque\n"
 
-#: misc/mke2fs.c:3278
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "mientras se inicializaba a cero el bloque %llu al final del sistema de ficheros"
 
-#: misc/mke2fs.c:3291
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr "mientras se reservaban los bloques para el cambio de tamaño en línea"
 
-#: misc/mke2fs.c:3303 misc/tune2fs.c:1516
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "fichero de transacciones"
 
-#: misc/mke2fs.c:3315
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Añadiendo el fichero de transacciones al dispositivo %s: "
 
-#: misc/mke2fs.c:3322
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
@@ -6205,21 +6298,21 @@
 "\n"
 "\tmientras se intentaba añadir el fichero de transacciones al dispositivo %s"
 
-#: misc/mke2fs.c:3327 misc/mke2fs.c:3356 misc/mke2fs.c:3394
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1545 misc/tune2fs.c:1564
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "hecho\n"
 
-#: misc/mke2fs.c:3333
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "Se omite la creación del fichero de transacciones en modo solo-super\n"
 
-#: misc/mke2fs.c:3343
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Creando el fichero de transacciones (%u bloques): "
 
-#: misc/mke2fs.c:3352
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6227,7 +6320,7 @@
 "\n"
 "\tmientras se intentaba crear el fichero de transacciones"
 
-#: misc/mke2fs.c:3364 misc/tune2fs.c:1137
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6235,28 +6328,28 @@
 "\n"
 "Error mientras se activaba la característica de protección de montaje múltiple."
 
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr "La protección de montaje múltiple está activada con un intervalo de actualización de %d segundos.\n"
 
-#: misc/mke2fs.c:3385
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "Copiando ficheros al dispositivo: "
 
-#: misc/mke2fs.c:3391
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
 msgstr "mientras se poblaba el sistema de ficheros"
 
-#: misc/mke2fs.c:3398
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr "Escribiendo superbloques y la información contable del sistema de ficheros: "
 
-#: misc/mke2fs.c:3405
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "mientras se escribía y se cerraba el sistema de ficheros"
 
-#: misc/mke2fs.c:3408
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6269,26 +6362,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "mientras se inicializaba a cero el bloque %llu para fichero gigante"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "El desplazamiento de la partición de %llu (%uk) bloques no es compatible con el tamaño %u del «cluster».\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Los ficheros gigantes se rellenarán con ceros.\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Creando %lu fichero(s) gigante(s) "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "con %llu bloques cada uno"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "mientras se creaba el fichero gigante %lu"
@@ -6332,7 +6425,7 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s: h=%3d s=%3d c=%4d   inicio=%8d tamaño=%8lu fin=%8d\n"
 
-#: misc/tune2fs.c:120
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
@@ -6340,15 +6433,15 @@
 "\n"
 "Esta operación requiere un systema de ficheros recién comprobado.\n"
 
-#: misc/tune2fs.c:122
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "Por favor, ejecute e2fsck -f sobre el sistema de ficheros.\n"
 
-#: misc/tune2fs.c:124
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "Por favor, ejecute e2fsck -fD sobre el sistema de ficheros.\n"
 
-#: misc/tune2fs.c:137
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6369,20 +6462,20 @@
 "\t[-E opción-extendida[,...]] [-T última-fecha-de-revisón] [-U UUID]\n"
 "\t[-I nuevo-tamaño-de-nodo-i] [-z fichero-deshacer] dispositivo\n"
 
-#: misc/tune2fs.c:225
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "¡No se encontró el superbloque del fichero de transacciones!\n"
 
-#: misc/tune2fs.c:283
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "mientras se intentaba abrir el fichero de transacciones externo"
 
-#: misc/tune2fs.c:289 misc/tune2fs.c:2889
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s no es un dispositivo con fichero de transacciones.\n"
 
-#: misc/tune2fs.c:298 misc/tune2fs.c:2898
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
@@ -6391,13 +6484,13 @@
 "El superbloque del fichero de transacciones está corrupto;\n"
 "nr_users es demasiado grande (%d).\n"
 
-#: misc/tune2fs.c:305 misc/tune2fs.c:2905
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr ""
 "No se encontró el UUID del sistema de ficheros en el fichero de\n"
 "transacciones del dispositivo.\n"
 
-#: misc/tune2fs.c:329
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6405,52 +6498,52 @@
 "No se puede localizar el dispositivo del fichero de transacciones. NO se eliminó\n"
 "Utilice la opción -f para eliminar el dispositivo del fichero de transacciones perdido.\n"
 
-#: misc/tune2fs.c:338
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Fichero de transacciones eliminado\n"
 
-#: misc/tune2fs.c:382
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "mientras se leían los mapas de bits"
 
-#: misc/tune2fs.c:390
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "mientras se borraba el nodo-i del fichero de transacciones"
 
-#: misc/tune2fs.c:401
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "mientras se escribía el nodo-i del fichero de transacciones"
 
-#: misc/tune2fs.c:437 misc/tune2fs.c:462 misc/tune2fs.c:475
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(¡y reinicie después!)\n"
 
-#: misc/tune2fs.c:490
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Después de ejecutar e2fsck, por favor, ejecute `resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Por favor, ejecute `resize2fs %s %s"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:499
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "' para activar el modo de 64 bits.\n"
 
-#: misc/tune2fs.c:501
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "' para desactivar el modo de 64 bits.\n"
 
-#: misc/tune2fs.c:1039
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6458,17 +6551,17 @@
 "ATENCIÓN: no se ha podido confirmar la capacidad del núcleo para metadata_csum_seed.\n"
 "  Se requiere Linux >= v4.4.\n"
 
-#: misc/tune2fs.c:1075
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "No se puede desactivar la característica '%s' del sistema de ficheros.\n"
 
-#: misc/tune2fs.c:1081
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "El ajuste de la característica '%s' del sistema de ficheros no está implementado.\n"
 
-#: misc/tune2fs.c:1090
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6476,7 +6569,7 @@
 "La bandera 'has_journal' sólo puede ser borrada cuando el sistema de\n"
 "ficheros no está montado o está montado en modo de sólo lectura.\n"
 
-#: misc/tune2fs.c:1098
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6484,7 +6577,7 @@
 "La bandera 'needs_recovery' está puesta.  Por favor ejecute e2fsck antes\n"
 "de deactivar la bandera 'has_journal'.\n"
 
-#: misc/tune2fs.c:1116
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6492,7 +6585,7 @@
 "La característica 'sparse_super' no se puede activar\n"
 "en sistemas de ficheros que tengan la característica meta_bg activada.\n"
 
-#: misc/tune2fs.c:1129
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6502,12 +6595,12 @@
 "ponerse si el sistema de ficheros está montado o es\n"
 "de solo lectura.\n"
 
-#: misc/tune2fs.c:1147
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr "Se ha activado la protección de montaje múltiple con un intervalo de actualización de %ds.\n"
 
-#: misc/tune2fs.c:1156
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6515,20 +6608,28 @@
 "La característica de montaje múltiple no se puede\n"
 "desactivar si el sistema de ficheros es de solo lectura.\n"
 
-#: misc/tune2fs.c:1164
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "Error mientras se leían los mapas de bits\n"
 
-#: misc/tune2fs.c:1173
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "El número mágico en el bloque MMP no cuadra. esperado: %x, real: %x\n"
 
-#: misc/tune2fs.c:1178
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
 msgstr "mientras se leía el bloque MMP."
 
-#: misc/tune2fs.c:1210
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Podría tardarse un rato en desactivar el índice del directorio en un sistema de ficheros con suma de comprobación."
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "¡No se puede desactivar el índice_de_directorio en un sistema de ficheros montado!\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
@@ -6536,7 +6637,7 @@
 "Borrar la bandera flex_bg provocaría que el sistema de ficheros se\n"
 "volviera inconsistente.\n"
 
-#: misc/tune2fs.c:1221
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6544,54 +6645,54 @@
 "La característica 'huge_file' sólo puede ser borrada cuando el sistema de\n"
 "ficheros no está montado o está en modo de sólo lectura.\n"
 
-#: misc/tune2fs.c:1232
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr "Podría tardarse un poco en activar la suma de comprobación."
 
-#: misc/tune2fs.c:1235
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "¡No puede activarse metadata_csum en un sistema de ficheros montado!\n"
 
-#: misc/tune2fs.c:1241
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr "Los «extents» no están activados.  Puede calcularse la suma de comprobación del árbol «extent» de ficheros, no de mapas de bloques.  No activar los «extents» reduce la cobertura de la suma de comprobación de metadatos.  Ejecute otra vez con -O «extent» para rectificar.\n"
 
-#: misc/tune2fs.c:1248
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr "No está activado que se admitan sistemas de ficheros de 64 bits.  Los campos más grandes ofrecidos por esta característica permiten la suma de comprobación más potente.  Ejecute resize2fs -b para rectificar.\n"
 
-#: misc/tune2fs.c:1274
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
 msgstr "Podría tardarse un rato en desactivar la suma de comprobación."
 
-#: misc/tune2fs.c:1277
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "¡No se puede desactivar metadata_csum en un sistema de ficheros montado!\n"
 
-#: misc/tune2fs.c:1318
+#: misc/tune2fs.c:1372
 msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
 msgstr "¡No se puede activar uninit_bg en un sistema de ficheros montado!\n"
 
-#: misc/tune2fs.c:1333
+#: misc/tune2fs.c:1387
 msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
 msgstr "¡No se puede desactivar uninit_bg en un sistema de ficheros montado!\n"
 
-#: misc/tune2fs.c:1352
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "¡No se puede activar el modo de 64 bits cuando está montado!\n"
 
-#: misc/tune2fs.c:1362
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "¡No se puede desactivar el modo de 64 bits cuando está montado!\n"
 
-#: misc/tune2fs.c:1392
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "No se puede activar la característica del proyecto; el tamaño del nodo-i es demasiado pequeño.\n"
 
-#: misc/tune2fs.c:1413
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6599,11 +6700,11 @@
 "\n"
 "Atención: la opción '^quota' deja sin efecto los argumentos '-Q'.\n"
 
-#: misc/tune2fs.c:1430 misc/tune2fs.c:2182
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
 msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr "La característica casefold sólo puede activarse cuando el sistema de ficheros no está montado.\n"
 
-#: misc/tune2fs.c:1442
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6611,7 +6712,7 @@
 "La característica 'metadata_csum_seed' solo se puede activar\n"
 "en sistemas de ficheros que tengan activada la característica meta_csum.\n"
 
-#: misc/tune2fs.c:1460
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
@@ -6620,15 +6721,15 @@
 "sistema de ficheros para que puedan reescribirse sin peligro todos los metadatos \n"
 "y casen con el nuevo UUID.\n"
 
-#: misc/tune2fs.c:1466
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr "Podría tardarse un poco en recalcular las sumas de comprobación."
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "El sistema de ficheros ya tiene un fichero de transacciones.\n"
 
-#: misc/tune2fs.c:1529
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6637,21 +6738,21 @@
 "\n"
 "\tmientras se intentaba abrir el fichero de transacciones en %s\n"
 
-#: misc/tune2fs.c:1533
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Creando un fichero de transacciones en el dispositivo %s: "
 
-#: misc/tune2fs.c:1541
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "mientras se agregaba un sistema de ficheros al fichero de transacciones en %s"
 
-#: misc/tune2fs.c:1547
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
 msgstr "Creando el nodo-i del fichero de transacciones: "
 
-#: misc/tune2fs.c:1561
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6659,31 +6760,31 @@
 "\n"
 "\tmientras intentaba crear el fichero de transacciones"
 
-#: misc/tune2fs.c:1599
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "No se puede activar la cuota del proyecto; el tamaño del nodo-i es demasiado pequeño.\n"
 
-#: misc/tune2fs.c:1612
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
 msgstr "mientras se inicializaba el contexto de cuota en la biblioteca de soporte"
 
-#: misc/tune2fs.c:1627
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "mientras se actualizaban los límites de cuota (%d)"
 
-#: misc/tune2fs.c:1637
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "mientras se escribía el fichero de cuota (%d)"
 
-#: misc/tune2fs.c:1655
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "mientras se borraba el fichero de cuota (%d)"
 
-#: misc/tune2fs.c:1698
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6705,117 +6806,117 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1756
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "No se puede analizar sintácticamente el especificador de fecha/hora: %s"
 
-#: misc/tune2fs.c:1781 misc/tune2fs.c:1794
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "cuenta de montajes incorrectos - %s"
 
-#: misc/tune2fs.c:1837
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "nombre del gid/grupo incorrecto - %s"
 
-#: misc/tune2fs.c:1870
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "intervalo incorrecto - %s"
 
-#: misc/tune2fs.c:1899
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "proporción de bloques reservados incorrecta - %s"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
 msgstr "-o solo puede especificarse una vez"
 
-#: misc/tune2fs.c:1923
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
 msgstr "-O sólo se puede especificar una vez"
 
-#: misc/tune2fs.c:1940
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "cuenta de bloques reservados incorrecta - %s"
 
-#: misc/tune2fs.c:1969
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "nombre de uid/usuario incorrecto - %s"
 
-#: misc/tune2fs.c:1986
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "tamaño de nodo-i no válido - %s"
 
-#: misc/tune2fs.c:1993
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "El tamaño de nodo-i debe ser potencia de dos - %s"
 
-#: misc/tune2fs.c:2093
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "mmp_update_interval demasiado grande: %lu\n"
 
-#: misc/tune2fs.c:2098
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
 msgstr[0] "Se pone el intervalo de actualización de protección de montaje múltiple a %lu segundo\n"
 msgstr[1] "Se pone el intervalo de actualización de protección de montaje múltiple a %lu segundos\n"
 
-#: misc/tune2fs.c:2107
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Se pone el indicador de error del sistema de ficheros para forzar fsck.\n"
 
-#: misc/tune2fs.c:2125
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "«Stride» de RAID no válido: %s\n"
 
-#: misc/tune2fs.c:2140
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "«stripe-width» de RAID no válido: %s\n"
 
-#: misc/tune2fs.c:2155
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Algoritmo «hash» no válido: %s\n"
 
-#: misc/tune2fs.c:2161
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Poniendo el algoritmo «hash» predeterminado a %s (%d)\n"
 
-#: misc/tune2fs.c:2188
+#: misc/tune2fs.c:2252
 #, c-format
 msgid "Cannot alter existing encoding\n"
 msgstr "No se puede alterar la condificación existente\n"
 
-#: misc/tune2fs.c:2194
+#: misc/tune2fs.c:2258
 #, c-format
 msgid "Invalid encoding: %s\n"
 msgstr "La codificación no es válida: %s\n"
 
-#: misc/tune2fs.c:2200
+#: misc/tune2fs.c:2264
 #, c-format
 msgid "Setting encoding to '%s'\n"
 msgstr "Se pone la condificación '%s'\n"
 
-#: misc/tune2fs.c:2224
+#: misc/tune2fs.c:2288
 #, c-format
 msgid "Setting encoding_flags to '%s'\n"
 msgstr "Se ponen encoding_flags a '%s' \n"
 
-#: misc/tune2fs.c:2234
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6855,31 +6956,31 @@
 "\tencoding=<condificación>\n"
 "\tencoding_flags=<banderas>\n"
 
-#: misc/tune2fs.c:2707
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
 msgstr "Fallo mientras se leía el mapa de bits del nodo-i\n"
 
-#: misc/tune2fs.c:2712
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "Fallo leyendo el mapa de bits del bloque\n"
 
-#: misc/tune2fs.c:2729 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "bloques por ser movidos"
 
-#: misc/tune2fs.c:2732
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Fallo reservando el mapa de bits del bloque al incrementar el tamaño de nodo-i\n"
 
-#: misc/tune2fs.c:2738
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr "No hay espacio suficiente para aumentar el tamaño de nodo-i \n"
 
-#: misc/tune2fs.c:2743
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Fallo mientras se reservaban los bloques para el cambio de tamaño de nodo-i \n"
 
-#: misc/tune2fs.c:2775
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6887,7 +6988,7 @@
 "Error al cambiar el tamaño del nodo-i.\n"
 "Ejecute e2undo para deshacer los cambios del sistema de ficheros. \n"
 
-#: misc/tune2fs.c:2985
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6895,7 +6996,7 @@
 "Si se sabe con certeza que el sistema de ficheros no está en uso en ningún\n"
 "modo, ejecute 'tune2fs -f -E clear_mmp {device}'\n"
 
-#: misc/tune2fs.c:2992
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6904,29 +7005,29 @@
 "El número mágico del bloque MMP es incorrecto. Trate de arreglarlo ejecutando:\n"
 "'e2fsck -f %s'\n"
 
-#: misc/tune2fs.c:3004
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "No se puede modificar el dispositivo de un fichero de transacciones.\n"
 
-#: misc/tune2fs.c:3017
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "El tamaño del nodo-i ya es %lu\n"
 
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
 msgstr "No es posible reducir el tamaño del nodo-i\n"
 
-#: misc/tune2fs.c:3029
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "Tamaño incorrecto del nodo-i %lu (máx %d)\n"
 
-#: misc/tune2fs.c:3035
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr "Podría tardarse un rato en cambiar el tamaño de los nodos-i."
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6943,57 +7044,57 @@
 "después ejecute otra vez esta orden.  De lo contrario, podrían perderse los cambios\n"
 "al recuperar el fichero de transacciones.\n"
 
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Recuperando el fichero de transacciones.\n"
 
-#: misc/tune2fs.c:3114
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Se pone la cuenta de montajes máxima a %d\n"
 
-#: misc/tune2fs.c:3120
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Se pone la cuenta de montajes actual a %d\n"
 
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Se pone el comportamiento de errores a %d\n"
 
-#: misc/tune2fs.c:3130
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "Se pone el gid de los bloques reservados a %lu\n"
 
-#: misc/tune2fs.c:3135
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "el intervalo entre revisiones es demasiado grande (%lu)"
 
-#: misc/tune2fs.c:3142
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Se pone el intervalo entre revisiones en %lu segundos\n"
 
-#: misc/tune2fs.c:3149
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Se pone el porcentaje de bloques reservados a %g%% (%llu bloques)\n"
 
-#: misc/tune2fs.c:3155
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "la cantidad de bloques reservados es demasiado grande (%llu)"
 
-#: misc/tune2fs.c:3162
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Se pone la cantidad de bloques reservados a %llu\n"
 
-#: misc/tune2fs.c:3167
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -7001,7 +7102,7 @@
 "\n"
 "El sistema de ficheros ya tiene superbloques dispersos.\n"
 
-#: misc/tune2fs.c:3170
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -7011,7 +7112,7 @@
 "La característica de superbloques dispersos no se puede activar\n"
 "en sistemas de ficheros que tengan la característica meta_bg activada.\n"
 
-#: misc/tune2fs.c:3180
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
@@ -7020,7 +7121,7 @@
 "\n"
 "La bandera de superbloques dispersos está puesta.  %s"
 
-#: misc/tune2fs.c:3185
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -7028,49 +7129,53 @@
 "\n"
 "No es posible quitar la bandera de superbloques dispersos.\n"
 
-#: misc/tune2fs.c:3193
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "Se pone la hora de la última revisión al sistema de ficheros a %s\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "Se pone el uid de los bloques reservados a %lu\n"
 
-#: misc/tune2fs.c:3231
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Error al utilizar clear_mmp. Debe utilizarse con -f\n"
 
-#: misc/tune2fs.c:3249
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "La característica de cuota sólo puede cambiarse cuando el sistema de ficheros no está montado.\n"
 
-#: misc/tune2fs.c:3269
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "No se puede cambiar el UUID de este sistema de ficheros porque tiene puesta la bandera de la característica nodosi_estables.\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Podría tardarse un rato en establecer el UUID en este sistema de ficheros."
 
-#: misc/tune2fs.c:3286
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "El UUID solo puede cambiarse cuando el sistema de ficheros no está montado.\n"
 
-#: misc/tune2fs.c:3289
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr "Si solo utiliza núcleos más recientes que v4.4, ejecute 'tune2fs -O metadata_csum_seed' y ejecute otra vez esta orden.\n"
 
-#: misc/tune2fs.c:3320
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Formato del UUID no válido\n"
 
-#: misc/tune2fs.c:3336
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "Hace falta actualizar el superbloque del fichero de transacciones.\n"
 
-#: misc/tune2fs.c:3358
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr "El tamaño de nodo-i solo puede cambiarse cuando el sistema de ficheros no está montado.\n"
 
-#: misc/tune2fs.c:3365
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -7078,61 +7183,61 @@
 "No es posible cambiar el tamaño de nodo-i en sistemas de ficheros que tengan\n"
 "la característica flex_bg activada.\n"
 
-#: misc/tune2fs.c:3383
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Se pone el tamaño de nodo-i %lu\n"
 
-#: misc/tune2fs.c:3387
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
 msgstr "Fallo mientras se cambiaba el tamaño de nodo-i\n"
 
-#: misc/tune2fs.c:3401
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Configurando el tamaño de «stride» a %d\n"
 
-#: misc/tune2fs.c:3406
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Configurando la anchura de «stripe» a %d\n"
 
-#: misc/tune2fs.c:3413
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "Se ponen las opciones de montaje extendidas predeterminadas a '%s'\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
 msgstr "<procediendo>\n"
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "¿Continuar de todas formas (o esperar %d segundos antes de proceder)? (s,N) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
 msgstr "¿Continuar de todas formas? (s,N) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "Se fuerza de todas formas mke2fs.  Esperemos que /etc/mtab sea incorrecto.\n"
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "¡No se hará un %s aquí!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "Se fuerza de todas formas mke2fs.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr "¡No se puede reservar memoria para la revisión sintáctica de las opciones del fichero de transacciones!\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -7141,7 +7246,7 @@
 "\n"
 "No se puede encontrar el dispositivo del fichero de transacciones correspondiente a %s\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7171,7 +7276,7 @@
 "El tamaño del fichero de transacciones debe estar entre 1024 y 10240000 bloques del sistema de ficheros.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7179,26 +7284,26 @@
 "\n"
 "El sistema de ficheros es demasiado pequeño para un fichero de transacciones\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"El tamaño del fichero de transacciones solicitado es de %d bloques;\n"
-"debería estar entre 1024 y 10240000 bloques.  Se finaliza.\n"
+"El tamaño del fichero de transacciones solicitado total es de %d bloques;\n"
+"debería estar entre 1024 y 10240000 bloques.  Se aborta.\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"El tamaño del fichero de transacciones es muy grande para el sistema de ficheros.\n"
+"El tamaño total del fichero de transacciones es muy grande para el sistema de ficheros.\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7340,11 +7445,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Modo de empleo: %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# Volcado de «extent»:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr "#\tNúm=%llu, Tamaño=%llu, Cursor=%llu, Ordenado=%llu\n"
@@ -7399,17 +7504,17 @@
 "bajo su cuenta y riesgo!  Utilice la opción «force» si desea seguir adelante de todos modos.\n"
 "\n"
 
-#: resize/main.c:368
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "mientras se abría %s"
 
-#: resize/main.c:376
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "mientras se estaba obteniendo información del estado de %s"
 
-#: resize/main.c:453
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7418,34 +7523,34 @@
 "Por favor ejecute antes 'e2fsck -f %s'.\n"
 "\n"
 
-#: resize/main.c:472
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Tamaño mínimo estimado del sistema de ficheros: %llu\n"
 
-#: resize/main.c:509
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "El nuevo tamaño no es válido: %s\n"
 
-#: resize/main.c:528
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "El nuevo tamaño es demasiado grande para poder expresarse en 32 bits\n"
 
-#: resize/main.c:541
+#: resize/main.c:560
 msgid "New size results in too many block group descriptors.\n"
 msgstr "El nuevo tamaño da lugar a demasiados descriptores del grupo de bloques.\n"
 
-#: resize/main.c:548
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "El nuevo tamaño es menor que el mínimo (%llu)\n"
 
-#: resize/main.c:554
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Longitud de «stride» no válida"
 
-#: resize/main.c:578
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7456,27 +7561,27 @@
 "Y se ha solicitado un nuevo tamaño de %llu bloques.\n"
 "\n"
 
-#: resize/main.c:585
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "No se puede poner y quitar la característica 64bit.\n"
 
-#: resize/main.c:589
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "No se puede cambiar la característica 64bit en un sistema de ficheros mayor de 2^32 bloques.\n"
 
-#: resize/main.c:595
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "No se puede cambiar la característica 64bit cuando el sistema de ficheros está montado.\n"
 
-#: resize/main.c:601
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Por favor, active la característica «extents» con tune2fs antes de activar la característica 64bit.\n"
 
-#: resize/main.c:607
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7485,37 +7590,42 @@
 "El sistema de ficheros ya tiene %llu bloques (%dk) de longitud. ¡No hay que hacer nada!\n"
 "\n"
 
-#: resize/main.c:614
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "El sistema de ficheros ya es de 64 bits.\n"
 
-#: resize/main.c:619
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "El sistema de ficheros ya es de 32 bits.\n"
 
-#: resize/main.c:627
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "No se puede contraer este sistema de ficheros porque tiene puesta la bandera de la característica nodosi_estables.\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Se convierte el sistema de ficheros a 64 bits.\n"
 
-#: resize/main.c:629
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Se convierte el sistema de ficheros a 32 bits.\n"
 
-#: resize/main.c:631
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "Cambiando el tamaño del sistema de ficheros en %s a %llu (%dk) bloques.\n"
 
-#: resize/main.c:640
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "mientras se intentaba modificar el tamaño %s"
 
-#: resize/main.c:643
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7524,7 +7634,7 @@
 "Por favor, ejecute 'e2fsck -fy %s' para arreglar el sistema de ficheros\n"
 "después de la operación de cambio de tamaño interrumpida.\n"
 
-#: resize/main.c:649
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7533,7 +7643,7 @@
 "El sistema de ficheros en %s tiene ahora %llu bloques (de %dk).\n"
 "\n"
 
-#: resize/main.c:664
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "mientras se intentaba truncar %s"
@@ -7590,53 +7700,53 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "Realizando cambio de tamaño en línea de %s a %llu (%dk) bloques.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "mientras se intentaba extender el último grupo"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "mientras se intentaba añadir el grupo #%d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr "El sistema de ficheros de %s está montado en %s, pero el cambio de tamaño en línea no está implementado en este sistema.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "los nodos-i (%llu) deben ser menos de %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "bloques reservados"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "bloques de metadatos"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "nuevos bloques de metadatos"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "¡Nunca debería suceder!  ¿No hay ningún sb en el último bg super_sparse?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "¡Nunca debería suceder!  ¿old_desc inesperada en el bg super_sparse?\n"
 
 # No estoy seguro
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Esto nunca debería suceder: ¡El nodo-i de cambio de tamaño está corrupto!\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.6"
-msgstr "Biblioteca EXT2FS versión 1.45.6"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "Biblioteca EXT2FS versión 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8354,6 +8464,18 @@
 msgid "Group descriptors not loaded"
 msgstr "Descriptores de grupo no cargados"
 
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "La estructura de datos ext2_filsys interna parece que está corrupta"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "Se ha encontrado un bucle cíclico en un árbol «extent»"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "La operación no se puede hacer sobre un fichero de transacciones externo"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Versión de «profile» 0.0"
@@ -8478,47 +8600,37 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Valor mágico incorrecto en profile_file_data_t"
 
-#: lib/support/plausible.c:114
+#: lib/support/plausible.c:119
 #, c-format
 msgid "\tlast mounted on %.*s on %s"
 msgstr "\túltima fecha de montaje en %.*s %s"
 
-#: lib/support/plausible.c:117
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\túltima fecha de montaje %s"
 
-#: lib/support/plausible.c:120
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tfecha de creación %s"
 
-#: lib/support/plausible.c:123
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tfecha de última modificación %s"
 
-#: lib/support/plausible.c:157
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Se ha encontrado una tabla de particiones %s en %s\n"
 
-#: lib/support/plausible.c:187
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "El fichero %s no existe y no se ha especificado ningún tamaño.\n"
-
-#: lib/support/plausible.c:195
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Creando el fichero ordinario %s\n"
-
-#: lib/support/plausible.c:198
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "No se puede abrir %s: %s\n"
 
-#: lib/support/plausible.c:201
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8526,27 +8638,47 @@
 "\n"
 "En apariencia, el dispositivo no existe; ¿Se especificó correctamente?\n"
 
-#: lib/support/plausible.c:223
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s no es un dispositivo especial de bloques.\n"
 
-#: lib/support/plausible.c:245
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s contiene un sistema de ficheros %s etiquetado '%s'\n"
 
-#: lib/support/plausible.c:248
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s contiene un sistema de ficheros %s\n"
 
-#: lib/support/plausible.c:272
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s contiene datos `%s'\n"
 
 #~ msgid ""
+#~ "\n"
+#~ "Warning: the bigalloc feature is still under development\n"
+#~ "See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Atención: la característica «bigalloc» aún está en proceso de desarrollo\n"
+#~ "Véase https://ext4.wiki.kernel.org/index.php/Bigalloc para más información\n"
+#~ "\n"
+
+#~ msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+#~ msgstr "Modo de empleo: %s [-F] [-I bloques_del_búfer_del_nodo_i] dispositivo\n"
+
+#~ msgid "while trying to open '%s'"
+#~ msgstr "mientras se intentaba abrir '%s'"
+
+#~ msgid "%u inodes scanned.\n"
+#~ msgstr "%u nodos-i explorados.\n"
+
+#~ msgid ""
 #~ "The encrypt and casefold features are not compatible.\n"
 #~ "They can not be both enabled simultaneously.\n"
 #~ msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 96662a7..91b98d2 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the e2fsprogs package.
 # Copyright © 1996 Free Software Foundation, Inc.
 # Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
-# Samuel Thibault <samuel.thibault@ens-lyon.org>, 2006-2021.
+# Samuel Thibault <samuel.thibault@ens-lyon.org>, 2006-2022.
 #
 #. 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,
@@ -76,10 +76,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU e2fsprogs 1.46.0\n"
+"Project-Id-Version: GNU e2fsprogs 1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-01-28 13:42-0500\n"
-"PO-Revision-Date: 2021-02-02 21:07+0100\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-13 22:00+0200\n"
 "Last-Translator: Samuel Thibault <samuel.thibault@ens-lyon.org>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -89,7 +89,7 @@
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Bloc défectueux %u hors limite ; ignoré.\n"
@@ -102,30 +102,30 @@
 msgid "while reading the bad blocks inode"
 msgstr "lors de la lecture de l'i-noeud des blocs défectueux"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:692 misc/dumpe2fs.c:696 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2881 misc/tune2fs.c:2980 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "lors de la tentative d'ouverture de %s"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "lors de la tentative d'ouverture via popen() « %s »"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "lors de la lecture de la liste des blocs défectueux à partir du fichier"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "lors de la mise à jour de l'i-noeud des blocs défectueux"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr ""
@@ -206,66 +206,38 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "L'ioctl BLKFLSBUF n'est pas supporté ! Impossible de vider les tampons.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Utilisation : %s [-F] [-I nombre_blocs_du_tampon_d_i_noeud] périphérique\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "lors de l'ouverture de %s pour la vidange"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:385
-#, c-format
-msgid "while trying to flush %s"
-msgstr "lors de la tentative de vidange de %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "lors de la tentative d'ouverture de '%s'"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "lors de l'ouverture de l'examen d'i-noeuds"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "lors de l'obtention de l'i-noeud suivant"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "%u i-noeuds examinés.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "lecture en cours du superbloc du journal\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s : aucun superbloc de journal valide n'a été trouvé\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s : journal trop court\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3787
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: blocs de fast commit incorrects\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s : récupération du journal\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr ""
 "%s : aucune récupération du journal n'est possible tant qu'il est en\n"
 "lecture seule\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "lors de la tentative de ré-ouverture de %s"
@@ -434,56 +406,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<L'i-noeud réservé 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "fichier normal"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "répertoire"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "fichier de périphérique en mode caractère"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "fichier de périphérique en mode bloc"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "tube nommé"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "lien symbolique"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "socket"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "type de fichier inconnu avec un mode 0%o"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "bloc indirect"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "bloc doublement indirect"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "bloc triplement indirect"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "bloc de traduction"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "bloc n°"
 
@@ -503,117 +475,125 @@
 msgid "unknown quota type"
 msgstr "type de quota inconnu"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "carte des i-noeuds réclamés plusieurs fois"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "erreur interne : ne peut trouver dup_blk pour %llu\n"
 
-#: e2fsck/pass1b.c:956
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "retourné de clone_file_block"
 
-#: e2fsck/pass1b.c:980
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "erreur interne : impossible de trouver l'enregistrement de bloc EA pour %llu"
 
-#: e2fsck/pass1b.c:992
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "erreur interne : impossible de trouver l'enregistrement d'i-noeud EA pour %u"
 
-#: e2fsck/pass1.c:358
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "lors du hachage de l'entrée avec e_value_inum = %u"
 
-#: e2fsck/pass1.c:776 e2fsck/pass2.c:1018
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr "lecture des blocs de répertoire"
 
-#: e2fsck/pass1.c:1175
+#: e2fsck/pass1.c:1169
 msgid "getting next inode from scan"
 msgstr "l'obtention de l'i-noeud suivant depuis l'examen"
 
-#: e2fsck/pass1.c:1227
+#: e2fsck/pass1.c:1221
 msgid "in-use inode map"
 msgstr "carte des i-noeuds utilisés"
 
-#: e2fsck/pass1.c:1238
+#: e2fsck/pass1.c:1232
 msgid "directory inode map"
 msgstr "carte des i-noeuds de répertoires"
 
-#: e2fsck/pass1.c:1248
+#: e2fsck/pass1.c:1242
 msgid "regular file inode map"
 msgstr "carte des i-noeuds de fichiers normaux"
 
-#: e2fsck/pass1.c:1257 misc/e2image.c:1282
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
 msgid "in-use block map"
 msgstr "carte des blocs utilisés"
 
-#: e2fsck/pass1.c:1266
+#: e2fsck/pass1.c:1260
 msgid "metadata block map"
 msgstr "carte des blocs de métadonnées"
 
-#: e2fsck/pass1.c:1328
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "carte casefold des i-noeuds"
+
+#: e2fsck/pass1.c:1336
 msgid "opening inode scan"
 msgstr "l'ouverture de l'examen des i-noeuds"
 
-#: e2fsck/pass1.c:2083
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
 msgstr "Passe 1"
 
-#: e2fsck/pass1.c:2144
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "lecture des blocs indirects de l'i-noeud %u"
 
-#: e2fsck/pass1.c:2195
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
 msgstr "carte des i-noeuds défectueux"
 
-#: e2fsck/pass1.c:2253
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
 msgstr "i-noeud dans la carte des blocs défectueux"
 
-#: e2fsck/pass1.c:2273
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
 msgstr "carte d'i-noeuds magiques"
 
-#: e2fsck/pass1.c:2304
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr "carte des blocs réclamés plusieurs fois"
 
-#: e2fsck/pass1.c:2429
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "carte des blocs d'attributs étendus"
 
-#: e2fsck/pass1.c:3685
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c) : %6lu attendu, obtenu phys %6lu (blkcnt %lld)\n"
 
-#: e2fsck/pass1.c:4105
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "bitmap de blocs"
 
-#: e2fsck/pass1.c:4111
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "bitmap d'i-noeuds"
 
-#: e2fsck/pass1.c:4117
+#: e2fsck/pass1.c:4162
 msgid "inode table"
 msgstr "table d'i-noeuds"
 
-#: e2fsck/pass2.c:312
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr "Passe 2"
 
-#: e2fsck/pass2.c:1091 e2fsck/pass2.c:1266
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "NLS est cassé."
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "Ne peut continuer."
 
@@ -629,7 +609,7 @@
 msgid "Pass 3"
 msgstr "Passe 3"
 
-#: e2fsck/pass3.c:350
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr "bitmap de détection des boucles d'i-noeuds"
 
@@ -1557,7 +1537,7 @@
 msgstr "Avertissement : impossible d'écrire le @b %b pour %s : %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:726 e2fsck/problem.c:1898
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "@A du @B d'@is (%N) : %m\n"
 
@@ -1764,7 +1744,9 @@
 msgid ""
 "Bad @b @i has an indirect @b (%b) that conflicts with\n"
 "@f metadata.  "
-msgstr "l'@i des @bs défectueux a un @b indirect (%b) qui entre en conflit avec les métadonnées du @f. "
+msgstr ""
+"l'@i des @bs défectueux a un @b indirect (%b) qui\n"
+"entre en conflit avec les métadonnées du @f. "
 
 #. @-expanded: Resize inode (re)creation failed: %m.
 #: e2fsck/problem.c:943
@@ -2070,10 +2052,10 @@
 "L'@i %i a un plan de @x doublon\n"
 "\t(@b logique %c, @b physique @n %b, longueur %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
 #: e2fsck/problem.c:1204
-msgid "@A memory for encrypted @d list\n"
-msgstr "@A de mémoire pour la liste des @d chiffrés\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "@A de %N octets de mémoire pour la liste des @i chiffrés\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
 #: e2fsck/problem.c:1209
@@ -2118,15 +2100,21 @@
 "il manque à l'@i EA %N pour l'l@i parent %i le drapeau EA_INODE.\n"
 " "
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "L'@i %i a un @x marqué non initialisé au @b %c (longueur %N). "
+
 #. @-expanded: inode %i has the casefold flag set but is not a directory.  
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1254
 #, c-format
 msgid "@i %i has the casefold flag set but is not a directory.  "
 msgstr "l'@i %i a le drapeau casefold activé mais n'est pas un répertoire. "
 
 #. @-expanded: directory %p has the casefold flag, but the\n
 #. @-expanded: casefold feature is not enabled.  
-#: e2fsck/problem.c:1253
+#: e2fsck/problem.c:1259
 #, c-format
 msgid ""
 "@d %p has the casefold flag, but the\n"
@@ -2135,13 +2123,25 @@
 "le @d %p a le drapeau casefold, mais la\n"
 "fonctionalité casefold n'est pas activée. "
 
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "l'@i %i a le drapeau de chiffrement mais n'a pas d'@a de chiffrement.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "L'@i chiffré %i a un @a de chiffrement corrompu.\n"
+
 #. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
-#: e2fsck/problem.c:1258
+#: e2fsck/problem.c:1274
 msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
 msgstr "L'@h %i utilise la version de hachage (%N), mais devrait utiliser SipHash (6) \n"
 
 #. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
-#: e2fsck/problem.c:1263
+#: e2fsck/problem.c:1279
 #, c-format
 msgid "@h %i uses SipHash, but should not.  "
 msgstr "L'@h %i utilise SipHash, mais ne le devrait pas. "
@@ -2149,7 +2149,7 @@
 #. @-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
-#: e2fsck/problem.c:1270
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2160,46 +2160,46 @@
 "Passe 1B : ré-examen pour les @bs @m\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "@b(s) @m dans l'@i %i :"
 
-#: e2fsck/problem.c:1293
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Erreur lors de l'examen des i-noeuds (%i) : %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1299
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "@A du @B d'@is (i_node_dup_map) : %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1305
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Erreur lors des itérations sur les @bs dans l'@i %i (%s) : %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1310 e2fsck/problem.c:1685
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Erreur d'ajustement de refcount pour le @b %b d'@a (@i %i) : %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Passe 1C : examen des répertoires pour les @is avec des @bs @m\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1326
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Passe 1D : ajustement des @bs @m\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1331
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2208,18 +2208,18 @@
 "  a %r @b(s) @m, partagés avec %N fichier(s) :\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1337
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (@i n°%i, date de modification %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1342
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<métadonnée du @f>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1347
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2229,7 +2229,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1352
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2237,345 +2237,350 @@
 "@bs @m déjà été réassignés ou clonés.\n"
 "\n"
 
-#: e2fsck/problem.c:1366
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "N'a pu cloner le fichier : %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1372
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Passe 1E : Optimisation des arbres d'@x\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1378
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Échec d'optimisation de l'arbre d'@x %p (%i) : %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1383
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Optimisation des arbres d'@x : "
 
-#: e2fsck/problem.c:1398
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Erreur interne: la largeur maximale de l'arbre d'extents est trop grande (%b ; attendu=%c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1403
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "L'arbre d'@x de l'@i %i (au niveau %b) pourrait être plus court. "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1408
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "L'arbre d'@x de l'@i %i (au niveau %b) pourrait être plus étroit. "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1415
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Passe 2 : vérification de la structure des @ds\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1421
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "Numéro d'@i @n pour « . » dans l'@i de @d %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1426
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "L'@E a un n° d'@i @n : %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1431
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "L'@E a un @i @D/non utilisé %Di. "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1436
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "L'@E @L vers « . » "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1441
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "L'@E pointe vers l'@i (%Di) localisé dans un @b défectueux.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "L'@E @L vers le @d %P (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "L'@E @L vers l'@r.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "L'@E a un caractère illégal dans son nom.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1462
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "« . » manquant dans l'@i de @d %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1468
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "« .. » manquant dans l'@i de @d %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1473
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "La première @e « %Dn » (@i=%Di) dans l'@i de @d %i (%p) @s « . »\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1478
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "La seconde @e « %Dn » (@i=%Di) dans l'@i de @d %i @s « .. »\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1483
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "i_faddr @F %IF, @s zéro.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1488
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "i_file_acl @F %If, @s zéro.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1493
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "i_size_high @F %Id, @s zéro.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1498
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "i_frag @F %N, @s zéro.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1503
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "i_fsize @F %N, @s zéro.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1508
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "L'@i %i (%Q) a un mode @n (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "@i de @d %i, %B, déplacement %N : @d corrompu\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "@i de @d %i, %B, déplacement %N : nom de fichier trop long\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "L'@i de @d %i a un %B non alloué. "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1529
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "L'@e de @d « . » dans l'@i de @d %i n'est pas terminée pas un NULL\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1535
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "L'@e de @d « .. » dans l'@i de @d %i n'est pas terminée pas un NULL\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1540
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "L'@i %i (%Q) est un @v de caractère @I.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1545
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "L'@i %i (%Q) est un @v de @b @I.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "L'@E est un doublon de l'@e « . ».\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1555
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "L'@E est un doublon de l'@e « .. ».\n"
 
-#: e2fsck/problem.c:1561 e2fsck/problem.c:1925
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Erreur interne : impossible de trouver dir_info pour %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "L'@E a un rec_len de %Dr, @s %N.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "@A d'une structure icount : %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Erreur d'itération sur les @bs de @d : %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1583
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Erreur de lecture du @b %b de @d (@i %i) : %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1588
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Erreur d'écriture du @b %b de @d (@i %i) : %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "@A d'un nouveau @b de @d pour l'@i %i (%s) : %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1600
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Erreur lors de la désallocation de l'@i %i : %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1606
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "L'@e de @d pour « . » dans %p (%i) est grande.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1611
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "L'@i %i (%Q) est un FIFO @I.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1616
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "L'@i %i (%Q) est une socket @I.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1621
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Définition du type de fichier pour l'@E à %N.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1626
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "L'@E a un type de fichier incorrect (était %Dt, @s %N).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1631
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "L'@E a un type de fichier initialisé.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1636
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "L'@E a un nom @z.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1641
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Le lien symbolique %Q (@i n°%i) est @n.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1646
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "le @b d'@a @F @n (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1651
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr "le @f contient de grands fichiers, mais n'a pas le drapeau LARGE_FILE activé dans le @S.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1656
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "@p l'@h %d : %B n'est pas référencé\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1661
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "@p l'@h %d : %B est référencé deux fois\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1666
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "@p l'@h %d : %B a un hachage mininal erroné\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1671
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "@p l'@h %d : %B a un hachage maximal erroné\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1676
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "@h %d @n (%q). "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "le @f contient de grands répertoires, mais n'a pas le drapeau LARGE_DIR activé dans le @S.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1680
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "@p l'@h %d (%q) : numéro de @b %b erroné.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1691
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "@p l'@h %d : le noeud root est @n\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1696
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "@p l'@h %d : %B a une limite @n (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1701
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "@p l'@h %d : %B a un compteur @n (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1706
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "@p l'@h %d : %B a une table de hachage non ordonnée\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1711
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "@p l'@h %d : %B a une profondeur @n (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1716
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "@E doublon repérée. "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1721
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2587,7 +2592,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1726
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2598,160 +2603,175 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1731
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi @F %N, @s zéro.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1736
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "@b dans l'@h %d (%q) inattendu.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "@E référence l'@i %Di dans le @g %g où _INODE_UNINIT est positionné.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "@E référence l'@i %Di trouvé dans la zone d'i-noeuds non utilisés du @g %g.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "i_file_acl_hi @F %N, @s zéro.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1757
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "@p l'@h %d : le noeud root a une somme de contrôle incorrecte.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1763
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "@p l'@h %d : le noeud interne a une somme de contrôle incorrecte.\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1768
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "@i de @d %i, %B, déplacement %N : le @d n'a pas de somme de contrôle.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1773
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "@i de @d %i, %B: le @d passe les vérifications, mais a une somme de contrôle incorrecte.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1778
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "La taille de l'@i de @d en ligne (%N) doit être un multiple de 4.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "La correction de la taille de l'@i %i de @d en ligne a échoué.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1789
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "L'@E chiffrée est trop courte.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "L'@E chiffrée référence l'@i %Di non chiffré.\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "L'@E chiffrée référence l'@i %Di, qui a une politique de chiffrement différente.\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "L'@E a des caractères UTF-8 illégaux dans son nom.\n"
+
 #. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1794
+#: e2fsck/problem.c:1831
 msgid "Duplicate filename @E found.  "
 msgstr "@E de nom de fichier doublon repérée. "
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1801
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Passe 3 : vérification de la connectivité des @ds\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "L'@r n'est pas alloué. "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1811
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Pas d'espace dans le @d @l. "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1817
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "@i %i (%p) de @d non connecté\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "@i %i (était dans %q) de @d non connecté\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1822
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "/@l n'a pas été trouvé. "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1827
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "« .. » dans %Q (%i) est %P (%j), @s %q (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1833
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "/@l erroné ou inexistent. Ne peut reconnecter.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1839
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Ne peut étendre /@l : %m\n"
 
-#: e2fsck/problem.c:1845
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Ne peut reconnecter %i : %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1851
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Erreur lors de la tentative de repérage de /@l : %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1857
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_@b : %m lors de la tentative de création du @d /@l\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1863
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_@i : %m lors de la tentative de création du @d /@l\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1869
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_@b : %m lors de la tentative de création d'un nouveau @b de @d\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1875
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_@b : %m lors de la tentative d'écriture du @b de @d pour /@l\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1881
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Erreur lors de l'ajustement du compteur d'@i sur l'@i %i\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1887
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2762,7 +2782,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2772,41 +2792,41 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Erreur de création du @d racine (%s) : %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1910
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Erreur de création du @d /@l (%s) : %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1915
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "L'@r n'est pas un @d ; arrêt immédiat.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1920
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Ne peut procéder sans un @r.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/@l n'est pas un @d (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1936
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/@l a des données en ligne\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1941
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2817,7 +2837,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1946
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2827,52 +2847,58 @@
 "Libérez des données du @f et relancez e2fsck.\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1951
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/@l est chiffré\n"
 
-#: e2fsck/problem.c:1958
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "@i %i (%p) de @d en boucle récursive\n"
+
+#: e2fsck/problem.c:2002
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Passe 3A : optimisation des répertoires\n"
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Échec de création de l'itérateur dirs_to_hash : %m\n"
 
-#: e2fsck/problem.c:1969
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Échec d'optimisation du répertoire %q (%d) : %m\n"
 
-#: e2fsck/problem.c:1974
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Optimisation des répertoires : "
 
-#: e2fsck/problem.c:1991
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Passe 4 : vérification des compteurs de référence\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "@i %i @z @u. "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:2003
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "@i %i @u\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:2008
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "le compteur de référence de l'@i %i est %Il, @s %N. "
 
 #. @-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
-#: e2fsck/problem.c:2012
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2884,151 +2910,151 @@
 "\ti-node.i_links_count est %Il. Ils devraient être les mêmes !\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "le compteur de référence de l'@i d'@a %i est %N, @s %n. "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:2024
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "le @d dépasse ne nombre de liens maximum, mais la fonctionalité DIR_NLINK n'est pas activée dans le @S.\n"
 
 #. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
-#: e2fsck/problem.c:2029
+#: e2fsck/problem.c:2073
 msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
 msgstr "Le compteur de référence de l'@i de @d %i est à la valeur de débordement mais pourrait être à la valeur exacte %N. "
 
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2036
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Passe 5 : vérification de l'information du sommaire de @g\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr "Le remplissage à la fin du @B d'@i n'est pas initialisé. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2046
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
 msgstr "Le remplissage à la fin du @B de @bs n'est pas initialisé. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2051
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "différences de @B de @bs : "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "différences de @B d'@is : "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2095
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Le décompte des @is libres est erroné pour le @g n°%g (%i, décompté=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Le décompte des répertoires est erroné pour le @g n°%g (%i, décompté=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2105
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Le décompte des @is libres est erroné (%i, décompté=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2110
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Le décompte des @bs libres est erroné pour le @g n°%g (%b, décompté=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2115
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Le décompte des @bs libres est erroné (%b, décompté=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2120
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr "ERREUR DE PROGRAMMATION : les points de terminaison (%b, %c) de @Bs du @f (n°%N) ne concordent pas avec les points de terminaison de @Bs calculés (%i, %j)\n"
 
-#: e2fsck/problem.c:2126
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Erreur interne : ajustement approximatif de la fin du bitmap (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2132
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Erreur lors de la copie du @B d'@is de remplacement : %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2138
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Erreur lors de la copie du @B des @bs de remplacement : %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2168
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "Un ou des @b(s) du @g %g en cours d'utilisation alors que le @g est marqué BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2174
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "Un ou des @i(s) du @g %g en cours d'utilisation alors que le @g est marqué INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2180
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "Le @B d'@i du @g %g ne correspond pas à la somme de contrôle.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2186
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "Le @B de @b du @g %g ne correspond pas à la somme de contrôle.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2193
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "Recréer le @j"
 
-#: e2fsck/problem.c:2198
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "Mise à jour de l'information de quota pour le type de quota %N"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2204
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Erreur lors de l'initialisation de l'information de checksum du @g de @b\n"
 
-#: e2fsck/problem.c:2210
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Erreur lors de l'écriture de l'information de système de fichier: %m\n"
 
-#: e2fsck/problem.c:2216
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Erreur lors de la vidange des tampons d'écriture vers le périphérique de stockage: %m\n"
 
-#: e2fsck/problem.c:2221
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Erreur lors de l'écriture de l'information de quota pour le type de quota %N: %m\n"
 
-#: e2fsck/problem.c:2384
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Code d'erreur non traité (0x%x) !\n"
 
-#: e2fsck/problem.c:2514 e2fsck/problem.c:2518
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "IGNORÉ"
 
@@ -3046,6 +3072,10 @@
 msgid "size of inode=%d\n"
 msgstr "taille de l'i-noeud=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "lors de l'ouverture de l'examen d'i-noeuds"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "lors du démarrage de l'examen des i-noeuds"
@@ -3064,15 +3094,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "lors de l'appel à ext2fs_adjust_ea_refcount2 pour l'i-noeud %u"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "Lors de la troncature de"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Lors de l'effacement de"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3083,7 +3113,7 @@
 "\t\t[-l|-L fichiers-des-blocs-défectueux] [-C fd] [-j journal-externe]\n"
 "\t\t[-E options-étendues] périphérique\n"
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3103,7 +3133,7 @@
 " -f                   Forcer la vérification même si le système de fichiers\n"
 "                      est marqué propre\n"
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3125,12 +3155,12 @@
 " -z fichier-d-annulation\n"
 "                      Créer un fichier d'annulation\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s : %u/%u fichiers (%0d.%d%% non contigus), %llu/%llu blocs\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3145,51 +3175,51 @@
 "\n"
 "%12u i-noeuds utilisés (%2.2f%%, sur %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
 msgstr[0] "%12u fichier non contigu (%0d.%d%%)\n"
 msgstr[1] "%12u fichiers non contigus (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
 msgstr[0] "%12u répertoire non contigu (%0d.%d%%)\n"
 msgstr[1] "%12u répertoires non contigus (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             nombre d'i-noeuds avec des blocs ind/dind/tind : %u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr "             Histogramme des profondeurs d'extents : "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] "%12llu bloc utilisé (%2.2f%%, sur %llu)\n"
 msgstr[1] "%12llu blocs utilisés (%2.2f%%, sur %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] "%12u bloc défectueux\n"
 msgstr[1] "%12u blocs défectueux\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] "%12u fichier de grande taille\n"
 msgstr[1] "%12u fichiers de grande taille\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3204,96 +3234,96 @@
 "\n"
 "%12u fichiers normaux\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
 msgstr[0] "%12u répertoire\n"
 msgstr[1] "%12u répertoires\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
 msgstr[0] "%12u fichier de périphérique en mode caractère\n"
 msgstr[1] "%12u fichiers de périphérique en mode caractère\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
 msgstr[0] "%12u fichier de périphérique en mode bloc\n"
 msgstr[1] "%12u fichiers de périphérique en mode bloc\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] "%12u fifo\n"
 msgstr[1] "%12u fifos\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] "%12u lien\n"
 msgstr[1] "%12u liens\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] "%12u lien symbolique"
 msgstr[1] "%12u liens symboliques"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
 msgstr[0] " (%u lien symbolique rapide)\n"
 msgstr[1] " (%u liens symboliques rapides)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
 msgstr[0] "%12u socket\n"
 msgstr[1] "%12u sockets\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] "%12u fichier\n"
 msgstr[1] "%12u fichiers\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3072 misc/util.c:129
-#: resize/main.c:356
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "lors de la détermination à savoir si %s est monté."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Attention ! %s est monté.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Attention ! %s est en cours d'utilisation.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s est monté.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s est en cours d'utilisation.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3301,7 +3331,7 @@
 "Ne peut continuer, arrêt immédiat.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3315,85 +3345,85 @@
 "vous ***CAUSEREZ*** des dommages ***SÉVÈRES*** au système de fichiers.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "Souhaitez-vous réellement continuer"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "vérification stoppée.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " contient un système de fichiers comportant des erreurs"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " n'a pas été démonté proprement"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr " les fonctionnalités du superbloc primaire diffèrent de celles de la sauvegarde"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " a été monté %u fois sans avoir été vérifié"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " a une date de dernière vérification du système de fichiers dans le futur"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " a passé %u jours sans avoir été vérifié"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr "ignorons l'intervale de vérification, broken_system_clock est activé\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", vérification forcée.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s : propre, %u/%u fichiers, %llu/%llu blocs"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr " (vérification remise à plus tard : sur batterie)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (vérification lors du prochain montage)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (vérification dans %ld montages)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "ERREUR : ne peut ouvrir /dev/null (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Version EA invalide.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "Taille de tampon de lecture anticipée invalide.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Option étendue inconnue : %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3406,15 +3436,15 @@
 "valides sont:\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "\tea_ver=<version_ea (1 ou 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "\treadahead_kb=<taille buffer>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3424,55 +3454,65 @@
 "\tligne n°%d)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "ERREUR lors de la validation du descripteur de fichier %d : %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr "Descripteur de fichier d'information de complétion invalide"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Seule une des options -p/-a, -n ou -y peut être spécifiée."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "L'option -t n'est pas supportée sur cette version d'e2fsck.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1721 misc/tune2fs.c:2016 misc/tune2fs.c:2034
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Impossible de résoudre « %s »"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr "Les options -n et -D sont incompatibles."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr "Les options -n et -c sont incompatibles."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr "Les options -n et -l/-L sont incompatibles."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Les options -D et -E fixes_only sont incompatibles."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Les options -E bmap2extent et fixes_only sont incompatibles."
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "lors de l'ouverture de %s pour la vidange"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "lors de la tentative de vidange de %s"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "Les options -c et -l/-L ne peuvent pas être utilisées simultanément.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3481,7 +3521,7 @@
 "E2FSCK_JBD_DEBUG « %s » n'est pas un entier\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3492,16 +3532,16 @@
 "Argument non numérique invalide pour -%c (« %s »)\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "L'intervale de protection contre montage multiple (MMP) est de %u secondes et temps total d'attente est de %u seconds. Veuillez patienter...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "lors de la vérification du block MMP"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3510,13 +3550,13 @@
 "Si vous êtes sûr(e) que le système de fichiers n'est en cours d'utilisation sur aucun noeud, lancer:\n"
 "'tune2fs -f -E clear_mmp %s'\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "lors de la lecture du bloc MMP"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2708 misc/mke2fs.c:2759 misc/tune2fs.c:2798
-#: misc/tune2fs.c:2843 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3527,57 +3567,57 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2748 misc/tune2fs.c:2832
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "lors de la tentative d'effacement de %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2774 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "lors de la tentative de mise en place du fichier d'annulation\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Erreur : la version de la bibliothèque ext2fs est périmée !\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "lors de la tentative d'initialisation du programme"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\tUtilisation de %s, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "a besoin d'un terminal pour des réparations en mode interactif"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s : %s tentons d'utiliser les blocs de sauvetage...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "Superbloc invalide,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Les descripteurs de groupe semblent en mauvais état..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s : %s lors de l'utilisation des blocs de sauvetage"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s : retour au superblock originel\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3588,30 +3628,30 @@
 "corrompu)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "Peut-être cette partition est-elle de taille zéro ?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Vous devez avoir un accès %s au système de fichiers ou être root\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Périphérique peut-être inexistent ou pour le swap ?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr ""
 "Système de fichier monté ou ouvert en mode exclusif par un autre\n"
 "programme ?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "Périphérique peut-être inexistant ?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3619,79 +3659,79 @@
 "Disque protégé en écriture ; utilisez l'option -n pour effectuer une\n"
 "vérification du périphérique en lecture seule.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: Essai de chargement du superblock malgré les erreurs...\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr "Veuillez obtenir une version plus récente d'e2fsck !"
 
-#: e2fsck/unix.c:1748
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "lors de la vérification du journal pour %s"
 
-#: e2fsck/unix.c:1751
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr "Ne peut procéder à une vérification du système de fichier."
 
-#: e2fsck/unix.c:1762
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr ""
 "Avertissement : saute la récupération du journal puisque l'on\n"
 "procède à l'examen d'un système de fichiers en lecture seule.\n"
 
-#: e2fsck/unix.c:1774
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "impossible d'initialiser les drapeaux du superbloc sur %s\n"
 
-#: e2fsck/unix.c:1780
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Erreur de somme de contrôle de journal trouvée dans %s\n"
 
-#: e2fsck/unix.c:1784
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Journal corrompu dans %s\n"
 
-#: e2fsck/unix.c:1788
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "lors de la récupération du journal de %s"
 
-#: e2fsck/unix.c:1810
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s a une(des) fonctionnalité(s) non supportée(s) :"
 
-#: e2fsck/unix.c:1825
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s a un encodage non supporté : %0x\n"
 
-#: e2fsck/unix.c:1875
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s : %s lors de la lecture de l'i-noeud des blocs défectueux\n"
 
-#: e2fsck/unix.c:1878
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Cela ne semble pas être bien, mais on va quand même essayer...\n"
 
-#: e2fsck/unix.c:1918
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Création du journal (%d blocs) : "
 
-#: e2fsck/unix.c:1928
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr "Complété.\n"
 
-#: e2fsck/unix.c:1930
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3699,24 +3739,24 @@
 "\n"
 "*** le journal a été regénéré ***\n"
 
-#: e2fsck/unix.c:1936
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "arrêté"
 
-#: e2fsck/unix.c:1938
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s : e2fsck a été annulé.\n"
 
-#: e2fsck/unix.c:1965
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "Re-démarrons e2fsck depuis le début...\n"
 
-#: e2fsck/unix.c:1969
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "lors de la réinitialisation du contexte"
 
-#: e2fsck/unix.c:2028
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
@@ -3725,12 +3765,12 @@
 "\n"
 "%s: ***** LES ERREURS DU SYSTÈME DE FICHIERS ONT ÉTÉ CORRIGÉES *****\n"
 
-#: e2fsck/unix.c:2030
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: Le système de fichier a été modifié.\n"
 
-#: e2fsck/unix.c:2034 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3739,12 +3779,12 @@
 "\n"
 "%s: ***** LE SYSTÈME DE FICHIERS A ÉTÉ MODIFIÉ *****\n"
 
-#: e2fsck/unix.c:2039
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s : ***** RÉ-AMORCER LE SYSTÈME *****\n"
 
-#: e2fsck/unix.c:2049 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3755,51 +3795,51 @@
 "%s : **ATTENTION : le système de fichiers contient encore des erreurs**\n"
 "\n"
 
-#: e2fsck/util.c:195 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "oO"
 
-#: e2fsck/util.c:196 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:197
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "tT"
 
-#: e2fsck/util.c:201
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " ('t' active 'oui' pour tout) "
 
-#: e2fsck/util.c:218
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<o>"
 
-#: e2fsck/util.c:220
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:222
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (o/n)"
 
-#: e2fsck/util.c:245
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "annulé !\n"
 
-#: e2fsck/util.c:278
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "oui pour tout\n"
 
-#: e2fsck/util.c:280
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "oui\n"
 
-#: e2fsck/util.c:282
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "non\n"
 
-#: e2fsck/util.c:292
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3808,7 +3848,7 @@
 "%s ? non\n"
 "\n"
 
-#: e2fsck/util.c:296
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3817,38 +3857,38 @@
 "%s ? oui\n"
 "\n"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "oui"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "non"
 
-#: e2fsck/util.c:316
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps : bloc(s) de bitmap illégal(aux) pour %s"
 
-#: e2fsck/util.c:321
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "la lecture des bitmaps d'i-noeuds et de blocs"
 
-#: e2fsck/util.c:333
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "lors de la tentative de re-lecture des bitmaps pour %s"
 
-#: e2fsck/util.c:345
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "l'écriture des bitmaps de blocs et d'i-noeuds"
 
-#: e2fsck/util.c:350
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "lors d'une nouvelle tentative d'écriture de bitmaps de blocs et d'i-noeuds pour %s"
 
-#: e2fsck/util.c:362
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3861,37 +3901,37 @@
 "%s: INCONSISTENCE INATTENDUE ; EXÉCUTEZ fsck MANUELLEMENT.\n"
 "\t(i.e., sans options -a ou -p)\n"
 
-#: e2fsck/util.c:442
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
 msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Mémoire utilisée : %lluk/%lluk (%lluk/%lluk), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
 msgid "Memory used: %lluk, "
 msgstr "Mémoire utilisée : %llu, "
 
-#: e2fsck/util.c:454
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "temps : %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:459
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "temps écoulé : %6.3f\n"
 
-#: e2fsck/util.c:494 e2fsck/util.c:508
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "lors de la lecture de l'i-noeud %lu dans %s"
 
-#: e2fsck/util.c:522 e2fsck/util.c:535
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "lors de l'écriture de l'i-noeud %lu dans %s"
 
-#: e2fsck/util.c:793
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "INCOHÉRENCE INATTENDUE : le système de fichiers a été modifié pendant le déroulement de fsck.\n"
 
@@ -4011,54 +4051,64 @@
 msgid "during test data write, block %lu"
 msgstr "lors du test d'écriture de données, bloc %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s est monté ; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr ""
 "l'exécution de badblocks est tout de même forcée.\n"
 "Espérons que /etc/mtab est incorrect.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "il n'est pas prudent d'exécuter badblocks !\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s est apparemment utilisé par le système ; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "blocs erronés forcés de toutes manières.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "%s invalide - %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "Nombre maximum de blocs défectueux %u trop grand - le maximum est %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "ne peut allouer de la mémoire pour motif_de_test - %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "Au plus un seul motif_de_test peut être spécifé en mode lecture seule"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "Un motif_de_test aléatoire n'est pas permis en mode lecture seule"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Taille invalide de bloc : %d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Paramètre blocks_at_once invalide : %d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4066,56 +4116,56 @@
 "Ne peut déterminer la taille du périphérique ; vous devez spécifier\n"
 "la taille manuellement\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "lors de la tentative de détermination de la taille du périphérique"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "dernier bloc"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "premier bloc"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "bloc de départ invalide (%llu) : doit être moins de %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "bloc de départ invalide (%llu) : doit être une valeur sur 32 bit"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "lors de la création en mémoire d'une liste des blocs défectueux"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "fichier d'entrée - mauvais format"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "lors de l'ajout en mémoire à la liste des blocs défectueux"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Passe complétée, %u blocs défectueux repérés. (%d/%d/%d erreurs)\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
-msgstr "Utilisation : %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] fichiers...\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "Utilisation : %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p projet] [-v version] fichiers...\n"
 
-#: misc/chattr.c:161
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "projet erroné - %s\n"
 
-#: misc/chattr.c:175
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "version erronée - %s\n"
@@ -4177,8 +4227,8 @@
 msgid "while reading inode %u"
 msgstr "lors de la lecture de l'i-noeud %u"
 
-#: misc/create_inode.c:90 misc/create_inode.c:290 misc/create_inode.c:355
-#: misc/create_inode.c:393
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "lors de l'extension du répertoire"
 
@@ -4187,12 +4237,12 @@
 msgid "while linking \"%s\""
 msgstr "lors de la liaison de « %s »"
 
-#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:324
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "lors de l'écriture de l'i-noeud %u"
 
-#: misc/create_inode.c:154 misc/create_inode.c:178
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "lors du listage des attributs de « %s »"
@@ -4202,129 +4252,134 @@
 msgid "while opening inode %u"
 msgstr "lors de l'ouverture de l'i-noeud %u"
 
-#: misc/create_inode.c:171 misc/create_inode.c:198 misc/create_inode.c:1045
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "lors de la lecture des xattrs pour l'i-noeud %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "lors d'une allocation mémoire"
 
-#: misc/create_inode.c:191 misc/create_inode.c:207
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "lors de la lecture de l'attribut « %s » de « %s »"
 
-#: misc/create_inode.c:216
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "lors de l'écriture de l'attribut « %s » dans l'i-noeud « %u »"
 
-#: misc/create_inode.c:226
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "lors de la fermeture de l'i-noeud %u"
 
-#: misc/create_inode.c:277
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "lors de l'allocation de l'i-noeud « %s »"
 
-#: misc/create_inode.c:296
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "lors de la création de l'i-noeud « %s »"
 
-#: misc/create_inode.c:362
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "lors de la création du lien symbolique « %s »"
 
-#: misc/create_inode.c:380 misc/create_inode.c:965
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "lors de la recherche de « %s »"
 
-#: misc/create_inode.c:400
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "lors de la création du répertoire « %s »"
 
-#: misc/create_inode.c:629
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "lors de l'ouverture de « %s » pour copie"
 
-#: misc/create_inode.c:807
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "lors du changement de répertoire courant vers « %s »"
 
-#: misc/create_inode.c:817
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "lors du parcours du répertoire « %s »"
 
-#: misc/create_inode.c:827
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "lors d'un lstat sur « %s »"
 
-#: misc/create_inode.c:877
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "lors de la création du fichier spécial « %s »"
 
-#: misc/create_inode.c:886
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "échec de malloc"
 
-#: misc/create_inode.c:894
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "lors de la tentative de lecture du lien « %s »"
 
-#: misc/create_inode.c:901
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "la taille du lien symbolique a augmenté entre lstat() et readlink()"
 
-#: misc/create_inode.c:912
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "lors de l'écriture du lien symbolique « %s »"
 
-#: misc/create_inode.c:923
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "lors de l'écriture du fichier « %s »"
 
-#: misc/create_inode.c:936
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "lors de la fabrication du répertoire « %s »"
 
-#: misc/create_inode.c:954
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "lors du changement de répertoire"
 
-#: misc/create_inode.c:960
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "ignorons l'entrée « %s »"
 
-#: misc/create_inode.c:973
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "lors de l'initialisation de l'i-noeud pour « %s »"
 
-#: misc/create_inode.c:980
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "lors de l'initialisation des xattrs pour « %s »"
 
-#: misc/create_inode.c:1006
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "lors de la sauvegarde des données de l'i-noeud"
 
-#: misc/create_inode.c:1056
+#: misc/create_inode.c:1077
 msgid "while copying xattrs on root directory"
 msgstr "lors de la copie des xattrs sur le répertoire racine"
 
@@ -4444,59 +4499,59 @@
 msgid "while printing bad block list"
 msgstr "lors de l'affichage de la liste des blocs défectueux"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Blocs défectueux : %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:375
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "lors de la lecture de l'i-noeud du journal"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr "lors de l'ouverture de l'i-noeud du journal"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "lors de la lecture du journal du superbloc"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Le numéro magique du superbloc de journal est invalide !\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:218
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "lors de la lecture du journal du superbloc"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Ne peut trouver les numéros magiques du superbloc du journal"
 
-#: misc/dumpe2fs.c:470
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr "n'a pus allouer de tampon MMP\n"
 
-#: misc/dumpe2fs.c:481
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "lecture du bloc MMP %llu depuis '%s'\n"
 
-#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2056
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Impossible d'allouer de la mémoire pour analyser les options !\n"
 
-#: misc/dumpe2fs.c:537
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Paramètre de superbloc invalide : %s\n"
 
-#: misc/dumpe2fs.c:552
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Paramètre de taille de bloc invalide : %s\n"
 
-#: misc/dumpe2fs.c:563
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4520,27 +4575,27 @@
 "\tblocksize=<taille de bloc>\n"
 "\n"
 
-#: misc/dumpe2fs.c:653 misc/mke2fs.c:1892
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tUtilisation de %s\n"
 
-#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2998
-#: resize/main.c:418
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Impossible de trouver un superbloc de système de fichiers valide.\n"
 
-#: misc/dumpe2fs.c:720
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: la fonctionalité MMP n'est pas activée.\n"
 
-#: misc/dumpe2fs.c:751
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "lors de la tentative de lecture des bitmaps '%s'\n"
 
-#: misc/dumpe2fs.c:760
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4548,193 +4603,197 @@
 "*** Lancez e2fsck maintenant !\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
 msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
 msgstr "Utilisation : %s [ -r|Q ] [ -f ] [ -b superbloc ] [ -B taille_bloc ] périphérique fichier_image\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "              %s -I périphérique fichier_image\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
 msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr "              %s -ra [ -cfnp ] [ -o décalage-src ] [ -O décalage-dst ] src_fs [ dest_fs ]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "lors de l'allocation d'un tampon"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "Écriture du bloc %llu\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr "Erreur lors de d'écriture du bloc %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "erreur dans generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Erreur : la taille d'en-tête est plus grande que wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr "Ne peut allouer un tampon d'en-tête\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "lors de l'écriture du superbloc"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "lors de l'écriture de la table d'i-noeuds"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "lors de l'écriture du bitmap de blocs"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "lors de l'écriture du bitmap d'i-noeuds"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Bloc des répertoires %llu corrompu: mauvais rec_len (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Bloc des répertoires %llu corrompu: mauvais name_len (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu / %llu blocs (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "Copie "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr "Arrêter maintenant va détruire le système de fichier, interrompez de nouveau si vous êtes sûr\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " reste %s à %.2f Mo/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr "erreur de lecture du bloc %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Copié %llu / %llu blocs (%d%%) dans %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "à %.2f Mo/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr "lors de l'allocation d'une table l1"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr "lors de l'allocation d'un cache l2"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 "Attention : Il reste des tables dans le cache lors de la libération du cache, les données seront perdue, et donc l'image pourrait ne pas être valide.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr "lors de l'allocation de ext2fs_qcow2_image"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr "lors de l'initialization de ext2fs_qcow2_image"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Erreur de programmation : plusieurs blocs séquentiels refcount ont été créés !\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr "lors de l'allocation d'un bitmap de blocs"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr "lors de l'allocation d'un bitmap de bloc scamble"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr "Examen des i-noeuds...\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr "Ne peut allouer le tampon de bloc"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "lors de l'obtention de l'i-noeud suivant"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "lors de l'iteration sur l'i-noeud %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "Les images brutes et qcow2 ne peuvent pas être installée"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "erreur lors de la lecture des bitmaps"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "lors de l'ouverture du fichier de périphérique"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr "lors de la restauration de de la table de l'image"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "L'option -a ne peut être utilisée qu'avec les images brutes ou QCOW2."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "L'option -b ne peut être utilisée qu'avec les images brutes ou QCOW2."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr "Les décalages ne sont autorisés qu'avec les images brutes."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr "Le mode de déplacement n'est autorisé qu'avec les images brutes."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr "Le mode de déplacement nécessite tous les mode de données."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "vérification de montage existant"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4747,56 +4806,56 @@
 "de débuggage. Utilisez l'option -f si vous voulez réellement faire\n"
 "cela.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "Une image QCOW2 ne peut pas être écrite sur stdout !\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr "Ne peut pas examiner la sortie\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "L'image (%s) est compressée\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "L'image (%s) est chiffrée\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "L'image (%s) est corrompue\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "lors de l'essai de conversion de l'image qcow2 (%s) en image brute (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr "L'option -c n'est supportée qu'en mode brut\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "L'option -c n'est pas supportée avec écriture sur stdout\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr "lors de l'allocation de check_buf"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr "L'option -p n'est supportée qu'en mode brut\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d blocs contenaient déjà les données devant être copiées\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Utilisation : %s -r périphérique\n"
@@ -4821,7 +4880,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label : n'est pas un système de fichiers ext2\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3203
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Avertissement : étiquette trop longue, sera tronquée.\n"
@@ -4836,7 +4895,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label : erreur lors de l'écriture du superbloc\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1713
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Utilisation : e2label périphérique [nouvelle_étiquette]\n"
@@ -4846,151 +4905,151 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Utilisation : %s [-f] [-h] [-n] [-o décalage] [-v] [-z fichier_annulation] <fichier transaction> <système de fichiers>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "Le superbloc du système de fichier ne correspond pas au fichier d'annulation\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "L'UUID ne correspond pas.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "La date de dernier montage ne correspond pas.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "La date de dernière écriture ne correspond pas.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Le compteur de durée de vie d'écriture ne correspond pas.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "lors de la lecture superbloc du système de fichiers."
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "lors de la récupération du superbloc"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "La somme de contrôle du superbloc du fichier d'annulation ne correspond pas.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "décalage illégal - %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "On ne peut pas écrire dans un fichier d'annulation pendant son rejeu.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "lors de l'ouverture du fichier d'annulation « %s »\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "lors de la lecture du fichier d'annulation"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s : N'est pas un fichier d'annulation\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: La somme de contrôle de l'en-tête ne correspond pas.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: En-tête de fichier d'annulation corrompu.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: La taille de bloc d'annulation est trop grande.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: Taille de bloc d'annulation trop petite.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: Fonctionnalité de fichier d'annulation inconnue positionnée.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Erreur lors la détermination à savoir si %s est monté."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo ne devrait être lancé que sur des systèmes de fichiers non montés"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "lors de l'ouverture de « %s »"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "le décalage spécifié est trop grand"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "lors de la lecture des clés"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: nombre magique de clé incorrect à %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: erreur de somme de contrôle du bloc de clé à %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: le bloc %llu est trop long."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "lors de la récupération du bloc %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "erreur de somme de contrôle dans le bloc de système de fichier %llu (bloc d'annulation %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "lors de d'écriture du bloc %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Fichier d'annulation corrompu ; lancez e2fsck MAINTENANT !\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "Erreur d'E/S pendant le rejeu ; lancez e2fsck MAINTENANT !\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Enregistrement d'annulation incomplet ; lancez e2fsck.\n"
@@ -5048,17 +5107,17 @@
 "\n"
 "%11Lu: terminé avec errno %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "ATTENTION : impossible d'ouvrir %s : %s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr "ATTENTION : format erroné sur la ligne %d de %s\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5071,37 +5130,37 @@
 "\tpossible.\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck : %s : non trouvé\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr "%s : wait : plus de processus fils ?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr "Avertissement... %s pour le périphérique %s s'est terminé avec le signal %d.\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr "%s %s : l'état est %x, ne devrait jamais se produire.\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Terminé avec %s (état de fin d'exécution %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr "%s : Erreur %d lors de l'exécution de fsck.%s pour %s\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
@@ -5109,88 +5168,93 @@
 "Soit tous ou aucun des types de systèmes de fichiers passés à -t doivent\n"
 "être préfixés par « no » ou « ! ».\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr "Impossible d'allouer de la mémoire pour les types de systèmes de fichiers\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr "%s : saut de la mauvaise ligne de /etc/fstab : montage « bind » avec un numéro de passe fsck non nul\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr "fsck : ne peut pas vérifier %s : fsck.%s non trouvé\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "Vérification de tous les systèmes de fichiers.\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "--en attente-- (passe %d)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr "Utilisation : fsck [-AMNPRTV] [ -C [ fd ] ] [-t type_sys_fichiers] [options_sys_fichiers] [sys_fichiers...]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s : trop de périphériques\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s : trop d'arguments\n"
 
-#: misc/fuse2fs.c:3740
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Montage en lecture seule.\n"
 
-#: misc/fuse2fs.c:3764
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: Utilisateurs autorisés à allouer tous les blocs. Ceci est dangereux !\n"
 
-#: misc/fuse2fs.c:3776 misc/fuse2fs.c:3790
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3098
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "SVP exécutez e2fsck -fy %s.\n"
 
-#: misc/fuse2fs.c:3799
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s : montage en lectur seule sans récupération du journal\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Le journal a besoin d'une récupération ; lancer « e2fsck -E journal_only » est nécessaire.\n"
 
-#: misc/fuse2fs.c:3807
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: Écrire dans le journal n'est pas supporté.\n"
 
-#: misc/fuse2fs.c:3822
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Avertissement: Montage d'un système de fichier non vérifié, lancer e2fsck est recommandé.\n"
 
-#: misc/fuse2fs.c:3826
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Avertissement: Nombre maximum de montage atteint, lancer e2fsck est recommandé.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Avertissement: Date de vérification atteinte ; lancer e2fsck est recommandé.\n"
 
-#: misc/fuse2fs.c:3835
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Orphelins détectés ; lancer e2fsck est recommandé.\n"
 
-#: misc/fuse2fs.c:3839
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Erreurs détectées ; lancer e2fsck est requis.\n"
 
@@ -5214,7 +5278,11 @@
 msgid "While reading version on %s"
 msgstr "Lors de la lecture de la version sur %s"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "Ne peut allouer une variable de chemin dans lsattr_dir_proc\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5237,35 +5305,35 @@
 "\t[-U UUID] [-e comportement_erreur] [-z fichier_annulation]\n"
 "\t[-jnqvDFSV] périphérique [nombre-de-blocs]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Exécution de la commande : %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "durant la tentative d'exécution de « %s »"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "lors du traitement de la liste des blocs défectueux à partir du programme"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Bloc %d dans la zone du descripteur de superbloc/groupe primaire est défectueux.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "Les blocs de %u à %u doivent être en bon état pour générer le système de fichiers.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Arrêt immédiat...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5276,19 +5344,19 @@
 "\tbloc %u contiennent des blocs défectueux.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "lors du marquage des blocs défectueux en tant qu'utilisés"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "lors de l'écriture des i-noeuds réservés"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Écriture des tables d'i-noeuds : "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5297,76 +5365,80 @@
 "\n"
 "Impossible d'écrire %d blocs dans la table d'i-noeuds débutant à %llu : %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2821 misc/mke2fs.c:3226
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "complété                        \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "lors de la création du répertoire racine"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "lors de la lecture de l'i-noeud racine"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "lors de l'initialisation de la propriété de l'i-noeud racine"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "lors de la création de /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "lors de la recherche de /lost+found"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "lors de l'extension de /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "lors de l'initialisation de l'i-noeud des blocs défectueux"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Mémoire épuisée lors de l'effacement des secteurs %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Avertissement : impossible de lire le bloc 0 : %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Avertissement : impossible d'effacer le secteur %d : %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "lors du découpage de la taille du journal"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "lors de l'initialisation du journal du superbloc"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Mise à zéro du périphérique de journal : "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "lors de la mise à zéro du périphérique de journal (bloc %llu, compte %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "lors de l'écriture du superbloc de journal"
 
-#: misc/mke2fs.c:664
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "En train de créer un système de fichiers avec %llu %dk blocs et %u i-noeuds.\n"
 
-#: misc/mke2fs.c:672
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5375,168 +5447,168 @@
 "Avertissement : %llu blocs inutilisés.\n"
 "\n"
 
-#: misc/mke2fs.c:675
+#: misc/mke2fs.c:688
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr "Étiquette de système de fichiers=%.*s\n"
 
-#: misc/mke2fs.c:679
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "Type de système d'exploitation : %s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Taille de bloc=%u (log=%u)\n"
 
-#: misc/mke2fs.c:684
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Taille de cluster=%u (log=%u)\n"
 
-#: misc/mke2fs.c:688
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Taille de fragment=%u (log=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "« Stride » = %u blocs, « Stripe width » = %u blocs\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u i-noeuds, %llu blocs\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu blocs (%2.2f%%) réservés pour le super utilisateur\n"
 
-#: misc/mke2fs.c:697
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Premier bloc de données=%u\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Propriétaire du répertoire racine=%u:%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Nombre maximum de blocs du système de fichiers=%lu\n"
 
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u groupes de blocs\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u groupe de bloc\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u blocs par groupe, %u clusters par groupe\n"
 
-#: misc/mke2fs.c:712
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u blocs par groupe, %u fragments par groupe\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u i-noeuds par groupe\n"
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "UUID de système de fichiers=%s\n"
 
-#: misc/mke2fs.c:724
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Superblocs de secours stockés sur les blocs : "
 
-#: misc/mke2fs.c:820
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s nécessite '-O 64bit'\n"
 
-#: misc/mke2fs.c:826
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "'%s' doit être avant 'resize=%u'\n"
 
-#: misc/mke2fs.c:839
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "desc_size invalide: '%s'\n"
 
-#: misc/mke2fs.c:853
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "Graine de hachage invalide: %s\n"
 
-#: misc/mke2fs.c:865
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Décalage invalide : %s\n"
 
-#: misc/mke2fs.c:879 misc/tune2fs.c:2084
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "mmp_update_interval invalide : %s\n"
 
-#: misc/mke2fs.c:896
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Nombre de superbloc de secours invalide : %s\n"
 
-#: misc/mke2fs.c:918
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Paramètre « stride » invalide : %s\n"
 
-#: misc/mke2fs.c:933
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Paramètre « stripe-width » invalide : %s\n"
 
-#: misc/mke2fs.c:956
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Paramètre de changement de taille invalide : %s\n"
 
-#: misc/mke2fs.c:963
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr ""
 "La taille maximale de l'agrandissement doit être plus grande que la taille\n"
 "du système de fichiers.\n"
 
-#: misc/mke2fs.c:987
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr ""
 "Le changement de taille en ligne n'est pas supportée avec les systèmes de\n"
 "fichiers de version 0\n"
 
-#: misc/mke2fs.c:1013 misc/mke2fs.c:1022
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "root_owner invalide : « %s »\n"
 
-#: misc/mke2fs.c:1067
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "Encodage invalide : %s"
 
-#: misc/mke2fs.c:1085
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5589,7 +5661,7 @@
 "\tquotatype=<type(s) de quota(s) à activer>\n"
 "\n"
 
-#: misc/mke2fs.c:1112
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5600,17 +5672,17 @@
 "Attention : le « stripe-width » RAID %u n'est pas multiple impair du « stride » %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1123 misc/tune2fs.c:2220
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr "erreur : drapeau d'encodage invalide: %s\n"
 
-#: misc/mke2fs.c:1129 misc/tune2fs.c:2229
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr "erreur : Un encodage doit être explicitement spécifié lorsque encoding-flags est passé\n"
 
-#: misc/mke2fs.c:1177
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5620,17 +5692,17 @@
 "\t(%s, ligne n°%d)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1190 misc/tune2fs.c:1072
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Jeu d'options de système de fichiers invalide : %s\n"
 
-#: misc/mke2fs.c:1202 misc/tune2fs.c:419
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Jeu d'options pour le montage invalide : %s\n"
 
-#: misc/mke2fs.c:1338
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5640,7 +5712,7 @@
 "Votre mke2fs.conf ne précise pas le type de système de fichiers de\n"
 "%s.\n"
 
-#: misc/mke2fs.c:1342
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5648,11 +5720,11 @@
 "Il vous faut sans doute installer un fichier mke2fs.conf mis à jour.\n"
 "\n"
 
-#: misc/mke2fs.c:1346
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "Arrêt immédiat...\n"
 
-#: misc/mke2fs.c:1387
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5663,81 +5735,81 @@
 "Avertissement : le fs_type %s n'est pas défini dans mke2fs.conf\n"
 "\n"
 
-#: misc/mke2fs.c:1574
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Impossible d'allouer de la mémoire pour un nouveau chemin.\n"
 
-#: misc/mke2fs.c:1611
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "N'a pu initialiser le profilage correctement (erreur : %ld).\n"
 
-#: misc/mke2fs.c:1644
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "taille invalide des blocs - %s"
 
-#: misc/mke2fs.c:1648
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr ""
 "Avertissement : la taille de bloc %d n'est pas utilisable\n"
 "sur la plupart des systèmes.\n"
 
-#: misc/mke2fs.c:1664
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "taille de cluster invalide - %s"
 
-#: misc/mke2fs.c:1677
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "« -R » est déprécié, utiliser plutôt « -E »"
 
-#: misc/mke2fs.c:1691 misc/tune2fs.c:1810
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "mauvais comportement en cas d'erreur - %s"
 
-#: misc/mke2fs.c:1703
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Nombre de blocs par groupe illégal"
 
-#: misc/mke2fs.c:1708
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "le nombre de blocs par groupe doit être un multiple de 8"
 
-#: misc/mke2fs.c:1716
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Nombre illégal pour la taille flex_bg"
 
-#: misc/mke2fs.c:1722
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "La taille flex_bg doit être une puissance de 2"
 
-#: misc/mke2fs.c:1727
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "La taille flex_bg (%lu) doit être inférieur ou égal à 2^31"
 
-#: misc/mke2fs.c:1737
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "taux d'i-noeuds invalides %s (min %d/max %d)"
 
-#: misc/mke2fs.c:1747
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "taille d'i-noeud invalide - %s"
 
-#: misc/mke2fs.c:1760
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "Avertissement : l'option -K est dépréciée et ne devrait plus être utilisée. Utiliser plutôt l'option étendue « -E nodiscard » !\n"
 
-#: misc/mke2fs.c:1771
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "dans malloc pour bad_blocks_filename"
 
-#: misc/mke2fs.c:1780
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
@@ -5746,69 +5818,79 @@
 "Avertissement : étiquette trop longue ; sera tronquée à « %s »\n"
 "\n"
 
-#: misc/mke2fs.c:1789
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "pourcentage de blocs réservés invalide - %s"
 
-#: misc/mke2fs.c:1804
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "mauvais nombre d'i-noeuds - %s"
 
-#: misc/mke2fs.c:1817
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "lors de l'allocation de la chaîne fs_feature"
 
-#: misc/mke2fs.c:1834
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "mauvais numéro de version - %s"
 
-#: misc/mke2fs.c:1839
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "lors de la tentative de création de la révision %d"
 
-#: misc/mke2fs.c:1853
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "L'option -t ne peut être spécifiée qu'une fois"
 
-#: misc/mke2fs.c:1861
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "L'option -T ne peut être spécifiée qu'une fois"
 
-#: misc/mke2fs.c:1917 misc/mke2fs.c:3310
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "lors de la tentative d'ouverture du périphérique de journal %s\n"
 
-#: misc/mke2fs.c:1923
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr ""
 "la taille de bloc du périphérique de journal (%d) est plus petit que la\n"
 "taille de blocs minimum %d\n"
 
-#: misc/mke2fs.c:1929
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Utilisation de la taille de bloc du périphérique de journal : %d\n"
 
-#: misc/mke2fs.c:1940
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "blocs '%s' invalides sur le périphérique %s"
 
-#: misc/mke2fs.c:1970
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "système de fichiers"
 
-#: misc/mke2fs.c:1988 resize/main.c:499
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "Le fichier %s n'existe pas et aucune taille n'a été spécifiée.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Création d'un fichier normal %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "lors de la tentative de détermination de la taille du système de fichiers"
 
-#: misc/mke2fs.c:1994
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5816,7 +5898,7 @@
 "Ne peut déterminer la taille du périphérique ; vous devez spécifier\n"
 "la taille du système de fichiers\n"
 
-#: misc/mke2fs.c:2001
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5829,48 +5911,48 @@
 "\toccupée et utilisée. Vous devez ré-amorcer pour forcer une\n"
 "\trelecture de la table de partitions.\n"
 
-#: misc/mke2fs.c:2018
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "Système de fichiers plus grand que la taille apparente du périphérique"
 
-#: misc/mke2fs.c:2038
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "Échec du parcours de la liste de types de systèmes de fichiers\n"
 
-#: misc/mke2fs.c:2088
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "Le HURD ne supporte pas la fonctionnalité filetype.\n"
 
-#: misc/mke2fs.c:2093
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "Le HURD ne supporte pas la fonctionnalité huge_file.\n"
 
-#: misc/mke2fs.c:2098
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "Le HURD ne supporte pas la fonctionnalité metadata_csum.\n"
 
-#: misc/mke2fs.c:2103
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "Le HURD ne supporte pas la fonctionnalité ea_inode.\n"
 
-#: misc/mke2fs.c:2113
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "lors de la tentative de détermination de la taille matérielle de secteur"
 
-#: misc/mke2fs.c:2119
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "lors de la tentative de détermination de la taille de secteur matériel"
 
-#: misc/mke2fs.c:2151
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "lors de la définition de la taille de bloc ; trop petite pour le périphérique\n"
 
-#: misc/mke2fs.c:2156
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Avertissement : la taille de bloc %d spécifiée est plus petite que la taille de secteur physique %d\n"
 
-#: misc/mke2fs.c:2180
+#: misc/mke2fs.c:2206
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5879,7 +5961,7 @@
 "%s: La taille (0x%llx blocs) du périphérique %s est trop grande pour\n"
 "\tpouvoir être exprimée sur 32 bits en utilisant une taille de bloc de %d.\n"
 
-#: misc/mke2fs.c:2194
+#: misc/mke2fs.c:2220
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5888,93 +5970,93 @@
 "%s: La taille (0x%llx blocs) du périphérique %s est trop grande pour\n"
 "\tcréer un système de fichier utilisant une taille de block de %d.\n"
 
-#: misc/mke2fs.c:2216
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "résolution de fs_types pour mke2fs.conf : "
 
-#: misc/mke2fs.c:2223
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr ""
 "Fonctionnalités du système de fichiers non supportées par les systèmes de\n"
 "fichiers de version 0\n"
 
-#: misc/mke2fs.c:2231
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr ""
 "Les superblocs creux ne sont pas supportés par les systèmes de\n"
 "fichiers de version 0\n"
 
-#: misc/mke2fs.c:2241
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr ""
 "Les journaux ne sont pas supportés par les systèmes de\n"
 "fichiers de version 0\n"
 
-#: misc/mke2fs.c:2254
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "pourcentage de blocs réservés invalide - %lf"
 
-#: misc/mke2fs.c:2271
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr "Les extents DOIVENT être activées pour un système de fichiers 64 bit.  Passez -O extents pour corriger.\n"
 
-#: misc/mke2fs.c:2291
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "La taille d'un cluster ne peut pas être plus petite que la taille d'un bloc.\n"
 
-#: misc/mke2fs.c:2297
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "Spécifier une taille de cluster nécessite la fonctionalité bigalloc"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "attention : Impossible d'obtenir la géométrie du périphérique %s\n"
 
-#: misc/mke2fs.c:2329
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "L'alignement de %s est décalé de %lu octets.\n"
 
-#: misc/mke2fs.c:2331
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr "Cela peut induire de très mauvaises performances, il est suggéré de (re)-partitionner.\n"
 
-#: misc/mke2fs.c:2337
+#: misc/mke2fs.c:2363
 #, 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 "%s a la capacité DAX, mais la taille de bloc courante %u est différente de la taille de page %u du système donc le système de fichier ne supportera pas DAX.\n"
 
-#: misc/mke2fs.c:2361
+#: misc/mke2fs.c:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "blocs de %d octets trop gros pour le système (max %d)"
 
-#: misc/mke2fs.c:2365
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr ""
 "Avertissement : blocs de %d octets trop gros pour le système (max %d),\n"
 "poursuite forcée\n"
 
-#: misc/mke2fs.c:2373
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Suggestion : Utilisez un noyau Linux >= 3.18 pour améliorer la stabilité des fonctionalités de méta-données et somme de contrôle de journal.\n"
 
-#: misc/mke2fs.c:2419
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr "Encodage de nom de fichier inconnu du profil : %s"
 
-#: misc/mke2fs.c:2430
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr "Drapeau d'encodage inconnu du profil : %s"
 
-#: misc/mke2fs.c:2455
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5990,16 +6072,16 @@
 "peut-être pas ce que vous vouliez.\n"
 "\n"
 
-#: misc/mke2fs.c:2470
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "des i-noeuds de %d octets sont trop petits pour des quota de projet"
 
-#: misc/mke2fs.c:2492
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "La fonctionalité bigalloc ne peut pas être supportée sans la fonctionalité extent"
 
-#: misc/mke2fs.c:2499
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -6007,53 +6089,56 @@
 "Les fonctionnalités resize_inode et meta_bg ne sont pas compatibles.\n"
 "Elles ne peuvent pas être activées simultanément.\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
 "\n"
-"Avertissement : la fonctionalité bigalloc est encore en cours de développement\n"
-"Voir https://ext4.wiki.kernel.org/index.php/Bigalloc pour plus d'informations\n"
-"\n"
+"Attention: les systèmes de fichier bigalloc avec une taille de cluster plus\n"
+"grande que 16 foix la taille de block sont considérés comme expérimentaux\n"
 
-#: misc/mke2fs.c:2519
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr ""
 "la réservation de blocs de changement de taille en ligne n'est pas\n"
 "supportée sur un système de fichiers non creux"
 
-#: misc/mke2fs.c:2528
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "compteur de blocs par groupe hors limite"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "La fonctionnalité flex_bg n'est pas activée, la taille flex_bg ne peut donc pas être spécifiée"
 
-#: misc/mke2fs.c:2562
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "taille d'i-noeud invalide %d (min %d/max %d)"
 
-#: misc/mke2fs.c:2577
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "des i-noeuds de %d octets sont trop petits pour des données en ligne ; spécifiez une taille plus grande"
 
-#: misc/mke2fs.c:2592
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "Les i-noeuds de 128 octets ne peuvent pas gérer des dates au-delà de 2038 et sont dépréciés\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "trop d'i-noeuds (%llu), augmenter le ratio d'i-noeuds ?"
 
-#: misc/mke2fs.c:2599
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "trop d'i-noeuds (%llu), indiquer < 2^32 i-noeuds"
 
-#: misc/mke2fs.c:2613
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6064,65 +6149,69 @@
 "\tsystème de fichiers avec %llu blocs, indiquer un ratio_i_noeud (-i)\n"
 "\tplus grand ou un nombre d'i-noeud plus petit (-N).\n"
 
-#: misc/mke2fs.c:2800
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
 msgstr "Rejet des blocs de périphérique : "
 
-#: misc/mke2fs.c:2816
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "échoué - "
 
-#: misc/mke2fs.c:2875
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "lors de l'initialization du contexte de quota"
 
-#: misc/mke2fs.c:2882
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "lors de l'écriture des i-noeuds de quota"
 
-#: misc/mke2fs.c:2907
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "mauvais comportement en cas d'erreur dans le profile - %s"
 
-#: misc/mke2fs.c:2983
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "dans malloc pour android_sparse_params"
 
-#: misc/mke2fs.c:2997
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "lors de l'initialisation du superbloc"
 
-#: misc/mke2fs.c:3013
+#: misc/mke2fs.c:3065
 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 "Les extents ne sont pas activés. L'arbre des extents de fichier peut avoir une somme de contrôle, mais les cartes de blocs ne le peuvent pas. Ne pas activer les extents réduit la couverture des sommes de contrôle des méta-données. Passez -O extents pour corriger.\n"
 
-#: misc/mke2fs.c:3020
+#: misc/mke2fs.c:3072
 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 "Le support de système 64-bits n'est pas activé. La taille de champs plus grande apportée par cette fonctionalité permet des sommes de contrôle fortes. Passez -O 64bit pour corriger.\n"
 
-#: misc/mke2fs.c:3028
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "La fonctionalité metadata_csum_seed requière la fonctionalité metadata_csum.\n"
 
-#: misc/mke2fs.c:3052
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "La libération a réussi et retournera des 0s - inutile d'effacer la table des i-noeuds\n"
 
-#: misc/mke2fs.c:3151
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "système d'exploitation inconnu - %s"
 
-#: misc/mke2fs.c:3214
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
 msgstr "Allocation des tables de groupe : "
 
-#: misc/mke2fs.c:3222
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "lors de la tentative d'allocation des tables de systèmes de fichiers"
 
-#: misc/mke2fs.c:3231
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "lors du démarquage de blocs défectueux"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6130,30 +6219,34 @@
 "\n"
 "\tlors de la conversion du bitmap de sous-cluster"
 
-#: misc/mke2fs.c:3237
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "lors du calcul du surcoût"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s peut être encore plus corrompu par une réécriture du superbloc\n"
 
-#: misc/mke2fs.c:3278
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "lors de la mise à zéro du bloc %llu à la fin du système de fichiers"
 
-#: misc/mke2fs.c:3291
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr "lors de la réservation de blocs pour un changement de taille en ligne"
 
-#: misc/mke2fs.c:3303 misc/tune2fs.c:1516
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "journal"
 
-#: misc/mke2fs.c:3315
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Ajout du journal au périphérique %s : "
 
-#: misc/mke2fs.c:3322
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
@@ -6162,21 +6255,21 @@
 "\n"
 "\tlors de la tentative d'ajout d'un journal au périphérique %s"
 
-#: misc/mke2fs.c:3327 misc/mke2fs.c:3356 misc/mke2fs.c:3394
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1545 misc/tune2fs.c:1564
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "complété\n"
 
-#: misc/mke2fs.c:3333
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "Pas de création de journal en mode super-seul\n"
 
-#: misc/mke2fs.c:3343
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Création du journal (%u blocs) : "
 
-#: misc/mke2fs.c:3352
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6184,7 +6277,7 @@
 "\n"
 "\tlors de la tentative de création du journal"
 
-#: misc/mke2fs.c:3364 misc/tune2fs.c:1137
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6192,30 +6285,30 @@
 "\n"
 "Erreur lors de l'activation de la fonctionnalité de protection contre le montage multiple."
 
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr "La protection contre le montage multiple est activée avec un intervale de mise à jour de %d secondes.\n"
 
-#: misc/mke2fs.c:3385
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "Copie des fichiers dans le périphérique : "
 
-#: misc/mke2fs.c:3391
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
 msgstr "lors du peuplement du système de fichier"
 
-#: misc/mke2fs.c:3398
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr ""
 "Écriture des superblocs et de l'information de comptabilité du système de\n"
 "fichiers : "
 
-#: misc/mke2fs.c:3405
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "lors de l'écriture et la fermeture du système de fichiers"
 
-#: misc/mke2fs.c:3408
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6228,26 +6321,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "lors de la mise à zéro du bloc %llu pour le fichier géant"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Le décalage de partition de %llu (%uk) blocs n'est pas compatible avec la taille de cluster %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Les fichiers géants vont être remplis de zéros\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Création de %lu fichier(s) géant(s) "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "avec %llu blocs chacun"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "lors de la création du fichier géant %lu"
@@ -6290,7 +6383,7 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s : h=%3d s=%3d c=%4d   début=%8d taille=%8lu fin=%8d\n"
 
-#: misc/tune2fs.c:120
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
@@ -6298,15 +6391,15 @@
 "\n"
 "Cette opération nécessite un système de fichier fraîchement vérifié.\n"
 
-#: misc/tune2fs.c:122
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "SVP exécutez e2fsck -f sur le système de fichiers.\n"
 
-#: misc/tune2fs.c:124
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "SVP exécutez e2fsck -fD sur le système de fichiers.\n"
 
-#: misc/tune2fs.c:137
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6329,20 +6422,20 @@
 "\t[-U UUID] [-I nouvelle-taille-i-noeuds] [-z fichier_annulation]\n"
 "\tpériphérique\n"
 
-#: misc/tune2fs.c:225
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "Le superbloc de journal n'a pas été trouvé !\n"
 
-#: misc/tune2fs.c:283
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "lors de la tentative d'ouverture du journal externe"
 
-#: misc/tune2fs.c:289 misc/tune2fs.c:2889
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s n'est pas un périphérique de journal.\n"
 
-#: misc/tune2fs.c:298 misc/tune2fs.c:2898
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
@@ -6351,13 +6444,13 @@
 "Le superbloc du journal est corrompu, nr_users\n"
 "est trop grand (%d).\n"
 
-#: misc/tune2fs.c:305 misc/tune2fs.c:2905
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr ""
 "L'UUID du système de fichiers n'a pas été trouvé sur le périphérique de\n"
 "journal.\n"
 
-#: misc/tune2fs.c:329
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6365,52 +6458,52 @@
 "Ne peut repérer le périphérique de journal. Il n'a PAS été supprimé\n"
 "Utiliser l'option -f pour supprimer le périphérique de journal manquant.\n"
 
-#: misc/tune2fs.c:338
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Journal enlevé\n"
 
-#: misc/tune2fs.c:382
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "lors de la lecture des bitmaps"
 
-#: misc/tune2fs.c:390
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "lors de l'effacement de l'i-noeud du journal"
 
-#: misc/tune2fs.c:401
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "lors de l'écriture de l'i-noeud du journal"
 
-#: misc/tune2fs.c:437 misc/tune2fs.c:462 misc/tune2fs.c:475
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(et rebootez après !)\n"
 
-#: misc/tune2fs.c:490
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Après avoir lancé e2fsck, veuillez lancer « resize2fs %s %s »"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Veuillez exécuter « resize2fs %s %s"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:499
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr " » pour activer le mode 64-bits.\n"
 
-#: misc/tune2fs.c:501
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr " » pour désactiver le mode 64-bits.\n"
 
-#: misc/tune2fs.c:1039
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6418,21 +6511,21 @@
 "AVERTISSEMENT: N'a pas pu confirmer le support noyau pour metadata_csum_seed.\n"
 "  Cela nécessite Linux >= v4.4.\n"
 
-#: misc/tune2fs.c:1075
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr ""
 "La suppression de la fonctionnalité de système de fichiers '%s' n'est pas\n"
 "supportée.\n"
 
-#: misc/tune2fs.c:1081
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr ""
 "L'ajout de la fonctionnalité de système de fichiers '%s' n'est pas\n"
 "supporté.\n"
 
-#: misc/tune2fs.c:1090
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6440,7 +6533,7 @@
 "La fonctionnalitié has_journal peut être désactivée uniquement lorsque le\n"
 "système de fichiers est démonté ou monté en lecture seule.\n"
 
-#: misc/tune2fs.c:1098
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6448,7 +6541,7 @@
 "Le drapeau needs_recovery est activé. SVP exécutez e2fsck avant\n"
 "de désactiver le drapeau has_journal.\n"
 
-#: misc/tune2fs.c:1116
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6456,7 +6549,7 @@
 "Définir la fonctionalité de système de fichier 'sparse_super' n'est pas\n"
 "supporté pour les systèmes de fichiers avec la fonctionalité flex_bg activée.\n"
 
-#: misc/tune2fs.c:1129
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6466,12 +6559,12 @@
 "montages multiples ne peut être activée lorsque\n"
 "le système de fichier est monté ou en lecture seule.\n"
 
-#: misc/tune2fs.c:1147
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr "La protection contre le montage multiple a été activée avec un intervale de mise à jour de %ds.\n"
 
-#: misc/tune2fs.c:1156
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6479,26 +6572,34 @@
 "La fonctionnalité de protection contre le montage multiple ne peut\n"
 "être désactivée si le système de fichiers est en lecture seule.\n"
 
-#: misc/tune2fs.c:1164
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "Erreur lors de la lecture des bitmaps\n"
 
-#: misc/tune2fs.c:1173
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "Le numéro magique dans le bloc MMP ne correspond pas. attendu : %x, actuel : %x\n"
 
-#: misc/tune2fs.c:1178
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
 msgstr "lors de la lecture du bloc MMP."
 
-#: misc/tune2fs.c:1210
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Désactiver les index de répertoire sur un système de fichier avec sommes de contrôle pourrait prendre du temps."
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Ne peut pas désactiver dir_index sur un système de fichiers monté !\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
 msgstr "Effacer le drapeau flex_bg rendrait le système de fichiers incohérent.\n"
 
-#: misc/tune2fs.c:1221
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6506,54 +6607,54 @@
 "La fonctionnalité huge_file peut être désactivée uniquement lorsque le\n"
 "système de fichiers est démonté ou monté en lecture seule.\n"
 
-#: misc/tune2fs.c:1232
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr "Activer les sommes de contrôle pourrait prendre du temps. "
 
-#: misc/tune2fs.c:1235
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "Ne peut pas activer metadata_csum sur un système de fichiers monté !\n"
 
-#: misc/tune2fs.c:1241
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr "Les extents ne sont pas activés. L'arbre des extents de fichiers peut avoir une somme de contrôle, mais les cartes de blocs ne le peuvent pas. Ne pas activer les extents réduit la couverture des sommes de contrôle des méta-données. Relancez avec -O extent pour corriger.\n"
 
-#: misc/tune2fs.c:1248
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr "Le support de système de fichier 64-bits n'est pas activé. La taille de champs plus grande apportée par cette fonctionalité permet des sommes de contrôle fortes. Lancez resize2fs -b pour corriger.\n"
 
-#: misc/tune2fs.c:1274
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
-msgstr "Désactiver lse sommes de contrôle pourrait prendre du temps."
+msgstr "Désactiver les sommes de contrôle pourrait prendre du temps."
 
-#: misc/tune2fs.c:1277
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "Ne peut pas désactiver metadata_sum sur un système de fichiers monté !\n"
 
-#: misc/tune2fs.c:1318
+#: misc/tune2fs.c:1372
 msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
 msgstr "Ne peut pas activer uninit_bg sur un système de fichiers monté !\n"
 
-#: misc/tune2fs.c:1333
+#: misc/tune2fs.c:1387
 msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
 msgstr "Ne peut pas désactiver uninit_bg sur un système de fichiers monté !\n"
 
-#: misc/tune2fs.c:1352
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "Ne peut pas activer le mode 64-bits alors que le système de fichiers est monté !\n"
 
-#: misc/tune2fs.c:1362
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "Ne peut pas désactiver le mode 64-bits alors que le système de fichiers est monté !\n"
 
-#: misc/tune2fs.c:1392
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "Ne peut pas activer la fonctionalité projet; la taille d'i-noeud est trop petite.\n"
 
-#: misc/tune2fs.c:1413
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6561,11 +6662,11 @@
 "\n"
 "Avertissement : l'option « ^quota » supplante les arguments « -Q ».\n"
 
-#: misc/tune2fs.c:1430 misc/tune2fs.c:2182
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
 msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr "La fonctionalité casefold ne peut être changée que lorsque le système de fichiers est démonté.\n"
 
-#: misc/tune2fs.c:1442
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6573,7 +6674,7 @@
 "Définir la fonctionalité 'metadata_csum_seed' n'est supporté que sur\n"
 "les systèmes de fichiers avec la fonctionalité metadata_csum activée.\n"
 
-#: misc/tune2fs.c:1460
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
@@ -6582,15 +6683,15 @@
 "doit être démonté pour réécrire sans risque toutes les données pour \n"
 "correspondre au nouvel UUID.\n"
 
-#: misc/tune2fs.c:1466
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr "Recalculer les sommes de contrôle pourrait prendre du temps."
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "Le système de fichiers a déjà un journal.\n"
 
-#: misc/tune2fs.c:1529
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6599,21 +6700,21 @@
 "\n"
 "\tlors de la tentative d'ouverture du journal sur %s\n"
 
-#: misc/tune2fs.c:1533
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Création du journal sur le périphérique %s : "
 
-#: misc/tune2fs.c:1541
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "lors de l'ajout du système de fichiers au journal sur %s"
 
-#: misc/tune2fs.c:1547
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
 msgstr "Création de l'i-noeud du journal : "
 
-#: misc/tune2fs.c:1561
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6621,31 +6722,31 @@
 "\n"
 "\tlors de la tentative de création du fichier journal"
 
-#: misc/tune2fs.c:1599
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "Ne peut pas activer les quotas de projet; la tailles des i-noeud est trop petite.\n"
 
-#: misc/tune2fs.c:1612
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
 msgstr "lors de l'initialisation du contexte de quota dans la bibliothèque support"
 
-#: misc/tune2fs.c:1627
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "lors de la mise à jour des limites de quota (%d)"
 
-#: misc/tune2fs.c:1637
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "lors de l'écriture du fichier de quota (%d)"
 
-#: misc/tune2fs.c:1655
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "lors de la suppression du fichier de quota (%d)"
 
-#: misc/tune2fs.c:1698
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6667,117 +6768,117 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1756
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Ne peut analyser la spécification de date/heure : %s"
 
-#: misc/tune2fs.c:1781 misc/tune2fs.c:1794
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "compteur de montages erroné - %s"
 
-#: misc/tune2fs.c:1837
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "nom gid/groupe erroné - %s"
 
-#: misc/tune2fs.c:1870
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "intervalle erroné - %s"
 
-#: misc/tune2fs.c:1899
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "taux de blocs réservés erroné - %s"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
 msgstr "-o ne peut être spécifié qu'une fois"
 
-#: misc/tune2fs.c:1923
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
 msgstr "-O ne peut être spécifié qu'une fois"
 
-#: misc/tune2fs.c:1940
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "compteur de blocs réservés erroné - %s"
 
-#: misc/tune2fs.c:1969
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "nom utilisateur/uid erroné - %s"
 
-#: misc/tune2fs.c:1986
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "taille d'i-noeud invalide - %s"
 
-#: misc/tune2fs.c:1993
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "La taille des i-noeuds doit être une puissance de deux - %s"
 
-#: misc/tune2fs.c:2093
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "mmp_update_interval trop grand : %lu\n"
 
-#: misc/tune2fs.c:2098
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
 msgstr[0] "Définition de l'intervale de mise à jour de la protection contre les montages multiples à %lu seconde\n"
 msgstr[1] "Définition de l'intervale de mise à jour de la protection contre les montages multiples à %lu secondes\n"
 
-#: misc/tune2fs.c:2107
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Activation du drapeau d'erreur de système de fichier pour forcer une passe fsck.\n"
 
-#: misc/tune2fs.c:2125
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Paramètre « stride RAID » invalide : %s\n"
 
-#: misc/tune2fs.c:2140
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Paramètre « stripe-width RAID » invalide : %s\n"
 
-#: misc/tune2fs.c:2155
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Algorithme de hachage invalide : %s\n"
 
-#: misc/tune2fs.c:2161
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Définition de l'algorithme de hachage par défaut à %s (%d)\n"
 
-#: misc/tune2fs.c:2188
+#: misc/tune2fs.c:2252
 #, c-format
 msgid "Cannot alter existing encoding\n"
 msgstr "Le peut pas changer l'encodage existant\n"
 
-#: misc/tune2fs.c:2194
+#: misc/tune2fs.c:2258
 #, c-format
 msgid "Invalid encoding: %s\n"
 msgstr "Encodage invalide : %s\n"
 
-#: misc/tune2fs.c:2200
+#: misc/tune2fs.c:2264
 #, c-format
 msgid "Setting encoding to '%s'\n"
 msgstr "Définition de l'encodage à '%s'\n"
 
-#: misc/tune2fs.c:2224
+#: misc/tune2fs.c:2288
 #, c-format
 msgid "Setting encoding_flags to '%s'\n"
 msgstr "Définition du drapeau encoding_flags à '%s'\n"
 
-#: misc/tune2fs.c:2234
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6817,31 +6918,31 @@
 "\tencoding=<encodage>\n"
 "\tencoding_flags=<drapeaux>\n"
 
-#: misc/tune2fs.c:2707
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
 msgstr "Échec de lecture du bitmap d'i-noeuds\n"
 
-#: misc/tune2fs.c:2712
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "Échec de lecture du bitmap de bloc\n"
 
-#: misc/tune2fs.c:2729 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "blocs à déplacer"
 
-#: misc/tune2fs.c:2732
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "N'a pu allouer de bitmap de blocs lors d'une augmentation de taille d'i-noeud \n"
 
-#: misc/tune2fs.c:2738
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr "Pas assez d'espace pour augmenter la taille d'i-noeud \n"
 
-#: misc/tune2fs.c:2743
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "N'a pu reloger des blocs lors d'un changement de taille d'i-noeud \n"
 
-#: misc/tune2fs.c:2775
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6849,7 +6950,7 @@
 "Erreur lors du changement de la taille des i-noeuds.\n"
 "Exécutez e2undo pour défaire les changements du système de fichiers. \n"
 
-#: misc/tune2fs.c:2985
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6857,7 +6958,7 @@
 "Si vous êtes sûr(e) que le système de fichiers n'est en cours d'utilisation sur aucun noeud, lancer:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
 
-#: misc/tune2fs.c:2992
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6866,29 +6967,29 @@
 "Le numéro magique du bloc MMP est incorrect. Essayer de le corriger en lançant:\n"
 "'e2fsck -f %s'\n"
 
-#: misc/tune2fs.c:3004
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "Ne peut pas modifier un périphérique de journal.\n"
 
-#: misc/tune2fs.c:3017
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "La taille des i-noeuds est déjà %lu\n"
 
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
 msgstr "La réduction de la taille d'un i-noeud n'est pas supportée\n"
 
-#: misc/tune2fs.c:3029
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "Taille d'i-noeud invalide %lu (max %d)\n"
 
-#: misc/tune2fs.c:3035
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr "Retailles les i-noeuds pourrait prendre du temps."
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6906,57 +7007,57 @@
 "et ensuite relancer cette commande. Sinon, tout changement effectué pourrait\n"
 "être écrasé par la récupération du journal.\n"
 
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Récupération du journal.\n"
 
-#: misc/tune2fs.c:3114
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Définition du nombre maximal de montages à %d\n"
 
-#: misc/tune2fs.c:3120
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Définition du nombre courant de montages à %d\n"
 
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Définition du comportement en cas d'erreur à %d\n"
 
-#: misc/tune2fs.c:3130
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "Définition du gid des blocs réservés à %lu\n"
 
-#: misc/tune2fs.c:3135
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "l'intervalle entre les vérifications est trop grand (%lu)"
 
-#: misc/tune2fs.c:3142
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Définition de l'intervalle de vérification à %lu secondes\n"
 
-#: misc/tune2fs.c:3149
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Définition du pourcentage de blocs réservés à %g%% (%llu blocs)\n"
 
-#: misc/tune2fs.c:3155
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "le nombre de blocs réservés est trop grand (%llu)"
 
-#: misc/tune2fs.c:3162
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Définition du nombre de blocs réservés à %llu\n"
 
-#: misc/tune2fs.c:3167
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -6964,7 +7065,7 @@
 "\n"
 "Le système de fichiers a déjà des superblocs creux.\n"
 
-#: misc/tune2fs.c:3170
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -6974,7 +7075,7 @@
 "Définir le drapeau creux du superbloc n'est pas supporté pour les systèmes\n"
 "de fichiers avec la fonctionalité flex_bg activée.\n"
 
-#: misc/tune2fs.c:3180
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
@@ -6983,7 +7084,7 @@
 "\n"
 "Drapeau de superbloc creux activé. %s"
 
-#: misc/tune2fs.c:3185
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -6991,55 +7092,59 @@
 "\n"
 "La suppression du drapeau creux du superbloc n'est pas supportée.\n"
 
-#: misc/tune2fs.c:3193
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr ""
 "Définition de la date de la dernière vérification du système de\n"
 "fichiers à %s\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "Définition de l'uid de blocs réservés à %lu\n"
 
-#: misc/tune2fs.c:3231
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Erreur lors de l'utilisation de clear_mmp. Elle doit être utilisée avec -f\n"
 
-#: misc/tune2fs.c:3249
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "La fonctionalité de quota ne peut être changée que lorsque le système de fichiers est démonté.\n"
 
-#: misc/tune2fs.c:3269
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Ne peut pas changer l'UUID de ce système de fichier car il a le drapeau de fonctionnalité stable_inodes.\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Définir l'UUID sur ce système de fichier pourrait prendre du temps."
 
-#: misc/tune2fs.c:3286
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 "L'UUID ne peut être changé que lorsque le système\n"
 "de fichiers et démonté.\n"
 
-#: misc/tune2fs.c:3289
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
-msgstr "Si vous utiliser seulement des noyaux plus récents que v4.4, lancez « tune2fs -O metadata_csum_seed » et relancez cette commande.\n"
+msgstr "Si vous utilisez seulement des noyaux plus récents que v4.4, lancez « tune2fs -O metadata_csum_seed » et relancez cette commande.\n"
 
-#: misc/tune2fs.c:3320
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Format UUID invalide\n"
 
-#: misc/tune2fs.c:3336
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "Doit mettre à jour le superbloc du journal\n"
 
-#: misc/tune2fs.c:3358
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 "La taille des i-noeuds ne peut être changée que lorsque le système\n"
 "de fichiers et démonté.\n"
 
-#: misc/tune2fs.c:3365
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -7047,63 +7152,63 @@
 "Changer la taille des i-noeuds n'est pas supporté pour les systèmes de\n"
 "fichiers avec la fonctionalité flex_bg activée.\n"
 
-#: misc/tune2fs.c:3383
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Définition de la taille des i-noeuds à %lu\n"
 
-#: misc/tune2fs.c:3387
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
 msgstr "N'a pu changer la taille d'i-noeud \n"
 
-#: misc/tune2fs.c:3401
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Définition de la taille de « stride » à %d\n"
 
-#: misc/tune2fs.c:3406
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Définition de la taille du « stripe width » à %d\n"
 
-#: misc/tune2fs.c:3413
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "Définition des options de montage étendues par défaut à « %s »\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
 msgstr "<on procède>\n"
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "Procéder malgré tout (ou attendre %d secondes pour procéder) ? (o,N) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
 msgstr "Procéder malgré tout ? (o,N) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr ""
 "l'exécution de mke2fs est tout de même forcée.\n"
 "Espérons que /etc/mtab est incorrect.\n"
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "ne fera pas un %s ici !\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "l'exécution de mke2fs est tout de même forcée.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr "N'a pu allouer de la mémoire pour analyser les options du journal !\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -7112,7 +7217,7 @@
 "\n"
 "N'a pu trouver le périphérique de journal correspondant à %s\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7143,7 +7248,7 @@
 "système de fichiers.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7151,26 +7256,26 @@
 "\n"
 "Le système de fichiers est trop petit pour un journal\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"La taille demandée du journal est de %d blocs ; elle doit être\n"
+"La taille totale demandée du journal est de %d blocs ; elle doit être\n"
 "entre 1024 et 10240000 blocs. Arrêt immédiat.\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"La taille du journal est trop grande pour le système de fichiers.\n"
+"La taille totale du journal est trop grande pour le système de fichiers.\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7313,11 +7418,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Utilisation : %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# Vidange des extents :\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr "#\tNb=%llu, Taille=%llu, Curseur=%llu, Triés=%llu\n"
@@ -7373,17 +7478,17 @@
 "voulez continuer malgré tout.\n"
 "\n"
 
-#: resize/main.c:368
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "lors de l'ouverture de %s"
 
-#: resize/main.c:376
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "lors de la récupérartion de l'état de %s"
 
-#: resize/main.c:453
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7392,34 +7497,34 @@
 "SVP exécutez « e2fsck -f %s » d'abord.\n"
 "\n"
 
-#: resize/main.c:472
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Taille minimale estimée du système de fichiers : %llu\n"
 
-#: resize/main.c:509
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "taille d'i-noeud invalide - %s\n"
 
-#: resize/main.c:528
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "La nouvelle taille est trop grande pour être exprimée sur 32 bits\n"
 
-#: resize/main.c:541
+#: resize/main.c:560
 msgid "New size results in too many block group descriptors.\n"
 msgstr "La nouvelle taille produit trop de descripteurs de groupes de blocs.\n"
 
-#: resize/main.c:548
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "La nouvelle taille est plus petite que le minimum (%llu)\n"
 
-#: resize/main.c:554
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Longueur « stride » invalide"
 
-#: resize/main.c:578
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7430,27 +7535,27 @@
 "Vous avez demandé une nouvelle taille de %llu blocs.\n"
 "\n"
 
-#: resize/main.c:585
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Ne peut pas positionner et dépositionner la fonctionnalité 64-bits.\n"
 
-#: resize/main.c:589
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "Ne peut pas changer la fonctionnalité sur un système de fichiers qui est plus grand que 2^32 blocs.\n"
 
-#: resize/main.c:595
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "La fonctionalité de 64 bits ne peut être changée lorsque le système de fichiers est monté.\n"
 
-#: resize/main.c:601
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Veuillez activer la fonctionnalité des extents avec tune2fs avant d'activer la fonctionalité 64-bits.\n"
 
-#: resize/main.c:607
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7459,37 +7564,42 @@
 "Le système de fichiers a déjà %llu blocs (%dk). Rien à faire !\n"
 "\n"
 
-#: resize/main.c:614
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "Le système de fichiers est déjà 64 bits.\n"
 
-#: resize/main.c:619
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "Le système de fichiers est déjà 32 bits.\n"
 
-#: resize/main.c:627
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Ne peut pas réduire ce système de fichier car il a le drapeau de fonctionnalité stable_inodes.\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Conversion du système de fichiers en 64 bits.\n"
 
-#: resize/main.c:629
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Conversion du système de fichiers en 32 bits.\n"
 
-#: resize/main.c:631
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "En train de redimensionner le système de fichiers sur %s à %llu (%dk) blocs.\n"
 
-#: resize/main.c:640
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "lors de la tentative de changement de taille de %s"
 
-#: resize/main.c:643
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7498,7 +7608,7 @@
 "Veuillez lancer « e2fsck -fy %s » pour corriger le système de fichiers\n"
 "après l'opération de changement de taille avortée.\n"
 
-#: resize/main.c:649
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7507,7 +7617,7 @@
 "Le système de fichiers sur %s a maintenant une taille de %llu blocs (%dk).\n"
 "\n"
 
-#: resize/main.c:664
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "lors de la troncature de %s"
@@ -7564,52 +7674,52 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "En train d'effectuer un changement de taille en ligne de %s vers %llu (%dk) blocs.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Lors de la tentative d'étendre le dernier groupe"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Lors de la tentative d'ajout du groupe numéro %d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr "Le système de fichiers de %s est monté sur %s, et le changement de taille en ligne n'est pas supporté sur ce système.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "le nombre d'i-noeuds (%llu) doit être plus petit que %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "blocs réservés"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "blocs de métadonnées"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "nouveaux blocs de métadonnées"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "Ne devrait jamais arriver ! Pas de sb dans le dernier super_sparse bg ?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "Ne devrait jamais arriver ! old_desc inattendu dans super_sparse bg ?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Ne devrait jamais se produire : i-noeud de redimensionnement corrompu !\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.6"
-msgstr "Bibliothèque EXT2FS version 1.45.6"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "Bibliothèque EXT2FS version 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8327,6 +8437,18 @@
 msgid "Group descriptors not loaded"
 msgstr "Descripteurs de groupes non chargés"
 
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "La structure de données interne ext2_filsys a l'air corrompue"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "Trouvé une boucle récursive dans un arbre des extents"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "Opération non supportée sur un journal externe"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Profilage version 0.0"
@@ -8451,47 +8573,37 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Valeur magique invalide dans profile_file_data_t"
 
-#: lib/support/plausible.c:114
+#: lib/support/plausible.c:119
 #, c-format
 msgid "\tlast mounted on %.*s on %s"
 msgstr "\tdernier montage sur %.*s le %s"
 
-#: lib/support/plausible.c:117
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tdernier montage le %s"
 
-#: lib/support/plausible.c:120
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tcréé le %s"
 
-#: lib/support/plausible.c:123
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tmodifié la dernière fois le %s"
 
-#: lib/support/plausible.c:157
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Trouvé une table de partitions %s dans %s\n"
 
-#: lib/support/plausible.c:187
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "Le fichier %s n'existe pas et aucune taille n'a été spécifiée.\n"
-
-#: lib/support/plausible.c:195
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Création d'un fichier normal %s\n"
-
-#: lib/support/plausible.c:198
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Impossible d'ouvrir %s : %s\n"
 
-#: lib/support/plausible.c:201
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8500,22 +8612,22 @@
 "Le périphérique n'existe apparemment pas ; l'avez-vous spécifié\n"
 "correctement ?\n"
 
-#: lib/support/plausible.c:223
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s n'est pas un périphérique spécial en mode bloc.\n"
 
-#: lib/support/plausible.c:245
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s contient un système de fichiers %s étiqueté « %s »\n"
 
-#: lib/support/plausible.c:248
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s contient un système de fichiers %s\n"
 
-#: lib/support/plausible.c:272
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s contient une donnée « %s »\n"
diff --git a/po/fur.gmo b/po/fur.gmo
new file mode 100644
index 0000000..edb28fb
--- /dev/null
+++ b/po/fur.gmo
Binary files differ
diff --git a/po/fur.po b/po/fur.po
new file mode 100644
index 0000000..606b6cf
--- /dev/null
+++ b/po/fur.po
@@ -0,0 +1,8003 @@
+# Friulian translation for E2fsprogs
+# 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 by Theodore Ts'o
+# This file is distributed under the same license as the e2fsprogs package.
+# Theodore Ts'o <tytso@mit.edu>, 2019.
+# Fabio Tomat <f.t.public@gmail.com>, 2019.
+#. 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,
+#. there is an @-expansion, where strings like "@i" are expanded to
+#. "inode", and so on.  In order to make it easier for translators, the
+#. e2fsprogs po template file has been enhanced with comments that show
+#. the @-expansion, for the strings in the problem.c file.
+#.
+#. Translators are free to use the @-expansion facility if they so
+#. choose, by providing translations for strings in e2fsck/message.c.
+#. These translation can completely replace an expansion; for example,
+#. if "bblock" (which indicated that "@b" would be expanded to "block")
+#. is translated as "ddatenverlust", then "@d" will be expanded to
+#. "datenverlust".  Alternatively, translators can simply not use the
+#. @-expansion facility at all.
+#.
+#. The second expansion which is done for e2fsck's problem.c messages is
+#. a dynamic %-expansion, which expands %i as an inode number, and so
+#. on.  A table of these expansions can be found below.  Note that
+#. %-expressions that begin with "%D" and "%I" are two-character
+#. expansions; so for example, "%Iu" expands to the inode's user id
+#. ownership field (inode->i_uid).  Also the "%B" expansion is special:
+#. it can expand to either the string "indirect block" (possibly preceded
+#. by the word "double" or "triple"), or the string "block #" immediately
+#. followed by an integer indicating a block sequence number.
+#.
+#. Please note that the %-expansion for most e2fsck's problem.c should not
+#. use positional indicators such as %1, since although they look like c-style
+#. format strings, they are NOT c-style format strings, and the positional
+#. indicators (which BTW are GNU extensions and so won't work on other Unix
+#. gettext implementations) won't work with e2fsck's print_e2fsck_message()
+#. function found in e2fsck/message.c
+#.
+#. 	%b	<blk>			block number
+#. 	%B	"indirect block" | "block #"<blkcount>	string | string+integer
+#. 	%c	<blk2>			block number
+#. 	%Di	<dirent> -> ino		inode number
+#. 	%Dn	<dirent> -> name	string
+#. 	%Dr	<dirent> -> rec_len
+#. 	%Dl	<dirent> -> name_len
+#. 	%Dt	<dirent> -> filetype
+#. 	%d	<dir> 			inode number
+#. 	%g	<group>			integer
+#. 	%i	<ino>			inode number
+#. 	%Is	<inode> -> i_size
+#. 	%IS	<inode> -> i_extra_isize
+#. 	%Ib	<inode> -> i_blocks
+#. 	%Il	<inode> -> i_links_count
+#. 	%Im	<inode> -> i_mode
+#. 	%IM	<inode> -> i_mtime
+#. 	%IF	<inode> -> i_faddr
+#. 	%If	<inode> -> i_file_acl
+#. 	%Id	<inode> -> i_size_high
+#. 	%Iu	<inode> -> i_uid
+#. 	%Ig	<inode> -> i_gid
+#. 	%It	<str>			file type
+#. 	%j	<ino2>			inode number
+#. 	%m	<com_err error message>
+#. 	%N	<num>
+#. 	%p		ext2fs_get_pathname of directory <ino>
+#. 	%P		ext2fs_get_pathname of <dirent>->ino with <ino2> as
+#. 				the containing directory.  (If dirent is NULL
+#. 				then return the pathname of directory <ino2>)
+#. 	%q		ext2fs_get_pathname of directory <dir>
+#. 	%Q		ext2fs_get_pathname of directory <ino> with <dir> as
+#. 				the containing directory.
+#. 	%s	<str>			miscellaneous string
+#. 	%S		backup superblock
+#. 	%X	<num>	hexadecimal format
+#.
+msgid ""
+msgstr ""
+"Project-Id-Version: e2fsprogs 1.45.3\n"
+"Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
+"POT-Creation-Date: 2019-07-14 20:56-0400\n"
+"PO-Revision-Date: 2020-09-22 16:03+0200\n"
+"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
+"Language-Team: Friulian <f.t.public@gmail.com>\n"
+"Language: fur_IT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.4.1\n"
+
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#, c-format
+msgid "Bad block %u out of range; ignored.\n"
+msgstr "Bloc difetôs %u fûr dai limits; ignorât.\n"
+
+#: e2fsck/badblocks.c:46
+msgid "while sanity checking the bad blocks inode"
+msgstr "tal controlâ la integritât dai inode dai blocs difetôs"
+
+#: e2fsck/badblocks.c:58
+msgid "while reading the bad blocks inode"
+msgstr "tal lei i inode dai blocs difetôs"
+
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
+#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
+#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
+#: misc/dumpe2fs.c:688 misc/dumpe2fs.c:692 misc/e2image.c:1430
+#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
+#: misc/tune2fs.c:2796 misc/tune2fs.c:2895 resize/main.c:414
+#, c-format
+msgid "while trying to open %s"
+msgstr "tal cirî di vierzi %s"
+
+#: e2fsck/badblocks.c:83
+#, c-format
+msgid "while trying popen '%s'"
+msgstr "tal cirî di eseguî popen su '%s'"
+
+#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+msgid "while reading in list of bad blocks from file"
+msgstr "tal lei la liste di blocs difetôs dal file"
+
+#: e2fsck/badblocks.c:105
+msgid "while updating bad block inode"
+msgstr "tal inzornâ il inode dal bloc difetôs"
+
+#: e2fsck/badblocks.c:133
+#, c-format
+msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
+msgstr "Avertiment: cjatât bloc %u no valit intun inode dal bloc difetôs.  Netât.\n"
+
+#: e2fsck/dirinfo.c:331
+msgid "while freeing dir_info tdb file"
+msgstr "intant che si liberave il file tdb dir_info"
+
+#: e2fsck/ehandler.c:55
+#, c-format
+msgid "Error reading block %lu (%s) while %s.  "
+msgstr "Erôr tal lei il bloc %lu (%s) intant che %s.  "
+
+#: e2fsck/ehandler.c:58
+#, c-format
+msgid "Error reading block %lu (%s).  "
+msgstr "Erôr tal lei il bloc %lu (%s).  "
+
+#: e2fsck/ehandler.c:66 e2fsck/ehandler.c:115
+msgid "Ignore error"
+msgstr "Ignore erôr"
+
+#: e2fsck/ehandler.c:67
+msgid "Force rewrite"
+msgstr "Sfuarce riscriture"
+
+#: e2fsck/ehandler.c:109
+#, c-format
+msgid "Error writing block %lu (%s) while %s.  "
+msgstr "Erôr tal scrivi il bloc %lu (%s) intant che %s.  "
+
+#: e2fsck/ehandler.c:112
+#, c-format
+msgid "Error writing block %lu (%s).  "
+msgstr "Erôr tal scrivi il bloc %lu (%s).  "
+
+#: e2fsck/emptydir.c:57
+msgid "empty dirblocks"
+msgstr "blocs cartelis vueit"
+
+#: e2fsck/emptydir.c:62
+msgid "empty dir map"
+msgstr "mape cartelis vueide"
+
+#: e2fsck/emptydir.c:98
+#, c-format
+msgid "Empty directory block %u (#%d) in inode %u\n"
+msgstr "Bloc di cartele %u (#%d) vueit tal inode %u\n"
+
+#: e2fsck/extend.c:22
+#, c-format
+msgid "%s: %s filename nblocks blocksize\n"
+msgstr "%s: %s nonfile nblocs dimbloc\n"
+
+#: e2fsck/extend.c:44
+#, c-format
+msgid "Illegal number of blocks!\n"
+msgstr "Numar di blocs no valit!\n"
+
+#: e2fsck/extend.c:50
+#, c-format
+msgid "Couldn't allocate block buffer (size=%d)\n"
+msgstr "Impussibil assegnâ il buffer dal bloc (dimension=%d)\n"
+
+#: e2fsck/extents.c:42
+msgid "extent rebuild inode map"
+msgstr "mape dai inode di ricostruzion dai «extent»"
+
+#: e2fsck/flushb.c:35
+#, c-format
+msgid "Usage: %s disk\n"
+msgstr "Utilizazion: %s disc\n"
+
+#: e2fsck/flushb.c:64
+#, c-format
+msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
+msgstr "Ioctl BLKFLSBUF no supuartât! Impussibil disvuedâ i buffer.\n"
+
+#: e2fsck/iscan.c:44
+#, c-format
+msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+msgstr "Ûs: %s [-F] [-I inode_buffer_blocks] dispositîf\n"
+
+#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "tal vierzi %s pal disvuedâ"
+
+#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:383
+#, c-format
+msgid "while trying to flush %s"
+msgstr "tal cirî di disvuedâ %s"
+
+#: e2fsck/iscan.c:110
+#, c-format
+msgid "while trying to open '%s'"
+msgstr "tal cirî di vierzi '%s'"
+
+#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
+msgid "while opening inode scan"
+msgstr "tal inviâ la analisi dai inode"
+
+#: e2fsck/iscan.c:127 misc/e2image.c:1342
+msgid "while getting next inode"
+msgstr "tal otignî il prossim inode"
+
+#: e2fsck/iscan.c:136
+#, c-format
+msgid "%u inodes scanned.\n"
+msgstr "%u inode analizâts.\n"
+
+#: e2fsck/journal.c:597
+msgid "reading journal superblock\n"
+msgstr "daûr a lei il superbloc dal gjornâl des transazions\n"
+
+#: e2fsck/journal.c:670
+#, c-format
+msgid "%s: no valid journal superblock found\n"
+msgstr "%s: nissun superbloc di gjornâl des transazions valit cjatât\n"
+
+#: e2fsck/journal.c:679
+#, c-format
+msgid "%s: journal too short\n"
+msgstr "%s: gjornâl des transazions masse curt\n"
+
+#: e2fsck/journal.c:972 misc/fuse2fs.c:3792
+#, c-format
+msgid "%s: recovering journal\n"
+msgstr "%s: daûr a recuperâ il gjornâl des transazions\n"
+
+#: e2fsck/journal.c:974
+#, c-format
+msgid "%s: won't do journal recovery while read-only\n"
+msgstr "%s: no recuperarai il gjornâl des transazions in dome leture\n"
+
+#: e2fsck/journal.c:1001
+#, c-format
+msgid "while trying to re-open %s"
+msgstr "tal cirî di tornâ a vierzi %s"
+
+#: e2fsck/message.c:116
+msgid "aextended attribute"
+msgstr "aatribût estindût"
+
+#: e2fsck/message.c:117
+msgid "Aerror allocating"
+msgstr "AErôr tal assegnâ"
+
+#: e2fsck/message.c:118
+msgid "bblock"
+msgstr "bbloc"
+
+#: e2fsck/message.c:119
+msgid "Bbitmap"
+msgstr "Bbitmap"
+
+#: e2fsck/message.c:120
+msgid "ccompress"
+msgstr "ccomprim"
+
+#: e2fsck/message.c:121
+msgid "Cconflicts with some other fs @b"
+msgstr "Cal va in conflit cun cualchi altri fs @b"
+
+#: e2fsck/message.c:122
+msgid "ddirectory"
+msgstr "dcartele"
+
+#: e2fsck/message.c:123
+msgid "Ddeleted"
+msgstr "Deliminât"
+
+#: e2fsck/message.c:124
+msgid "eentry"
+msgstr "eelement"
+
+#: e2fsck/message.c:125
+msgid "E@e '%Dn' in %p (%i)"
+msgstr "E@e '%Dn' in %p (%i)"
+
+#: e2fsck/message.c:126
+msgid "ffilesystem"
+msgstr "ffilesystem"
+
+#: e2fsck/message.c:127
+msgid "Ffor @i %i (%Q) is"
+msgstr "Fpar l'@i %i (%Q) al è"
+
+#: e2fsck/message.c:128
+msgid "ggroup"
+msgstr "ggrup"
+
+#: e2fsck/message.c:129
+msgid "hHTREE @d @i"
+msgstr "h@i de @d HTREE"
+
+#: e2fsck/message.c:130
+msgid "iinode"
+msgstr "iinode"
+
+#: e2fsck/message.c:131
+msgid "Iillegal"
+msgstr "Iillegâl"
+
+#: e2fsck/message.c:132
+msgid "jjournal"
+msgstr "jgjornâl des transazions"
+
+#: e2fsck/message.c:133
+msgid "llost+found"
+msgstr "llost+found"
+
+#: e2fsck/message.c:134
+msgid "Lis a link"
+msgstr "Lal è un colegament"
+
+#: e2fsck/message.c:135
+msgid "mmultiply-claimed"
+msgstr "mreclamât in plui ocasions"
+
+#: e2fsck/message.c:136
+msgid "ninvalid"
+msgstr "nno valit"
+
+#: e2fsck/message.c:137
+msgid "oorphaned"
+msgstr "ovuarfin"
+
+#: e2fsck/message.c:138
+msgid "pproblem in"
+msgstr "pprobleme in"
+
+#: e2fsck/message.c:139
+msgid "qquota"
+msgstr "qcuote"
+
+#: e2fsck/message.c:140
+msgid "rroot @i"
+msgstr "rroot @i"
+
+#: e2fsck/message.c:141
+msgid "sshould be"
+msgstr "sal varès di jessi"
+
+#: e2fsck/message.c:142
+msgid "Ssuper@b"
+msgstr "Ssuper@b"
+
+#: e2fsck/message.c:143
+msgid "uunattached"
+msgstr "uno colegât"
+
+#: e2fsck/message.c:144
+msgid "vdevice"
+msgstr "vdispositîf"
+
+#: e2fsck/message.c:145
+msgid "xextent"
+msgstr "xextent"
+
+#: e2fsck/message.c:146
+msgid "zzero-length"
+msgstr "zlungjece-zero"
+
+#: e2fsck/message.c:157
+msgid "<The NULL inode>"
+msgstr "<Inode NULL>"
+
+#: e2fsck/message.c:158
+msgid "<The bad blocks inode>"
+msgstr "<Inode dai blocs difetôs>"
+
+#: e2fsck/message.c:160
+msgid "<The user quota inode>"
+msgstr "<Il inode de cuote dal utent>"
+
+#: e2fsck/message.c:161
+msgid "<The group quota inode>"
+msgstr "<Il inode  group quota inode>"
+
+#: e2fsck/message.c:162
+msgid "<The boot loader inode>"
+msgstr "<Il inode dal boot loader>"
+
+#: e2fsck/message.c:163
+msgid "<The undelete directory inode>"
+msgstr "<Il inode de cartele par anulâ la eliminazion>"
+
+#: e2fsck/message.c:164
+msgid "<The group descriptor inode>"
+msgstr "<Il inode dal descritôr dal grup>"
+
+#: e2fsck/message.c:165
+msgid "<The journal inode>"
+msgstr "<Inode dal gjornâl des transazions>"
+
+#: e2fsck/message.c:166
+msgid "<Reserved inode 9>"
+msgstr "<Inode riservât 9>"
+
+#: e2fsck/message.c:167
+msgid "<Reserved inode 10>"
+msgstr "<Inode riservât 10>"
+
+#: e2fsck/message.c:327
+msgid "regular file"
+msgstr "file regolâr"
+
+#: e2fsck/message.c:329
+msgid "directory"
+msgstr "cartele"
+
+#: e2fsck/message.c:331
+msgid "character device"
+msgstr "dispositîf a caratars"
+
+#: e2fsck/message.c:333
+msgid "block device"
+msgstr "dispositîf a blocs"
+
+#: e2fsck/message.c:335
+msgid "named pipe"
+msgstr "canâl cun non"
+
+#: e2fsck/message.c:337
+msgid "symbolic link"
+msgstr "colegament simbolic"
+
+#: e2fsck/message.c:339 misc/uuidd.c:162
+msgid "socket"
+msgstr "socket"
+
+#: e2fsck/message.c:341
+#, c-format
+msgid "unknown file type with mode 0%o"
+msgstr "gjenar di file no cognossût cun modalitât 0%o"
+
+#: e2fsck/message.c:412
+msgid "indirect block"
+msgstr "bloc indiret"
+
+#: e2fsck/message.c:414
+msgid "double indirect block"
+msgstr "bloc indiret dopli"
+
+#: e2fsck/message.c:416
+msgid "triple indirect block"
+msgstr "bloc indiret tripli"
+
+#: e2fsck/message.c:418
+msgid "translator block"
+msgstr "bloc tradutôr"
+
+#: e2fsck/message.c:420
+msgid "block #"
+msgstr "block #"
+
+#: e2fsck/message.c:482
+msgid "user"
+msgstr "utent"
+
+#: e2fsck/message.c:485
+msgid "group"
+msgstr "grup"
+
+#: e2fsck/message.c:488
+msgid "project"
+msgstr "progjet"
+
+#: e2fsck/message.c:491
+msgid "unknown quota type"
+msgstr "gjenar di cuote no cognossût"
+
+#: e2fsck/pass1b.c:222
+msgid "multiply claimed inode map"
+msgstr "mape di inode reclamade in plui ocasions"
+
+#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:826
+#, c-format
+msgid "internal error: can't find dup_blk for %llu\n"
+msgstr "erôr interni: impussibil cjatâ dup_blk par %llu\n"
+
+#: e2fsck/pass1b.c:952
+msgid "returned from clone_file_block"
+msgstr "tornât dal clone_file_block"
+
+#: e2fsck/pass1b.c:976
+#, c-format
+msgid "internal error: couldn't lookup EA block record for %llu"
+msgstr "erôr interni: impussibil cirî il regjistri dal bloc EA par %llu"
+
+#: e2fsck/pass1b.c:988
+#, c-format
+msgid "internal error: couldn't lookup EA inode record for %u"
+msgstr "erôr interni: impussibil cirî il regjistri dal bloc EA par %u"
+
+#: e2fsck/pass1.c:357
+#, c-format
+msgid "while hashing entry with e_value_inum = %u"
+msgstr "intant che si fâs l'hash de vôs cun e_value_inum = %u"
+
+#: e2fsck/pass1.c:775 e2fsck/pass2.c:1007
+msgid "reading directory block"
+msgstr "daûr a lei il bloc de cartele"
+
+#: e2fsck/pass1.c:1224
+msgid "in-use inode map"
+msgstr "mape di inode in ûs"
+
+#: e2fsck/pass1.c:1235
+msgid "directory inode map"
+msgstr "mape dai inode de cartele"
+
+#: e2fsck/pass1.c:1245
+msgid "regular file inode map"
+msgstr "mape dai inode dal file regolârs"
+
+#: e2fsck/pass1.c:1254 misc/e2image.c:1282
+msgid "in-use block map"
+msgstr "mape dai blocs in ûs"
+
+#: e2fsck/pass1.c:1263
+msgid "metadata block map"
+msgstr "mape dal bloc dai metadâts"
+
+#: e2fsck/pass1.c:1325
+msgid "opening inode scan"
+msgstr "daûr a vierzi la scansion dai inode"
+
+#: e2fsck/pass1.c:1363
+msgid "getting next inode from scan"
+msgstr "daûr a otignî de scansion il inode sucessîf"
+
+#: e2fsck/pass1.c:2067
+msgid "Pass 1"
+msgstr "Pas 1"
+
+#: e2fsck/pass1.c:2128
+#, c-format
+msgid "reading indirect blocks of inode %u"
+msgstr "daûr a lei i blocs indirets dal inode %u"
+
+#: e2fsck/pass1.c:2179
+msgid "bad inode map"
+msgstr "mape dai inode ruvinade"
+
+#: e2fsck/pass1.c:2219
+msgid "inode in bad block map"
+msgstr "inode in mape di bloc ruvinade"
+
+#: e2fsck/pass1.c:2239
+msgid "imagic inode map"
+msgstr "mape dai inode cun imagic"
+
+#: e2fsck/pass1.c:2270
+msgid "multiply claimed block map"
+msgstr "mape dai blocs reclamâts in plui ocasions"
+
+#: e2fsck/pass1.c:2395
+msgid "ext attr block map"
+msgstr "mape dai blocs di atribûts estindûts"
+
+#: e2fsck/pass1.c:3640
+#, c-format
+msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
+msgstr "%6lu(%c): si spietave %6lu ma si à vût blocs fisics %6lu (numar di blocs %lld)\n"
+
+#: e2fsck/pass1.c:4060
+msgid "block bitmap"
+msgstr "mape dai bit dai blocs"
+
+#: e2fsck/pass1.c:4066
+msgid "inode bitmap"
+msgstr "map dai bit dai inode"
+
+#: e2fsck/pass1.c:4072
+msgid "inode table"
+msgstr "tabele inode"
+
+#: e2fsck/pass2.c:307
+msgid "Pass 2"
+msgstr "Pas 2"
+
+#: e2fsck/pass2.c:1079 e2fsck/pass2.c:1246
+msgid "Can not continue."
+msgstr "Impussibil continuâ."
+
+#: e2fsck/pass3.c:77
+msgid "inode done bitmap"
+msgstr "mape dai bit dai inode fats"
+
+#: e2fsck/pass3.c:86
+msgid "Peak memory"
+msgstr "Memorie di pic"
+
+#: e2fsck/pass3.c:149
+msgid "Pass 3"
+msgstr "Pas 3"
+
+#: e2fsck/pass3.c:344
+msgid "inode loop detection bitmap"
+msgstr "mape dai bit dai rilevaments di ciclis di inode"
+
+#: e2fsck/pass4.c:277
+msgid "Pass 4"
+msgstr "Pas 4"
+
+#: e2fsck/pass5.c:79
+msgid "Pass 5"
+msgstr "Pas 5"
+
+#: e2fsck/pass5.c:102
+msgid "check_inode_bitmap_checksum: Memory allocation error"
+msgstr "check_inode_bitmap_checksum: erôr di assegnazion de memorie"
+
+#: e2fsck/pass5.c:156
+msgid "check_block_bitmap_checksum: Memory allocation error"
+msgstr "check_block_bitmap_checksum: erôr di assegnazion de memorie"
+
+#: e2fsck/problem.c:52
+msgid "(no prompt)"
+msgstr "(nissune richieste)"
+
+#: e2fsck/problem.c:53
+msgid "Fix"
+msgstr "Comede"
+
+#: e2fsck/problem.c:54
+msgid "Clear"
+msgstr "Nete"
+
+#: e2fsck/problem.c:55
+msgid "Relocate"
+msgstr "Torne a colocâ"
+
+#: e2fsck/problem.c:56
+msgid "Allocate"
+msgstr "Assegne"
+
+#: e2fsck/problem.c:57
+msgid "Expand"
+msgstr "Pant"
+
+#: e2fsck/problem.c:58
+msgid "Connect to /lost+found"
+msgstr "Conet a /lost+found"
+
+#: e2fsck/problem.c:59
+msgid "Create"
+msgstr "Cree"
+
+#: e2fsck/problem.c:60
+msgid "Salvage"
+msgstr "Recupere"
+
+#: e2fsck/problem.c:61
+msgid "Truncate"
+msgstr "Cjonce"
+
+#: e2fsck/problem.c:62
+msgid "Clear inode"
+msgstr "Nete inode"
+
+#: e2fsck/problem.c:63
+msgid "Abort"
+msgstr "Anule"
+
+#: e2fsck/problem.c:64
+msgid "Split"
+msgstr "Divît"
+
+#: e2fsck/problem.c:65
+msgid "Continue"
+msgstr "Continue"
+
+#: e2fsck/problem.c:66
+msgid "Clone multiply-claimed blocks"
+msgstr "Clone i blocs reclamâts in multiplis ocasions"
+
+#: e2fsck/problem.c:67
+msgid "Delete file"
+msgstr "Elimine file"
+
+#: e2fsck/problem.c:68
+msgid "Suppress messages"
+msgstr "Soprimi messaçs"
+
+#: e2fsck/problem.c:69
+msgid "Unlink"
+msgstr "Scoleghe"
+
+#: e2fsck/problem.c:70
+msgid "Clear HTree index"
+msgstr "Nete indiç HTree"
+
+#: e2fsck/problem.c:71
+msgid "Recreate"
+msgstr "Ricree"
+
+#: e2fsck/problem.c:72
+msgid "Optimize"
+msgstr "Perfezione"
+
+#: e2fsck/problem.c:81
+msgid "(NONE)"
+msgstr "(NISSUN)"
+
+#: e2fsck/problem.c:82
+msgid "FIXED"
+msgstr "COMEDÂT"
+
+#: e2fsck/problem.c:83
+msgid "CLEARED"
+msgstr "NETÂT"
+
+#: e2fsck/problem.c:84
+msgid "RELOCATED"
+msgstr "TORNÂT A COLOCÂ"
+
+#: e2fsck/problem.c:85
+msgid "ALLOCATED"
+msgstr "ASSEGNÂT"
+
+#: e2fsck/problem.c:86
+msgid "EXPANDED"
+msgstr "PANDÛT"
+
+#: e2fsck/problem.c:87
+msgid "RECONNECTED"
+msgstr "TORNÂT A CONETI"
+
+#: e2fsck/problem.c:88
+msgid "CREATED"
+msgstr "CREÂT"
+
+#: e2fsck/problem.c:89
+msgid "SALVAGED"
+msgstr "RECUPERÂT"
+
+#: e2fsck/problem.c:90
+msgid "TRUNCATED"
+msgstr "CJONÇÂT"
+
+#: e2fsck/problem.c:91
+msgid "INODE CLEARED"
+msgstr "INODE NETÂT"
+
+#: e2fsck/problem.c:92
+msgid "ABORTED"
+msgstr "ANULÂT"
+
+#: e2fsck/problem.c:93
+msgid "SPLIT"
+msgstr "DIVIDÛT"
+
+#: e2fsck/problem.c:94
+msgid "CONTINUING"
+msgstr "SI CONTINUE"
+
+#: e2fsck/problem.c:95
+msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
+msgstr "SI À CLONÂT I BLOCS RECLAMÂTS IN PLUI OCASIONS"
+
+#: e2fsck/problem.c:96
+msgid "FILE DELETED"
+msgstr "FILE ELIMINÂT"
+
+#: e2fsck/problem.c:97
+msgid "SUPPRESSED"
+msgstr "SOPRIMÛT"
+
+#: e2fsck/problem.c:98
+msgid "UNLINKED"
+msgstr "SCOLEGÂT"
+
+#: e2fsck/problem.c:99
+msgid "HTREE INDEX CLEARED"
+msgstr "INDIÇ HTREE NETÂT"
+
+#: e2fsck/problem.c:100
+msgid "WILL RECREATE"
+msgstr "SI CREARÀ DI GNÛF"
+
+#: e2fsck/problem.c:101
+msgid "WILL OPTIMIZE"
+msgstr "SI PERFEZIONARÀ"
+
+#. @-expanded: block bitmap for group %g is not in group.  (block %b)\n
+#: e2fsck/problem.c:115
+msgid "@b @B for @g %g is not in @g.  (@b %b)\n"
+msgstr "@B dal @b pal @g %g nol è tal @g.  (@b %b)\n"
+
+#. @-expanded: inode bitmap for group %g is not in group.  (block %b)\n
+#: e2fsck/problem.c:119
+msgid "@i @B for @g %g is not in @g.  (@b %b)\n"
+msgstr "@B dal @i pal @g %g nol è tal @g.  (@b %b)\n"
+
+#. @-expanded: inode table for group %g is not in group.  (block %b)\n
+#. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
+#: e2fsck/problem.c:124
+msgid ""
+"@i table for @g %g is not in @g.  (@b %b)\n"
+"WARNING: SEVERE DATA LOSS POSSIBLE.\n"
+msgstr ""
+"Tabele @i pal @g %g no je tal @g.  (@b %b)\n"
+"ATENZION: AL È PUSSIBIL VÊ GRIVIIS PIERDITIS DI DÂTS.\n"
+
+#. @-expanded: \n
+#. @-expanded: The superblock could not be read or does not describe a valid ext2/ext3/ext4\n
+#. @-expanded: filesystem.  If the device is valid and it really contains an ext2/ext3/ext4\n
+#. @-expanded: filesystem (and not swap or ufs or something else), then the superblock\n
+#. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n
+#. @-expanded:     e2fsck -b 8193 <device>\n
+#. @-expanded:  or\n
+#. @-expanded:     e2fsck -b 32768 <device>\n
+#. @-expanded: \n
+#: e2fsck/problem.c:130
+msgid ""
+"\n"
+"The @S could not be read or does not describe a valid ext2/ext3/ext4\n"
+"@f.  If the @v is valid and it really contains an ext2/ext3/ext4\n"
+"@f (and not swap or ufs or something else), then the @S\n"
+"is corrupt, and you might try running e2fsck with an alternate @S:\n"
+"    e2fsck -b 8193 <@v>\n"
+" or\n"
+"    e2fsck -b 32768 <@v>\n"
+"\n"
+msgstr ""
+"\n"
+"Il @S nol à podût lei o nol descrîf un valit @f ext2/ext3/ext4.\n"
+"Se il @v al è valit e al conten pardabon un @f ext2/ext3/ext4\n"
+"(e no swap o ufs o alc altri), alore il @S\n"
+"al è ruvinât, e tu varessis di cirî di eseguî e2fsck cuntun @S alternatîf:\n"
+"    e2fsck -b 8193 <@v>\n"
+" o\n"
+"    e2fsck -b 32768 <@v>\n"
+"\n"
+
+#. @-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
+#: e2fsck/problem.c:141
+msgid ""
+"The @f size (according to the @S) is %b @bs\n"
+"The physical size of the @v is %c @bs\n"
+"Either the @S or the partition table is likely to be corrupt!\n"
+msgstr ""
+"La dimension dal @f (in acuardi cul @S) e je %b @bs\n"
+"La dimension fisiche dal @v e je %c @bs\n"
+"Al è probabil che un dai doi, tra il @S e la tabele des partizions, al sedi ruvinât.\n"
+
+#. @-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
+#: e2fsck/problem.c:148
+msgid ""
+"@S @b_size = %b, fragsize = %c.\n"
+"This version of e2fsck does not support fragment sizes different\n"
+"from the @b size.\n"
+msgstr ""
+"Tal @S la dimension dal @b (blocsize) = %b, la dimension dal toc (fragsize) = %c.\n"
+"Cheste version di e2fsck no supuarte lis dimensions dal toc (fragment) diferentis\n"
+"de dimension dal @b.\n"
+
+#. @-expanded: superblock blocks_per_group = %b, should have been %c\n
+#: e2fsck/problem.c:155
+msgid "@S @bs_per_group = %b, should have been %c\n"
+msgstr "Il @bs_per_group dal @S al è %b, al varès dovût jessi %c\n"
+
+#. @-expanded: superblock first_data_block = %b, should have been %c\n
+#: e2fsck/problem.c:160
+msgid "@S first_data_@b = %b, should have been %c\n"
+msgstr "Il first_data_@b dal @S al è %b, al varès dovût jessi %c\n"
+
+#. @-expanded: filesystem did not have a UUID; generating one.\n
+#. @-expanded: \n
+#: e2fsck/problem.c:165
+msgid ""
+"@f did not have a UUID; generating one.\n"
+"\n"
+msgstr ""
+"@f nol à un UUID; si gjenere un.\n"
+"\n"
+
+#: e2fsck/problem.c:171
+#, no-c-format
+msgid ""
+"Note: if several inode or block bitmap blocks or part\n"
+"of the inode table require relocation, you may wish to try\n"
+"running e2fsck with the '-b %S' option first.  The problem\n"
+"may lie only with the primary block group descriptors, and\n"
+"the backup block group descriptors may be OK.\n"
+"\n"
+msgstr ""
+"Note: se varis inode o blocs di mape di bit di blocs o part\n"
+"de tabele di inode a àn bisugne di ricolocament, prime tu \n"
+"podaressis cirî di eseguî e2fsck cu la opzion '-b %S'.  Il probleme\n"
+"al pues stâ dome intai descritôrs dal grup di blocs primari e la\n"
+"copie di backup dai descritôrs dal grup di blocs e podarès jessi a\n"
+"puest.\n"
+
+#. @-expanded: Corruption found in superblock.  (%s = %N).\n
+#: e2fsck/problem.c:180
+msgid "Corruption found in @S.  (%s = %N).\n"
+msgstr "Coruzion cjatade in @S.  (%s = %N).\n"
+
+#. @-expanded: Error determining size of the physical device: %m\n
+#: e2fsck/problem.c:186
+#, no-c-format
+msgid "Error determining size of the physical @v: %m\n"
+msgstr "Erôr tal determinâ la dimension dal @v fisic: %m\n"
+
+#. @-expanded: inode count in superblock is %i, should be %j.\n
+#: e2fsck/problem.c:191
+msgid "@i count in @S is %i, @s %j.\n"
+msgstr "La conte @i tal @S e je %i, @s %j.\n"
+
+#: e2fsck/problem.c:195
+msgid "The Hurd does not support the filetype feature.\n"
+msgstr "Il Hurd nol supuarte la funzionalitât dal gjenar di file.\n"
+
+#. @-expanded: superblock has an invalid journal (inode %i).\n
+#: e2fsck/problem.c:201
+#, no-c-format
+msgid "@S has an @n @j (@i %i).\n"
+msgstr "Il @S al à un @j @n (@i %i).\n"
+
+#. @-expanded: External journal has multiple filesystem users (unsupported).\n
+#: e2fsck/problem.c:206
+msgid "External @j has multiple @f users (unsupported).\n"
+msgstr "Il @j eterni al à plui utents dal @f (no supuartât).\n"
+
+#. @-expanded: Can't find external journal\n
+#: e2fsck/problem.c:211
+msgid "Can't find external @j\n"
+msgstr "Impussibil cjatâ il @j esterni\n"
+
+#. @-expanded: External journal has bad superblock\n
+#: e2fsck/problem.c:216
+msgid "External @j has bad @S\n"
+msgstr "Il @j esterni al à un @S difetôs\n"
+
+#. @-expanded: External journal does not support this filesystem\n
+#: e2fsck/problem.c:221
+msgid "External @j does not support this @f\n"
+msgstr "Il @j esterni nol supuarte chest @f\n"
+
+#. @-expanded: filesystem journal superblock is unknown type %N (unsupported).\n
+#. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal 
+#. @-expanded: format.\n
+#. @-expanded: It is also possible the journal superblock is corrupt.\n
+#: e2fsck/problem.c:226
+msgid ""
+"@f @j @S is unknown type %N (unsupported).\n"
+"It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n"
+"It is also possible the @j @S is corrupt.\n"
+msgstr ""
+"Il @S dal @j dal @f al è di un gjenar no cognossût %N (no supuartât).\n"
+"Al è probabil che la copie di e2fsck e sedi vecje e/o no supuarte chest formât di @j.\n"
+"Al è ancje pussibil che il @S dal @j al sedi ruvinât.\n"
+
+#. @-expanded: journal superblock is corrupt.\n
+#: e2fsck/problem.c:235
+msgid "@j @S is corrupt.\n"
+msgstr "@j @S al è ruvinât.\n"
+
+#. @-expanded: superblock has_journal flag is clear, but a journal is present.\n
+#: e2fsck/problem.c:240
+msgid "@S has_@j flag is clear, but a @j is present.\n"
+msgstr "La opzion has_@j dal @S e je nete, ma al è presint un @j.\n"
+
+#. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n
+#: e2fsck/problem.c:245
+msgid "@S needs_recovery flag is set, but no @j is present.\n"
+msgstr "La variabile needs_recovery dal @S e je ative, ma nol è presint nissun @j.\n"
+
+#. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n
+#: e2fsck/problem.c:250
+msgid "@S needs_recovery flag is clear, but @j has data.\n"
+msgstr "La variabile needs_recovery dal @S e je nete, ma il @j al à dâts.\n"
+
+#. @-expanded: Clear journal
+#: e2fsck/problem.c:255
+msgid "Clear @j"
+msgstr "Nete @j"
+
+#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem.  
+#: e2fsck/problem.c:260 e2fsck/problem.c:796
+msgid "@f has feature flag(s) set, but is a revision 0 @f.  "
+msgstr "Il @f al à opzions di funzionalitâts ativadis, però al è un @f di revision 0.  "
+
+#. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n
+#: e2fsck/problem.c:265
+msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
+msgstr "%s @i @o %i (uid=%Iu, gid=%Ig, mût=%Im, dimension=%Is)\n"
+
+#. @-expanded: illegal %B (%b) found in orphaned inode %i.\n
+#: e2fsck/problem.c:270
+msgid "@I %B (%b) found in @o @i %i.\n"
+msgstr "@I %B (%b) cjatât in @i @o %i.\n"
+
+#. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n
+#: e2fsck/problem.c:275
+msgid "Already cleared %B (%b) found in @o @i %i.\n"
+msgstr "Cjatât %b (%b) za netât tal @i @o %i.\n"
+
+#. @-expanded: illegal orphaned inode %i in superblock.\n
+#: e2fsck/problem.c:281
+#, no-c-format
+msgid "@I @o @i %i in @S.\n"
+msgstr "@I @o @i %i in @S.\n"
+
+#. @-expanded: illegal inode %i in orphaned inode list.\n
+#: e2fsck/problem.c:287
+#, no-c-format
+msgid "@I @i %i in @o @i list.\n"
+msgstr "@I @i %i te liste @i @o.\n"
+
+#. @-expanded: journal superblock has an unknown read-only feature flag set.\n
+#: e2fsck/problem.c:292
+msgid "@j @S has an unknown read-only feature flag set.\n"
+msgstr "Il @S dal @j al à ative une opzion di funzionalitât di nome-leture che no je cognossude.\n"
+
+#. @-expanded: journal superblock has an unknown incompatible feature flag set.\n
+#: e2fsck/problem.c:297
+msgid "@j @S has an unknown incompatible feature flag set.\n"
+msgstr "Il @S dal @j al à ative une opzion di funzionalitât no compatibile che no je cognossude.\n"
+
+#. @-expanded: journal version not supported by this e2fsck.\n
+#: e2fsck/problem.c:302
+msgid "@j version not supported by this e2fsck.\n"
+msgstr "Version dal @j no supuartade di chest e2fsck.\n"
+
+#. @-expanded: Moving journal from /%s to hidden inode.\n
+#. @-expanded: \n
+#: e2fsck/problem.c:308
+#, no-c-format
+msgid ""
+"Moving @j from /%s to hidden @i.\n"
+"\n"
+msgstr ""
+"Daûr a movi il @j di /%s sul @i platât.\n"
+"\n"
+
+#. @-expanded: Error moving journal: %m\n
+#. @-expanded: \n
+#: e2fsck/problem.c:314
+#, no-c-format
+msgid ""
+"Error moving @j: %m\n"
+"\n"
+msgstr ""
+"Erôr tal spostâ il @j: %m\n"
+"\n"
+
+#. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n
+#. @-expanded: Clearing fields beyond the V1 journal superblock...\n
+#. @-expanded: \n
+#: e2fsck/problem.c:319
+msgid ""
+"Found @n V2 @j @S fields (from V1 @j).\n"
+"Clearing fields beyond the V1 @j @S...\n"
+"\n"
+msgstr ""
+"Cjatâts cjamps di @S dal @j V2 @ns (dal @j V1).\n"
+"Daûr a netâ i cjamps là di là dal @S dal @j de V1...\n"
+"\n"
+
+#. @-expanded: Run journal anyway
+#: e2fsck/problem.c:325
+msgid "Run @j anyway"
+msgstr "Eseguìs il @j distès"
+
+#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n
+#: e2fsck/problem.c:330
+msgid "Recovery flag not set in backup @S, so running @j anyway.\n"
+msgstr ""
+"La variabile di recupar no je ative tal @S di backup, duncje si\n"
+"eseguìs il @j distès.\n"
+
+#. @-expanded: Backing up journal inode block information.\n
+#. @-expanded: \n
+#: e2fsck/problem.c:335
+msgid ""
+"Backing up @j @i @b information.\n"
+"\n"
+msgstr "Daûr a fâ il backup des informazions dal @b dal @i dal @j\n"
+
+#. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n
+#. @-expanded: is %N; should be zero.  
+#: e2fsck/problem.c:341
+msgid ""
+"@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n"
+"is %N; @s zero.  "
+msgstr ""
+"Il @f nol à abilitât il resize_@i, ma s_reserved_gdt_@bs\n"
+"al è %N; al varès di jessi zero.  "
+
+#. @-expanded: Resize_inode not enabled, but the resize inode is non-zero.  
+#: e2fsck/problem.c:347
+msgid "Resize_@i not enabled, but the resize @i is non-zero.  "
+msgstr "Resize_inode nol è abilitât, ma il inode de ridimension nol è zero.  "
+
+#. @-expanded: Resize inode not valid.  
+#: e2fsck/problem.c:352
+msgid "Resize @i not valid.  "
+msgstr "Cambi di dimension di @i no valit.  "
+
+#. @-expanded: superblock last mount time (%t,\n
+#. @-expanded: \tnow = %T) is in the future.\n
+#: e2fsck/problem.c:357
+msgid ""
+"@S last mount time (%t,\n"
+"\tnow = %T) is in the future.\n"
+msgstr ""
+"La ultime volte (%t,tnow = %T)\n"
+"che si à montât il @S e je tal futûr.\n"
+
+#. @-expanded: superblock last write time (%t,\n
+#. @-expanded: \tnow = %T) is in the future.\n
+#: e2fsck/problem.c:362
+msgid ""
+"@S last write time (%t,\n"
+"\tnow = %T) is in the future.\n"
+msgstr ""
+"La ultime volte (%t,tnow = %T)\n"
+"che si à scrit il @S e je tal futûr.\n"
+
+#. @-expanded: superblock hint for external superblock should be %X.  
+#: e2fsck/problem.c:368
+#, no-c-format
+msgid "@S hint for external superblock @s %X.  "
+msgstr "La piste dal @S par un superbloc esterni e varès di jessi %X.  "
+
+#. @-expanded: Adding dirhash hint to filesystem.\n
+#. @-expanded: \n
+#: e2fsck/problem.c:373
+msgid ""
+"Adding dirhash hint to @f.\n"
+"\n"
+msgstr ""
+"Daûr a zontâ la piste dal dirhash al @f.\n"
+"\n"
+
+#. @-expanded: group descriptor %g checksum is %04x, should be %04y.  
+#: e2fsck/problem.c:378
+msgid "@g descriptor %g checksum is %04x, should be %04y.  "
+msgstr "La sume di control (checksum) dal descritôr dal @g %g e je %04x, e varès di jessi %04y.  "
+
+#. @-expanded: group descriptor %g marked uninitialized without feature set.\n
+#: e2fsck/problem.c:384
+#, no-c-format
+msgid "@g descriptor %g marked uninitialized without feature set.\n"
+msgstr "Descritôr dal @g %g segnât come no inizializât cence schirie di funzionalitâts.\n"
+
+#. @-expanded: group descriptor %g has invalid unused inodes count %b.  
+#: e2fsck/problem.c:389
+msgid "@g descriptor %g has invalid unused inodes count %b.  "
+msgstr "Il descritôr dal @g %g al à une conte no valide di %b inode no doprâts.  "
+
+#. @-expanded: Last group block bitmap uninitialized.  
+#: e2fsck/problem.c:394
+msgid "Last @g @b @B uninitialized.  "
+msgstr "L'ultin @B di @b dal @g nol è inizializât.  "
+
+#: e2fsck/problem.c:400
+#, no-c-format
+msgid "Journal transaction %i was corrupt, replay was aborted.\n"
+msgstr "La transazion %i dal gjornâl des transazions e jere ruvinade, e je stade interote la ripetizion.\n"
+
+#: e2fsck/problem.c:405
+msgid "The test_fs flag is set (and ext4 is available).  "
+msgstr "La opzion test_fs e je ative (e ext4 al è disponibil).  "
+
+#. @-expanded: superblock last mount time is in the future.\n
+#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
+#. @-expanded: set)\n
+#: e2fsck/problem.c:410
+msgid ""
+"@S last mount time is in the future.\n"
+"\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
+msgstr ""
+"La ore dal montaç dal ultin @S e je tal futûr.\n"
+"\t(par mancul di un dì, al è probabil che al sedi par vie di une impostazion sbaliade dal orloi hardware)\n"
+
+#. @-expanded: superblock last write time is in the future.\n
+#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
+#. @-expanded: set)\n
+#: e2fsck/problem.c:416
+msgid ""
+"@S last write time is in the future.\n"
+"\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
+msgstr ""
+"La ore de scriture dal ultin @S e je tal futûr.\n"
+"\t(par mancul di un dì, al è probabil che al sedi par vie di une impostazion sbaliade dal orloi hardware)\n"
+
+#. @-expanded: One or more block group descriptor checksums are invalid.  
+#: e2fsck/problem.c:422
+msgid "One or more @b @g descriptor checksums are invalid.  "
+msgstr "Une o plui sumis di control (checksums) dai descritôrs dal @g dal @b no son validis.  "
+
+#. @-expanded: Setting free inodes count to %j (was %i)\n
+#: e2fsck/problem.c:427
+msgid "Setting free @is count to %j (was %i)\n"
+msgstr "Daûr a stabilî la conte dai @i libars a %j (e jere %i)\n"
+
+#. @-expanded: Setting free blocks count to %c (was %b)\n
+#: e2fsck/problem.c:432
+msgid "Setting free @bs count to %c (was %b)\n"
+msgstr "Daûr a stabilî la conte dai @bs libars a %c (e jere %b)\n"
+
+#. @-expanded: Hiding %U quota inode %i (%Q).\n
+#: e2fsck/problem.c:437
+msgid "Hiding %U @q @i %i (%Q).\n"
+msgstr "Daûr a platâ il %U @i de @q %i (%Q).\n"
+
+#. @-expanded: superblock has invalid MMP block.  
+#: e2fsck/problem.c:442
+msgid "@S has invalid MMP block.  "
+msgstr "Il @S nol à un bloc MMP valit.  "
+
+#. @-expanded: superblock has invalid MMP magic.  
+#: e2fsck/problem.c:447
+msgid "@S has invalid MMP magic.  "
+msgstr "Il @S al à un numar magjic di MMP no valit.  "
+
+#: e2fsck/problem.c:453
+#, no-c-format
+msgid "ext2fs_open2: %m\n"
+msgstr "ext2fs_open2: %m\n"
+
+#: e2fsck/problem.c:459
+#, no-c-format
+msgid "ext2fs_check_desc: %m\n"
+msgstr "ext2fs_check_desc: %m\n"
+
+#. @-expanded: superblock metadata_csum supersedes uninit_bg; both feature bits cannot be set 
+#. @-expanded: simultaneously.
+#: e2fsck/problem.c:465
+msgid "@S metadata_csum supersedes uninit_bg; both feature bits cannot be set simultaneously."
+msgstr "il metadata_csum dal @S al rimplace uninit_bg; no puedin jessi ativâts tal stes timp ducj i doi i bit des funzionalitâts."
+
+#. @-expanded: superblock MMP block checksum does not match.  
+#: e2fsck/problem.c:471
+msgid "@S MMP @b checksum does not match.  "
+msgstr "Il checksum dal @b MMP dal @S nol corispuint.  "
+
+#. @-expanded: superblock 64bit filesystem needs extents to access the whole disk.  
+#: e2fsck/problem.c:476
+msgid "@S 64bit @f needs extents to access the whole disk.  "
+msgstr "Il @S di un @f a 64bit al à bisugne dai «extents» par acedi al disc intîr.  "
+
+#: e2fsck/problem.c:481
+msgid "First_meta_bg is too big.  (%N, max value %g).  "
+msgstr "First_meta_bg al è masse grant.  (%N, valôr massim %g).  "
+
+#. @-expanded: External journal superblock checksum does not match superblock.  
+#: e2fsck/problem.c:486
+msgid "External @j @S checksum does not match @S.  "
+msgstr "Il checksum dal @S dal @j esterni nol corispuint cul @S.  "
+
+#. @-expanded: superblock metadata_csum_seed is not necessary without metadata_csum.
+#: e2fsck/problem.c:491
+msgid "@S metadata_csum_seed is not necessary without metadata_csum."
+msgstr "metadata_csum_seed dal @S nol è necessari cence metadata_csum."
+
+#: e2fsck/problem.c:497
+#, no-c-format
+msgid "Error initializing quota context in support library: %m\n"
+msgstr "Erôr tal inizializâ il contest de cuote inte librarie di supuart: %m\n"
+
+#. @-expanded: Bad required extra isize in superblock (%N).  
+#: e2fsck/problem.c:502
+msgid "Bad required extra isize in @S (%N).  "
+msgstr "Il isize adizionâl domandât al è sbaliât in @S (%N).  "
+
+#. @-expanded: Bad desired extra isize in superblock (%N).  
+#: e2fsck/problem.c:507
+msgid "Bad desired extra isize in @S (%N).  "
+msgstr "Il isize adizionâl desiderât al è sbaliât in @S (%N).  "
+
+#. @-expanded: Invalid %U quota inode %i.  
+#: e2fsck/problem.c:512
+msgid "Invalid %U @q @i %i.  "
+msgstr "%U @i de @q %i no valit.  "
+
+#. @-expanded: superblock would have too many inodes (%N).\n
+#: e2fsck/problem.c:517
+msgid "@S would have too many inodes (%N).\n"
+msgstr "@S al varès masse inode (%N).\n"
+
+#. @-expanded: Resize_inode and meta_bg features are enabled. Those features are\n
+#. @-expanded: not compatible. Resize inode should be disabled.  
+#: e2fsck/problem.c:522
+msgid ""
+"Resize_@i and meta_bg features are enabled. Those features are\n"
+"not compatible. Resize @i should be disabled.  "
+msgstr ""
+"Lis funzionalitâts resize_inode e beta_bg a son abilitadis, ma no son\n"
+"compatibilis. Si varès di disabilitâ il resize_inode."
+
+#. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n
+#: e2fsck/problem.c:530
+msgid "Pass 1: Checking @is, @bs, and sizes\n"
+msgstr "Pas 1: Ccontrol @i, @bs e dimensions\n"
+
+#. @-expanded: root inode is not a directory.  
+#: e2fsck/problem.c:534
+msgid "@r is not a @d.  "
+msgstr "@r no je une @d.  "
+
+#. @-expanded: root inode has dtime set (probably due to old mke2fs).  
+#: e2fsck/problem.c:539
+msgid "@r has dtime set (probably due to old mke2fs).  "
+msgstr "dtime al è stât stabilît in @r (forsit par vie di un vecjo mke2fs).  "
+
+#. @-expanded: Reserved inode %i (%Q) has invalid mode.  
+#: e2fsck/problem.c:544
+msgid "Reserved @i %i (%Q) has @n mode.  "
+msgstr "Il @i riservât %i (%Q) al à une modalitât no valide."
+
+#. @-expanded: deleted inode %i has zero dtime.  
+#: e2fsck/problem.c:550
+#, no-c-format
+msgid "@D @i %i has zero dtime.  "
+msgstr "Il @i eliminât %i al à un dtime zero.  "
+
+#. @-expanded: inode %i is in use, but has dtime set.  
+#: e2fsck/problem.c:556
+#, no-c-format
+msgid "@i %i is in use, but has dtime set.  "
+msgstr "Il @i %i al è in ûs, ma al à configurât un dtime.  "
+
+#. @-expanded: inode %i is a zero-length directory.  
+#: e2fsck/problem.c:562
+#, no-c-format
+msgid "@i %i is a @z @d.  "
+msgstr ""
+
+#. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
+#: e2fsck/problem.c:567
+msgid "@g %g's @b @B at %b @C.\n"
+msgstr ""
+
+#. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n
+#: e2fsck/problem.c:572
+msgid "@g %g's @i @B at %b @C.\n"
+msgstr ""
+
+#. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n
+#: e2fsck/problem.c:577
+msgid "@g %g's @i table at %b @C.\n"
+msgstr ""
+
+#. @-expanded: group %g's block bitmap (%b) is bad.  
+#: e2fsck/problem.c:582
+msgid "@g %g's @b @B (%b) is bad.  "
+msgstr "@B dal @b dal @g %g (%b) al è ruvinât.  "
+
+#. @-expanded: group %g's inode bitmap (%b) is bad.  
+#: e2fsck/problem.c:587
+msgid "@g %g's @i @B (%b) is bad.  "
+msgstr "@B dal @i dal @g %g (%b) al è ruvinât.  "
+
+#. @-expanded: inode %i, i_size is %Is, should be %N.  
+#: e2fsck/problem.c:592
+msgid "@i %i, i_size is %Is, @s %N.  "
+msgstr ""
+
+#. @-expanded: inode %i, i_blocks is %Ib, should be %N.  
+#: e2fsck/problem.c:597
+msgid "@i %i, i_@bs is %Ib, @s %N.  "
+msgstr ""
+
+#. @-expanded: illegal %B (%b) in inode %i.  
+#: e2fsck/problem.c:602
+msgid "@I %B (%b) in @i %i.  "
+msgstr ""
+
+#. @-expanded: %B (%b) overlaps filesystem metadata in inode %i.  
+#: e2fsck/problem.c:607
+msgid "%B (%b) overlaps @f metadata in @i %i.  "
+msgstr ""
+
+#. @-expanded: inode %i has illegal block(s).  
+#: e2fsck/problem.c:613
+#, no-c-format
+msgid "@i %i has illegal @b(s).  "
+msgstr ""
+
+#. @-expanded: Too many illegal blocks in inode %i.\n
+#: e2fsck/problem.c:619
+#, no-c-format
+msgid "Too many illegal @bs in @i %i.\n"
+msgstr ""
+
+#. @-expanded: illegal %B (%b) in bad block inode.  
+#: e2fsck/problem.c:624
+msgid "@I %B (%b) in bad @b @i.  "
+msgstr ""
+
+#. @-expanded: Bad block inode has illegal block(s).  
+#: e2fsck/problem.c:629
+msgid "Bad @b @i has illegal @b(s).  "
+msgstr "Il @i dal @b ruvinât al à @b(s) no valit(s).  "
+
+#. @-expanded: Duplicate or bad block in use!\n
+#: e2fsck/problem.c:634
+msgid "Duplicate or bad @b in use!\n"
+msgstr "@b dopli o difetôs in ûs!\n"
+
+#. @-expanded: Bad block %b used as bad block inode indirect block.  
+#: e2fsck/problem.c:639
+msgid "Bad @b %b used as bad @b @i indirect @b.  "
+msgstr "@b %b difetôs doprât come @b indiret di @i dal bloc difetôs.  "
+
+#. @-expanded: \n
+#. @-expanded: The bad block inode has probably been corrupted.  You probably\n
+#. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n
+#. @-expanded: in the filesystem.\n
+#: e2fsck/problem.c:644
+msgid ""
+"\n"
+"The bad @b @i has probably been corrupted.  You probably\n"
+"should stop now and run e2fsck -c to scan for bad blocks\n"
+"in the @f.\n"
+msgstr ""
+"\n"
+"Il @i dal @b difetôs forsit al è ruvinât.  Probabilmentri\n"
+"si varès di fermâsi cumò e eseguî e2fsck -c par analizâ i blocs\n"
+"difetôs tal @f.\n"
+
+#. @-expanded: \n
+#. @-expanded: If the block is really bad, the filesystem can not be fixed.\n
+#: e2fsck/problem.c:651
+msgid ""
+"\n"
+"If the @b is really bad, the @f can not be fixed.\n"
+msgstr ""
+"\n"
+"Se il @b al è pardabon ruvinât, il @f nol pues jessi comedât.\n"
+
+#. @-expanded: You can remove this block from the bad block list and hope\n
+#. @-expanded: that the block is really OK.  But there are no guarantees.\n
+#. @-expanded: \n
+#: e2fsck/problem.c:656
+msgid ""
+"You can remove this @b from the bad @b list and hope\n"
+"that the @b is really OK.  But there are no guarantees.\n"
+"\n"
+msgstr ""
+"Tu puedis gjavâ chest @b de liste dai @bs difetôs e sperâ\n"
+"che il @b al sedi pardabon A PUEST.  Ma no si à garanziis.\n"
+"\n"
+
+#. @-expanded: The primary superblock (%b) is on the bad block list.\n
+#: e2fsck/problem.c:662
+msgid "The primary @S (%b) is on the bad @b list.\n"
+msgstr "Il @S primari (%b) al sta su pe liste dai @bs difetôs.\n"
+
+#. @-expanded: Block %b in the primary group descriptors is on the bad block list\n
+#: e2fsck/problem.c:667
+msgid "Block %b in the primary @g descriptors is on the bad @b list\n"
+msgstr "Il bloc %b tai descritôrs dal @g primari al sta su pe liste dai @b difetôs\n"
+
+#. @-expanded: Warning: Group %g's superblock (%b) is bad.\n
+#: e2fsck/problem.c:673
+msgid "Warning: Group %g's @S (%b) is bad.\n"
+msgstr "Atenzion: il @S dal grup %g (%b) al è difetôs.\n"
+
+#. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n
+#: e2fsck/problem.c:679
+msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n"
+msgstr "Atenzion: la copie dal grup %g dai descritôrs dal grup al à un @b (%b) difetôs.\n"
+
+#. @-expanded: Programming error?  block #%b claimed for no reason in process_bad_block.\n
+#: e2fsck/problem.c:685
+msgid "Programming error?  @b #%b claimed for no reason in process_bad_@b.\n"
+msgstr "Erôr di programazion?  @b #%b reclamât cence reson tal process_bad_@b.\n"
+
+#. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n
+#: e2fsck/problem.c:691
+msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n"
+msgstr ""
+
+#. @-expanded: error allocating block buffer for relocating %s\n
+#: e2fsck/problem.c:697
+#, no-c-format
+msgid "@A @b buffer for relocating %s\n"
+msgstr ""
+
+#. @-expanded: Relocating group %g's %s from %b to %c...\n
+#: e2fsck/problem.c:702
+msgid "Relocating @g %g's %s from %b to %c...\n"
+msgstr ""
+
+#. @-expanded: Relocating group %g's %s to %c...\n
+#: e2fsck/problem.c:708
+#, no-c-format
+msgid "Relocating @g %g's %s to %c...\n"
+msgstr ""
+
+#. @-expanded: Warning: could not read block %b of %s: %m\n
+#: e2fsck/problem.c:713
+msgid "Warning: could not read @b %b of %s: %m\n"
+msgstr "Atenzion: impussibil lei @b %b di %s: %m\n"
+
+#. @-expanded: Warning: could not write block %b for %s: %m\n
+#: e2fsck/problem.c:718
+msgid "Warning: could not write @b %b for %s: %m\n"
+msgstr "Atenzion: impussibil scrivi @b %b par %s: %m\n"
+
+#. @-expanded: error allocating inode bitmap (%N): %m\n
+#: e2fsck/problem.c:723 e2fsck/problem.c:1871
+msgid "@A @i @B (%N): %m\n"
+msgstr "Si à un @A dal @B dal @i (%N): %m\n"
+
+#. @-expanded: error allocating block bitmap (%N): %m\n
+#: e2fsck/problem.c:728
+msgid "@A @b @B (%N): %m\n"
+msgstr "Si à un @A dal @B dal @b (%N): %m\n"
+
+#. @-expanded: error allocating icount link information: %m\n
+#: e2fsck/problem.c:734
+#, no-c-format
+msgid "@A icount link information: %m\n"
+msgstr ""
+
+#. @-expanded: error allocating directory block array: %m\n
+#: e2fsck/problem.c:740
+#, no-c-format
+msgid "@A @d @b array: %m\n"
+msgstr ""
+
+#. @-expanded: Error while scanning inodes (%i): %m\n
+#: e2fsck/problem.c:746
+#, no-c-format
+msgid "Error while scanning @is (%i): %m\n"
+msgstr "Erôr tal scansionâ i @i (%i): %m\n"
+
+#. @-expanded: Error while iterating over blocks in inode %i: %m\n
+#: e2fsck/problem.c:752
+#, no-c-format
+msgid "Error while iterating over @bs in @i %i: %m\n"
+msgstr ""
+
+#. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n
+#: e2fsck/problem.c:757
+msgid "Error storing @i count information (@i=%i, count=%N): %m\n"
+msgstr ""
+
+#. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n
+#: e2fsck/problem.c:762
+msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n"
+msgstr ""
+
+#. @-expanded: Error reading inode %i: %m\n
+#: e2fsck/problem.c:769
+#, no-c-format
+msgid "Error reading @i %i: %m\n"
+msgstr "Erôr tal lei @i %i: %m\n"
+
+#. @-expanded: inode %i has imagic flag set.  
+#: e2fsck/problem.c:778
+#, no-c-format
+msgid "@i %i has imagic flag set.  "
+msgstr "Il @i %i al à atîf une la opzion imagic.  "
+
+#. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n
+#. @-expanded: or append-only flag set.  
+#: e2fsck/problem.c:784
+#, no-c-format
+msgid ""
+"Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n"
+"or append-only flag set.  "
+msgstr ""
+
+#. @-expanded: Special (device/socket/fifo) inode %i has non-zero size.  
+#: e2fsck/problem.c:791
+#, no-c-format
+msgid "Special (@v/socket/fifo) @i %i has non-zero size.  "
+msgstr ""
+
+#. @-expanded: journal inode is not in use, but contains data.  
+#: e2fsck/problem.c:801
+msgid "@j @i is not in use, but contains data.  "
+msgstr "@j @i nol è in ûs, ma al conten dâts.  "
+
+#. @-expanded: journal is not regular file.  
+#: e2fsck/problem.c:806
+msgid "@j is not regular file.  "
+msgstr "@j nol è un file regolâr.  "
+
+#. @-expanded: inode %i was part of the orphaned inode list.  
+#: e2fsck/problem.c:812
+#, no-c-format
+msgid "@i %i was part of the @o @i list.  "
+msgstr "@i %i al jere part de liste @i vuarfins.  "
+
+#. @-expanded: inodes that were part of a corrupted orphan linked list found.  
+#: e2fsck/problem.c:818
+msgid "@is that were part of a corrupted orphan linked list found.  "
+msgstr "cjatâts @i che a fasevin part di une liste di vuarfins ruvinâts colegâts.  "
+
+#. @-expanded: error allocating refcount structure (%N): %m\n
+#: e2fsck/problem.c:823
+msgid "@A refcount structure (%N): %m\n"
+msgstr ""
+
+#. @-expanded: Error reading extended attribute block %b for inode %i.  
+#: e2fsck/problem.c:828
+msgid "Error reading @a @b %b for @i %i.  "
+msgstr "Erôr tal lei il bloc %b dal @a pal @i %i.  "
+
+#. @-expanded: inode %i has a bad extended attribute block %b.  
+#: e2fsck/problem.c:833
+msgid "@i %i has a bad @a @b %b.  "
+msgstr "Il @i %i al à un bloc %b dal @a difetôs.  "
+
+#. @-expanded: Error reading extended attribute block %b (%m).  
+#: e2fsck/problem.c:838
+msgid "Error reading @a @b %b (%m).  "
+msgstr "Erôr tal lei il bloc %b dal @a (%m).  "
+
+#. @-expanded: extended attribute block %b has reference count %r, should be %N.  
+#: e2fsck/problem.c:843
+msgid "@a @b %b has reference count %r, @s %N.  "
+msgstr "Il bloc %b dal @a al à une conte di riferiment %r, @s %N.  "
+
+#. @-expanded: Error writing extended attribute block %b (%m).  
+#: e2fsck/problem.c:848
+msgid "Error writing @a @b %b (%m).  "
+msgstr "Erôr tal scrivi il bloc %b dal @a (%m).  "
+
+#. @-expanded: extended attribute block %b has h_blocks > 1.  
+#: e2fsck/problem.c:853
+msgid "@a @b %b has h_@bs > 1.  "
+msgstr "Il bloc %b dal @a al à h_@bs > 1.  "
+
+#. @-expanded: error allocating extended attribute region allocation structure.  
+#: e2fsck/problem.c:858
+msgid "@A @a region allocation structure.  "
+msgstr ""
+
+#. @-expanded: extended attribute block %b is corrupt (allocation collision).  
+#: e2fsck/problem.c:863
+msgid "@a @b %b is corrupt (allocation collision).  "
+msgstr "Il bloc %b dal @a al è ruvinât (colision di assegnazion).  "
+
+#. @-expanded: extended attribute block %b is corrupt (invalid name).  
+#: e2fsck/problem.c:868
+msgid "@a @b %b is corrupt (@n name).  "
+msgstr "Il bloc %b dal @a al è ruvinât (non @n).  "
+
+#. @-expanded: extended attribute block %b is corrupt (invalid value).  
+#: e2fsck/problem.c:873
+msgid "@a @b %b is corrupt (@n value).  "
+msgstr "Il bloc %b dal @a al è ruvinât (valôr @n).  "
+
+#. @-expanded: inode %i is too big.  
+#: e2fsck/problem.c:879
+#, no-c-format
+msgid "@i %i is too big.  "
+msgstr "@i %i al è masse grant.  "
+
+#. @-expanded: %B (%b) causes directory to be too big.  
+#: e2fsck/problem.c:883
+msgid "%B (%b) causes @d to be too big.  "
+msgstr ""
+
+#: e2fsck/problem.c:888
+msgid "%B (%b) causes file to be too big.  "
+msgstr ""
+
+#: e2fsck/problem.c:893
+msgid "%B (%b) causes symlink to be too big.  "
+msgstr ""
+
+#. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n
+#: e2fsck/problem.c:899
+#, no-c-format
+msgid "@i %i has INDEX_FL flag set on @f without htree support.\n"
+msgstr ""
+
+#. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n
+#: e2fsck/problem.c:905
+#, no-c-format
+msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
+msgstr ""
+
+#. @-expanded: HTREE directory inode %i has an invalid root node.\n
+#: e2fsck/problem.c:911
+#, no-c-format
+msgid "@h %i has an @n root node.\n"
+msgstr ""
+
+#. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n
+#: e2fsck/problem.c:916
+msgid "@h %i has an unsupported hash version (%N)\n"
+msgstr ""
+
+#. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n
+#: e2fsck/problem.c:922
+#, no-c-format
+msgid "@h %i uses an incompatible htree root node flag.\n"
+msgstr ""
+
+#. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n
+#: e2fsck/problem.c:927
+msgid "@h %i has a tree depth (%N) which is too big\n"
+msgstr ""
+
+#. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n
+#. @-expanded: filesystem metadata.  
+#: e2fsck/problem.c:933
+msgid ""
+"Bad @b @i has an indirect @b (%b) that conflicts with\n"
+"@f metadata.  "
+msgstr ""
+"Il @i dal @b ruinât al à un@b indiret (%b) che al va in conflit cui\n"
+"metadâts dal @f.  "
+
+#. @-expanded: Resize inode (re)creation failed: %m.
+#: e2fsck/problem.c:940
+#, no-c-format
+msgid "Resize @i (re)creation failed: %m."
+msgstr ""
+
+#. @-expanded: inode %i has a extra size (%IS) which is invalid\n
+#: e2fsck/problem.c:945
+msgid "@i %i has a extra size (%IS) which is @n\n"
+msgstr "Il @i %i al à une dimension adizionâl (%IS) che no je valide\n"
+
+#. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n
+#: e2fsck/problem.c:950
+msgid "@a in @i %i has a namelen (%N) which is @n\n"
+msgstr "l'@a tal @i %i al à une lungjece dal non (%N) che no je valide\n"
+
+#. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n
+#: e2fsck/problem.c:955
+msgid "@a in @i %i has a value offset (%N) which is @n\n"
+msgstr "l'@a tal @i %i al à un valôr di offset (%N) che nol è valit\n"
+
+#. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n
+#: e2fsck/problem.c:960
+msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n"
+msgstr "l'@a tal @i %i al à un valôr di @b (%N) che nol è valit (al scugne jessi 0)\n"
+
+#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n
+#: e2fsck/problem.c:965
+msgid "@a in @i %i has a value size (%N) which is @n\n"
+msgstr "l'@a tal @i %i al à un valôr di dimension (%N) che nol è valit\n"
+
+#. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n
+#: e2fsck/problem.c:970
+msgid "@a in @i %i has a hash (%N) which is @n\n"
+msgstr "l'@a tal @i %i al à une hash (%N) che nol è valit\n"
+
+#. @-expanded: inode %i is a %It but it looks like it is really a directory.\n
+#: e2fsck/problem.c:975
+msgid "@i %i is a %It but it looks like it is really a directory.\n"
+msgstr "Il @i %i al è un %It ma al semee jessi une cartele.\n"
+
+#. @-expanded: Error while reading over extent tree in inode %i: %m\n
+#: e2fsck/problem.c:981
+#, no-c-format
+msgid "Error while reading over @x tree in @i %i: %m\n"
+msgstr ""
+
+#. @-expanded: Failed to iterate extents in inode %i\n
+#. @-expanded: \t(op %s, blk %b, lblk %c): %m\n
+#: e2fsck/problem.c:986
+msgid ""
+"Failed to iterate extents in @i %i\n"
+"\t(op %s, blk %b, lblk %c): %m\n"
+msgstr ""
+
+#. @-expanded: inode %i has an invalid extent\n
+#. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
+#: e2fsck/problem.c:992
+msgid ""
+"@i %i has an @n extent\n"
+"\t(logical @b %c, @n physical @b %b, len %N)\n"
+msgstr ""
+
+#. @-expanded: inode %i has an invalid extent\n
+#. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n
+#: e2fsck/problem.c:997
+msgid ""
+"@i %i has an @n extent\n"
+"\t(logical @b %c, physical @b %b, @n len %N)\n"
+msgstr ""
+
+#. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n
+#: e2fsck/problem.c:1003
+#, no-c-format
+msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n"
+msgstr ""
+
+#. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n
+#: e2fsck/problem.c:1009
+#, no-c-format
+msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n"
+msgstr ""
+
+#. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n
+#: e2fsck/problem.c:1015
+#, no-c-format
+msgid "@i %i missing EXTENT_FL, but is in extents format\n"
+msgstr ""
+
+#: e2fsck/problem.c:1021
+#, no-c-format
+msgid "Fast symlink %i has EXTENT_FL set.  "
+msgstr "Il colegament simbolic veloç %i al à atîf EXTENT_FL.  "
+
+#. @-expanded: inode %i has out of order extents\n
+#. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n
+#: e2fsck/problem.c:1026
+msgid ""
+"@i %i has out of order extents\n"
+"\t(@n logical @b %c, physical @b %b, len %N)\n"
+msgstr ""
+
+#. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n
+#: e2fsck/problem.c:1030
+msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n"
+msgstr ""
+
+#. @-expanded: Error converting subcluster block bitmap: %m\n
+#: e2fsck/problem.c:1036
+#, no-c-format
+msgid "Error converting subcluster @b @B: %m\n"
+msgstr "Erôr tal convertî il @B dal @b dal sot-cluster: %m\n"
+
+#. @-expanded: quota inode is not a regular file.  
+#: e2fsck/problem.c:1041
+msgid "@q @i is not a regular file.  "
+msgstr "Il @i de @q nol è un file regolâr.  "
+
+#. @-expanded: quota inode is not in use, but contains data.  
+#: e2fsck/problem.c:1046
+msgid "@q @i is not in use, but contains data.  "
+msgstr "Il @i de @q nol è in ûs, ma al conten dâts.  "
+
+#. @-expanded: quota inode is visible to the user.  
+#: e2fsck/problem.c:1051
+msgid "@q @i is visible to the user.  "
+msgstr "Il @i de @q al è visibil al utent.  "
+
+#. @-expanded: The bad block inode looks invalid.  
+#: e2fsck/problem.c:1056
+msgid "The bad @b @i looks @n.  "
+msgstr "Il @i dal @b difetôs nol semee valit.  "
+
+#. @-expanded: inode %i has zero length extent\n
+#. @-expanded: \t(invalid logical block %c, physical block %b)\n
+#: e2fsck/problem.c:1061
+msgid ""
+"@i %i has zero length extent\n"
+"\t(@n logical @b %c, physical @b %b)\n"
+msgstr ""
+
+#. @-expanded: inode %i seems to contain garbage.  
+#: e2fsck/problem.c:1067
+#, no-c-format
+msgid "@i %i seems to contain garbage.  "
+msgstr ""
+
+#. @-expanded: inode %i passes checks, but checksum does not match inode.  
+#: e2fsck/problem.c:1073
+#, no-c-format
+msgid "@i %i passes checks, but checksum does not match @i.  "
+msgstr ""
+
+#. @-expanded: inode %i extended attribute is corrupt (allocation collision).  
+#: e2fsck/problem.c:1079
+#, no-c-format
+msgid "@i %i @a is corrupt (allocation collision).  "
+msgstr ""
+
+#. @-expanded: inode %i extent block passes checks, but checksum does not match extent\n
+#. @-expanded: \t(logical block %c, physical block %b, len %N)\n
+#: e2fsck/problem.c:1087
+msgid ""
+"@i %i extent block passes checks, but checksum does not match extent\n"
+"\t(logical @b %c, physical @b %b, len %N)\n"
+msgstr ""
+
+#. @-expanded: inode %i extended attribute block %b passes checks, but checksum does not match block.  
+#: e2fsck/problem.c:1096
+msgid "@i %i @a @b %b passes checks, but checksum does not match @b.  "
+msgstr ""
+
+#. @-expanded: Interior extent node level %N of inode %i:\n
+#. @-expanded: Logical start %b does not match logical start %c at next level.  
+#: e2fsck/problem.c:1101
+msgid ""
+"Interior @x node level %N of @i %i:\n"
+"Logical start %b does not match logical start %c at next level.  "
+msgstr ""
+
+#. @-expanded: inode %i, end of extent exceeds allowed value\n
+#. @-expanded: \t(logical block %c, physical block %b, len %N)\n
+#: e2fsck/problem.c:1107
+msgid ""
+"@i %i, end of extent exceeds allowed value\n"
+"\t(logical @b %c, physical @b %b, len %N)\n"
+msgstr ""
+
+#. @-expanded: inode %i has inline data, but superblock is missing INLINE_DATA feature\n
+#: e2fsck/problem.c:1113
+#, no-c-format
+msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
+msgstr ""
+
+#. @-expanded: inode %i has INLINE_DATA_FL flag on filesystem without inline data support.\n
+#: e2fsck/problem.c:1119
+#, no-c-format
+msgid "@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"
+msgstr ""
+
+#. @-expanded: inode %i block %b conflicts with critical metadata, skipping block checks.\n
+#: e2fsck/problem.c:1127
+#, no-c-format
+msgid "@i %i block %b conflicts with critical metadata, skipping block checks.\n"
+msgstr ""
+
+#. @-expanded: directory inode %i block %b should be at block %c.  
+#: e2fsck/problem.c:1132
+msgid "@d @i %i @b %b should be at @b %c.  "
+msgstr ""
+
+#. @-expanded: directory inode %i has extent marked uninitialized at block %c.  
+#: e2fsck/problem.c:1138
+#, no-c-format
+msgid "@d @i %i has @x marked uninitialized at @b %c.  "
+msgstr ""
+
+#. @-expanded: inode %i logical block %b (physical block %c) violates cluster allocation rules.\n
+#. @-expanded: Will fix in pass 1B.\n
+#: e2fsck/problem.c:1143
+msgid ""
+"@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\n"
+"Will fix in pass 1B.\n"
+msgstr ""
+
+#. @-expanded: inode %i has INLINE_DATA_FL flag but extended attribute not found.  
+#: e2fsck/problem.c:1149
+#, no-c-format
+msgid "@i %i has INLINE_DATA_FL flag but @a not found.  "
+msgstr ""
+
+#. @-expanded: Special (device/socket/fifo) file (inode %i) has extents\n
+#. @-expanded: or inline-data flag set.  
+#: e2fsck/problem.c:1156
+#, no-c-format
+msgid ""
+"Special (@v/socket/fifo) file (@i %i) has extents\n"
+"or inline-data flag set.  "
+msgstr ""
+
+#. @-expanded: inode %i has extent header but inline data flag is set.\n
+#: e2fsck/problem.c:1163
+#, no-c-format
+msgid "@i %i has @x header but inline data flag is set.\n"
+msgstr ""
+
+#. @-expanded: inode %i seems to have inline data but extent flag is set.\n
+#: e2fsck/problem.c:1169
+#, no-c-format
+msgid "@i %i seems to have inline data but @x flag is set.\n"
+msgstr ""
+
+#. @-expanded: inode %i seems to have block map but inline data and extent flags set.\n
+#: e2fsck/problem.c:1175
+#, no-c-format
+msgid "@i %i seems to have @b map but inline data and @x flags set.\n"
+msgstr ""
+
+#. @-expanded: inode %i has inline data and extent flags set but i_block contains junk.\n
+#: e2fsck/problem.c:1181
+#, no-c-format
+msgid "@i %i has inline data and @x flags set but i_block contains junk.\n"
+msgstr ""
+
+#. @-expanded: Bad block list says the bad block list inode is bad.  
+#: e2fsck/problem.c:1186
+msgid "Bad block list says the bad block list @i is bad.  "
+msgstr "La liste dai blocs ruvinâts e dîs che il @i de liste dai blocs ruvinâts al è ruvinât.  "
+
+#. @-expanded: error allocating extent region allocation structure.  
+#: e2fsck/problem.c:1191
+msgid "@A @x region allocation structure.  "
+msgstr ""
+
+#. @-expanded: inode %i has a duplicate extent mapping\n
+#. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
+#: e2fsck/problem.c:1196
+msgid ""
+"@i %i has a duplicate @x mapping\n"
+"\t(logical @b %c, @n physical @b %b, len %N)\n"
+msgstr ""
+
+#. @-expanded: error allocating memory for encrypted directory list\n
+#: e2fsck/problem.c:1201
+msgid "@A memory for encrypted @d list\n"
+msgstr ""
+
+#. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
+#: e2fsck/problem.c:1206
+msgid "@i %i @x tree could be more shallow (%b; could be <= %c)\n"
+msgstr ""
+
+#. @-expanded: inode %i on bigalloc filesystem cannot be block mapped.  
+#: e2fsck/problem.c:1212
+#, no-c-format
+msgid "@i %i on bigalloc @f cannot be @b mapped.  "
+msgstr ""
+
+#. @-expanded: inode %i has corrupt extent header.  
+#: e2fsck/problem.c:1218
+#, no-c-format
+msgid "@i %i has corrupt @x header.  "
+msgstr "l'@i %i al à une intestazion di @x ruvinade.  "
+
+#. @-expanded: Timestamp(s) on inode %i beyond 2310-04-04 are likely pre-1970.\n
+#: e2fsck/problem.c:1224
+#, no-c-format
+msgid "Timestamp(s) on @i %i beyond 2310-04-04 are likely pre-1970.\n"
+msgstr ""
+
+#. @-expanded: inode %i has illegal extended attribute value inode %N.\n
+#: e2fsck/problem.c:1229
+msgid "@i %i has @I @a value @i %N.\n"
+msgstr ""
+
+#. @-expanded: inode %i has invalid extended attribute. EA inode %N missing EA_INODE flag.\n
+#: e2fsck/problem.c:1235
+msgid "@i %i has @n @a. EA @i %N missing EA_INODE flag.\n"
+msgstr ""
+
+#. @-expanded: EA inode %N for parent inode %i missing EA_INODE flag.\n
+#. @-expanded:  
+#: e2fsck/problem.c:1240
+msgid ""
+"EA @i %N for parent @i %i missing EA_INODE flag.\n"
+" "
+msgstr ""
+
+#. @-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
+#: e2fsck/problem.c:1248
+msgid ""
+"\n"
+"Running additional passes to resolve @bs claimed by more than one @i...\n"
+"Pass 1B: Rescanning for @m @bs\n"
+msgstr ""
+
+#. @-expanded: multiply-claimed block(s) in inode %i:
+#: e2fsck/problem.c:1255
+#, no-c-format
+msgid "@m @b(s) in @i %i:"
+msgstr ""
+
+#: e2fsck/problem.c:1271
+#, no-c-format
+msgid "Error while scanning inodes (%i): %m\n"
+msgstr "Erôr intal scansionâ i inode (%i): %m\n"
+
+#. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
+#: e2fsck/problem.c:1277
+#, no-c-format
+msgid "@A @i @B (@i_dup_map): %m\n"
+msgstr ""
+
+#. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
+#: e2fsck/problem.c:1283
+#, no-c-format
+msgid "Error while iterating over @bs in @i %i (%s): %m\n"
+msgstr ""
+
+#. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
+#: e2fsck/problem.c:1288 e2fsck/problem.c:1663
+msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
+msgstr ""
+
+#. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
+#: e2fsck/problem.c:1298
+msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
+msgstr "Pas 1C: scansion cartelis pai @i cun @m @bs\n"
+
+#. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
+#: e2fsck/problem.c:1304
+msgid "Pass 1D: Reconciling @m @bs\n"
+msgstr "Pas 1D: riconciliazion @m @bs\n"
+
+#. @-expanded: File %Q (inode #%i, mod time %IM) \n
+#. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
+#: e2fsck/problem.c:1309
+msgid ""
+"File %Q (@i #%i, mod time %IM) \n"
+"  has %r @m @b(s), shared with %N file(s):\n"
+msgstr ""
+
+#. @-expanded: \t%Q (inode #%i, mod time %IM)\n
+#: e2fsck/problem.c:1315
+msgid "\t%Q (@i #%i, mod time %IM)\n"
+msgstr ""
+
+#. @-expanded: \t<filesystem metadata>\n
+#: e2fsck/problem.c:1320
+msgid "\t<@f metadata>\n"
+msgstr "\t<metadâts di @f>\n"
+
+#. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
+#. @-expanded: \n
+#: e2fsck/problem.c:1325
+msgid ""
+"(There are %N @is containing @m @bs.)\n"
+"\n"
+msgstr ""
+"(A son %N @i che a contegnin @m @bs.)\n"
+"\n"
+
+#. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
+#. @-expanded: \n
+#: e2fsck/problem.c:1330
+msgid ""
+"@m @bs already reassigned or cloned.\n"
+"\n"
+msgstr ""
+
+#: e2fsck/problem.c:1344
+#, no-c-format
+msgid "Couldn't clone file: %m\n"
+msgstr "Impussibil clonâ il file: %m\n"
+
+#. @-expanded: Pass 1E: Optimizing extent trees\n
+#: e2fsck/problem.c:1350
+msgid "Pass 1E: Optimizing @x trees\n"
+msgstr "Pas 1E: otimizazion arbui @x\n"
+
+#. @-expanded: Failed to optimize extent tree %p (%i): %m\n
+#: e2fsck/problem.c:1356
+#, no-c-format
+msgid "Failed to optimize @x tree %p (%i): %m\n"
+msgstr "No si è rivâts a perfezionâ l'arbul @x %p (%i): %m\n"
+
+#. @-expanded: Optimizing extent trees: 
+#: e2fsck/problem.c:1361
+msgid "Optimizing @x trees: "
+msgstr "Otimizazion dai arbui @x: "
+
+#: e2fsck/problem.c:1376
+msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
+msgstr ""
+
+#. @-expanded: inode %i extent tree (at level %b) could be shorter.  
+#: e2fsck/problem.c:1381
+msgid "@i %i @x tree (at level %b) could be shorter.  "
+msgstr ""
+
+#. @-expanded: inode %i extent tree (at level %b) could be narrower.  
+#: e2fsck/problem.c:1386
+msgid "@i %i @x tree (at level %b) could be narrower.  "
+msgstr ""
+
+#. @-expanded: Pass 2: Checking directory structure\n
+#: e2fsck/problem.c:1393
+msgid "Pass 2: Checking @d structure\n"
+msgstr "Pas 2: control de struture @d\n"
+
+#. @-expanded: invalid inode number for '.' in directory inode %i.\n
+#: e2fsck/problem.c:1399
+#, no-c-format
+msgid "@n @i number for '.' in @d @i %i.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
+#: e2fsck/problem.c:1404
+msgid "@E has @n @i #: %Di.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
+#: e2fsck/problem.c:1409
+msgid "@E has @D/unused @i %Di.  "
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
+#: e2fsck/problem.c:1414
+msgid "@E @L to '.'  "
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
+#: e2fsck/problem.c:1419
+msgid "@E points to @i (%Di) located in a bad @b.\n"
+msgstr "La @E e ponte al @i (%Di) posizionât intun @b ruvinât.\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
+#: e2fsck/problem.c:1424
+msgid "@E @L to @d %P (%Di).\n"
+msgstr "La @E @L ae @d %P (%Di).\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
+#: e2fsck/problem.c:1429
+msgid "@E @L to the @r.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
+#: e2fsck/problem.c:1434
+msgid "@E has illegal characters in its name.\n"
+msgstr ""
+
+#. @-expanded: Missing '.' in directory inode %i.\n
+#: e2fsck/problem.c:1440
+#, no-c-format
+msgid "Missing '.' in @d @i %i.\n"
+msgstr "Al mancje '.' intal @i de @d %i.\n"
+
+#. @-expanded: Missing '..' in directory inode %i.\n
+#: e2fsck/problem.c:1446
+#, no-c-format
+msgid "Missing '..' in @d @i %i.\n"
+msgstr "Al mancje '..' intal @i de @d %i.\n"
+
+#. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
+#: e2fsck/problem.c:1451
+msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
+msgstr ""
+
+#. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
+#: e2fsck/problem.c:1456
+msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
+msgstr ""
+
+#. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
+#: e2fsck/problem.c:1461
+msgid "i_faddr @F %IF, @s zero.\n"
+msgstr ""
+
+#. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
+#: e2fsck/problem.c:1466
+msgid "i_file_acl @F %If, @s zero.\n"
+msgstr ""
+
+#. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
+#: e2fsck/problem.c:1471
+msgid "i_size_high @F %Id, @s zero.\n"
+msgstr ""
+
+#. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
+#: e2fsck/problem.c:1476
+msgid "i_frag @F %N, @s zero.\n"
+msgstr ""
+
+#. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
+#: e2fsck/problem.c:1481
+msgid "i_fsize @F %N, @s zero.\n"
+msgstr ""
+
+#. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
+#: e2fsck/problem.c:1486
+msgid "@i %i (%Q) has @n mode (%Im).\n"
+msgstr ""
+
+#. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
+#: e2fsck/problem.c:1491
+msgid "@d @i %i, %B, offset %N: @d corrupted\n"
+msgstr ""
+
+#. @-expanded: directory inode %i, %B, offset %N: filename too long\n
+#: e2fsck/problem.c:1496
+msgid "@d @i %i, %B, offset %N: filename too long\n"
+msgstr ""
+
+#. @-expanded: directory inode %i has an unallocated %B.  
+#: e2fsck/problem.c:1501
+msgid "@d @i %i has an unallocated %B.  "
+msgstr ""
+
+#. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
+#: e2fsck/problem.c:1507
+#, no-c-format
+msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
+msgstr ""
+
+#. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
+#: e2fsck/problem.c:1513
+#, no-c-format
+msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
+msgstr ""
+
+#. @-expanded: inode %i (%Q) is an illegal character device.\n
+#: e2fsck/problem.c:1518
+msgid "@i %i (%Q) is an @I character @v.\n"
+msgstr ""
+
+#. @-expanded: inode %i (%Q) is an illegal block device.\n
+#: e2fsck/problem.c:1523
+msgid "@i %i (%Q) is an @I @b @v.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
+#: e2fsck/problem.c:1528
+msgid "@E is duplicate '.' @e.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
+#: e2fsck/problem.c:1533
+msgid "@E is duplicate '..' @e.\n"
+msgstr ""
+
+#: e2fsck/problem.c:1539 e2fsck/problem.c:1898
+#, no-c-format
+msgid "Internal error: couldn't find dir_info for %i.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
+#: e2fsck/problem.c:1544
+msgid "@E has rec_len of %Dr, @s %N.\n"
+msgstr ""
+
+#. @-expanded: error allocating icount structure: %m\n
+#: e2fsck/problem.c:1550
+#, no-c-format
+msgid "@A icount structure: %m\n"
+msgstr ""
+
+#. @-expanded: Error iterating over directory blocks: %m\n
+#: e2fsck/problem.c:1556
+#, no-c-format
+msgid "Error iterating over @d @bs: %m\n"
+msgstr ""
+
+#. @-expanded: Error reading directory block %b (inode %i): %m\n
+#: e2fsck/problem.c:1561
+msgid "Error reading @d @b %b (@i %i): %m\n"
+msgstr "Erôr tal lei il @b de @d %b (@i %i): %m\n"
+
+#. @-expanded: Error writing directory block %b (inode %i): %m\n
+#: e2fsck/problem.c:1566
+msgid "Error writing @d @b %b (@i %i): %m\n"
+msgstr "Erôr tal scrivi il @b de @d %b (@i %i): %m\n"
+
+#. @-expanded: error allocating new directory block for inode %i (%s): %m\n
+#: e2fsck/problem.c:1572
+#, no-c-format
+msgid "@A new @d @b for @i %i (%s): %m\n"
+msgstr ""
+
+#. @-expanded: Error deallocating inode %i: %m\n
+#: e2fsck/problem.c:1578
+#, no-c-format
+msgid "Error deallocating @i %i: %m\n"
+msgstr ""
+
+#. @-expanded: directory entry for '.' in %p (%i) is big.\n
+#: e2fsck/problem.c:1584
+#, no-c-format
+msgid "@d @e for '.' in %p (%i) is big.\n"
+msgstr ""
+
+#. @-expanded: inode %i (%Q) is an illegal FIFO.\n
+#: e2fsck/problem.c:1589
+msgid "@i %i (%Q) is an @I FIFO.\n"
+msgstr "il @i %i (%Q) al è un FIFO @I.\n"
+
+#. @-expanded: inode %i (%Q) is an illegal socket.\n
+#: e2fsck/problem.c:1594
+msgid "@i %i (%Q) is an @I socket.\n"
+msgstr ""
+
+#. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
+#: e2fsck/problem.c:1599
+msgid "Setting filetype for @E to %N.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
+#: e2fsck/problem.c:1604
+msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
+#: e2fsck/problem.c:1609
+msgid "@E has filetype set.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
+#: e2fsck/problem.c:1614
+msgid "@E has a @z name.\n"
+msgstr ""
+
+#. @-expanded: Symlink %Q (inode #%i) is invalid.\n
+#: e2fsck/problem.c:1619
+msgid "Symlink %Q (@i #%i) is @n.\n"
+msgstr ""
+
+#. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
+#: e2fsck/problem.c:1624
+msgid "@a @b @F @n (%If).\n"
+msgstr ""
+
+#. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
+#: e2fsck/problem.c:1629
+msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
+#: e2fsck/problem.c:1634
+msgid "@p @h %d: %B not referenced\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
+#: e2fsck/problem.c:1639
+msgid "@p @h %d: %B referenced twice\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
+#: e2fsck/problem.c:1644
+msgid "@p @h %d: %B has bad min hash\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
+#: e2fsck/problem.c:1649
+msgid "@p @h %d: %B has bad max hash\n"
+msgstr ""
+
+#. @-expanded: invalid HTREE directory inode %d (%q).  
+#: e2fsck/problem.c:1654
+msgid "@n @h %d (%q).  "
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
+#: e2fsck/problem.c:1658
+msgid "@p @h %d (%q): bad @b number %b.\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
+#: e2fsck/problem.c:1669
+#, no-c-format
+msgid "@p @h %d: root node is @n\n"
+msgstr "@p @h %d: il grop root al è @n\n"
+
+#. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
+#: e2fsck/problem.c:1674
+msgid "@p @h %d: %B has @n limit (%N)\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
+#: e2fsck/problem.c:1679
+msgid "@p @h %d: %B has @n count (%N)\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
+#: e2fsck/problem.c:1684
+msgid "@p @h %d: %B has an unordered hash table\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
+#: e2fsck/problem.c:1689
+msgid "@p @h %d: %B has @n depth (%N)\n"
+msgstr ""
+
+#. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
+#: e2fsck/problem.c:1694
+msgid "Duplicate @E found.  "
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
+#. @-expanded: Rename to %s
+#: e2fsck/problem.c:1699
+#, no-c-format
+msgid ""
+"@E has a non-unique filename.\n"
+"Rename to %s"
+msgstr ""
+
+#. @-expanded: Duplicate entry '%Dn' found.\n
+#. @-expanded: \tMarking %p (%i) to be rebuilt.\n
+#. @-expanded: \n
+#: e2fsck/problem.c:1704
+msgid ""
+"Duplicate @e '%Dn' found.\n"
+"\tMarking %p (%i) to be rebuilt.\n"
+"\n"
+msgstr ""
+
+#. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
+#: e2fsck/problem.c:1709
+msgid "i_blocks_hi @F %N, @s zero.\n"
+msgstr ""
+
+#. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
+#: e2fsck/problem.c:1714
+msgid "Unexpected @b in @h %d (%q).\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
+#: e2fsck/problem.c:1719
+msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
+#: e2fsck/problem.c:1724
+msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
+msgstr ""
+
+#. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
+#: e2fsck/problem.c:1729
+msgid "i_file_acl_hi @F %N, @s zero.\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
+#: e2fsck/problem.c:1735
+#, no-c-format
+msgid "@p @h %d: root node fails checksum.\n"
+msgstr ""
+
+#. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
+#: e2fsck/problem.c:1741
+#, no-c-format
+msgid "@p @h %d: internal node fails checksum.\n"
+msgstr ""
+
+#. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
+#: e2fsck/problem.c:1746
+msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
+msgstr ""
+
+#. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
+#: e2fsck/problem.c:1751
+msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
+msgstr ""
+
+#. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
+#: e2fsck/problem.c:1756
+msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
+msgstr ""
+
+#. @-expanded: Fixing size of inline directory inode %i failed.\n
+#: e2fsck/problem.c:1762
+#, no-c-format
+msgid "Fixing size of inline @d @i %i failed.\n"
+msgstr ""
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
+#: e2fsck/problem.c:1767
+msgid "Encrypted @E is too short.\n"
+msgstr "@E cifrade e je masse curte.\n"
+
+#. @-expanded: Pass 3: Checking directory connectivity\n
+#: e2fsck/problem.c:1774
+msgid "Pass 3: Checking @d connectivity\n"
+msgstr ""
+
+#. @-expanded: root inode not allocated.  
+#: e2fsck/problem.c:1779
+msgid "@r not allocated.  "
+msgstr "@r no assegnât.  "
+
+#. @-expanded: No room in lost+found directory.  
+#: e2fsck/problem.c:1784
+msgid "No room in @l @d.  "
+msgstr "Nol è spazi te @d @l.  "
+
+#. @-expanded: Unconnected directory inode %i (%p)\n
+#: e2fsck/problem.c:1790
+#, no-c-format
+msgid "Unconnected @d @i %i (%p)\n"
+msgstr ""
+
+#. @-expanded: /lost+found not found.  
+#: e2fsck/problem.c:1795
+msgid "/@l not found.  "
+msgstr "/@l no cjatât.  "
+
+#. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
+#: e2fsck/problem.c:1800
+msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
+msgstr ""
+
+#. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
+#: e2fsck/problem.c:1806
+#, no-c-format
+msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
+msgstr "/@l ruvinade o inesistente.  Impussibil tornâ a coneti.\n"
+
+#. @-expanded: Could not expand /lost+found: %m\n
+#: e2fsck/problem.c:1812
+#, no-c-format
+msgid "Could not expand /@l: %m\n"
+msgstr "Impussibil espandi /@l: %m\n"
+
+#: e2fsck/problem.c:1818
+#, no-c-format
+msgid "Could not reconnect %i: %m\n"
+msgstr "Impussibil tornâ a coneti %i: %m\n"
+
+#. @-expanded: Error while trying to find /lost+found: %m\n
+#: e2fsck/problem.c:1824
+#, no-c-format
+msgid "Error while trying to find /@l: %m\n"
+msgstr "Erôr tal cirî di cjatâ /@l: %m\n"
+
+#. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
+#: e2fsck/problem.c:1830
+#, no-c-format
+msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
+msgstr ""
+
+#. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
+#: e2fsck/problem.c:1836
+#, no-c-format
+msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
+msgstr ""
+
+#. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
+#: e2fsck/problem.c:1842
+#, no-c-format
+msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
+msgstr ""
+
+#. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
+#: e2fsck/problem.c:1848
+#, no-c-format
+msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
+msgstr ""
+
+#. @-expanded: Error while adjusting inode count on inode %i\n
+#: e2fsck/problem.c:1854
+#, no-c-format
+msgid "Error while adjusting @i count on @i %i\n"
+msgstr ""
+
+#. @-expanded: Couldn't fix parent of inode %i: %m\n
+#. @-expanded: \n
+#: e2fsck/problem.c:1860
+#, no-c-format
+msgid ""
+"Couldn't fix parent of @i %i: %m\n"
+"\n"
+msgstr "Impussibil comedâ il gjenitôr/superiôr di @i %i: %m\n"
+
+#. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
+#. @-expanded: \n
+#: e2fsck/problem.c:1866
+#, no-c-format
+msgid ""
+"Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
+"\n"
+msgstr ""
+
+#. @-expanded: Error creating root directory (%s): %m\n
+#: e2fsck/problem.c:1877
+#, no-c-format
+msgid "Error creating root @d (%s): %m\n"
+msgstr ""
+
+#. @-expanded: Error creating /lost+found directory (%s): %m\n
+#: e2fsck/problem.c:1883
+#, no-c-format
+msgid "Error creating /@l @d (%s): %m\n"
+msgstr ""
+
+#. @-expanded: root inode is not a directory; aborting.\n
+#: e2fsck/problem.c:1888
+msgid "@r is not a @d; aborting.\n"
+msgstr ""
+
+#. @-expanded: Cannot proceed without a root inode.\n
+#: e2fsck/problem.c:1893
+msgid "Cannot proceed without a @r.\n"
+msgstr ""
+
+#. @-expanded: /lost+found is not a directory (ino=%i)\n
+#: e2fsck/problem.c:1904
+#, no-c-format
+msgid "/@l is not a @d (ino=%i)\n"
+msgstr "/@l no je une @d (ino=%i)\n"
+
+#. @-expanded: /lost+found has inline data\n
+#: e2fsck/problem.c:1909
+msgid "/@l has inline data\n"
+msgstr ""
+
+#. @-expanded: Cannot allocate space for /lost+found.\n
+#. @-expanded: Place lost files in root directory instead
+#: e2fsck/problem.c:1914
+msgid ""
+"Cannot allocate space for /@l.\n"
+"Place lost files in root directory instead"
+msgstr ""
+"Impussibil assegnâ spazi par /@l.\n"
+"Place i file pierdûts inte cartele lidrîs invezit"
+
+#. @-expanded: Insufficient space to recover lost files!\n
+#. @-expanded: Move data off the filesystem and re-run e2fsck.\n
+#. @-expanded: \n
+#: e2fsck/problem.c:1919
+msgid ""
+"Insufficient space to recover lost files!\n"
+"Move data off the @f and re-run e2fsck.\n"
+"\n"
+msgstr ""
+"Spazi insuficient par recuperâ i file pierdûts!\n"
+"Sposte i dâts fûr dal @f e torne eseguìs e2fsck.\n"
+"\n"
+
+#. @-expanded: /lost+found is encrypted\n
+#: e2fsck/problem.c:1924
+msgid "/@l is encrypted\n"
+msgstr "/@l al è cifrât\n"
+
+#: e2fsck/problem.c:1931
+msgid "Pass 3A: Optimizing directories\n"
+msgstr "Pas 3A: otimizazion cartelis\n"
+
+#: e2fsck/problem.c:1937
+#, no-c-format
+msgid "Failed to create dirs_to_hash iterator: %m\n"
+msgstr ""
+
+#: e2fsck/problem.c:1942
+msgid "Failed to optimize directory %q (%d): %m\n"
+msgstr ""
+
+#: e2fsck/problem.c:1947
+msgid "Optimizing directories: "
+msgstr "Otimizazion cartelis: "
+
+#: e2fsck/problem.c:1964
+msgid "Pass 4: Checking reference counts\n"
+msgstr ""
+
+#. @-expanded: unattached zero-length inode %i.  
+#: e2fsck/problem.c:1970
+#, no-c-format
+msgid "@u @z @i %i.  "
+msgstr ""
+
+#. @-expanded: unattached inode %i\n
+#: e2fsck/problem.c:1976
+#, no-c-format
+msgid "@u @i %i\n"
+msgstr ""
+
+#. @-expanded: inode %i ref count is %Il, should be %N.  
+#: e2fsck/problem.c:1981
+msgid "@i %i ref count is %Il, @s %N.  "
+msgstr ""
+
+#. @-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
+#: e2fsck/problem.c:1985
+msgid ""
+"WARNING: PROGRAMMING BUG IN E2FSCK!\n"
+"\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
+"@i_link_info[%i] is %N, @i.i_links_count is %Il.  They @s the same!\n"
+msgstr ""
+
+#. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
+#: e2fsck/problem.c:1992
+msgid "@a @i %i ref count is %N, @s %n. "
+msgstr ""
+
+#. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
+#: e2fsck/problem.c:1997
+msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
+msgstr ""
+
+#. @-expanded: Pass 5: Checking group summary information\n
+#: e2fsck/problem.c:2004
+msgid "Pass 5: Checking @g summary information\n"
+msgstr ""
+
+#. @-expanded: Padding at end of inode bitmap is not set. 
+#: e2fsck/problem.c:2009
+msgid "Padding at end of @i @B is not set. "
+msgstr ""
+
+#. @-expanded: Padding at end of block bitmap is not set. 
+#: e2fsck/problem.c:2014
+msgid "Padding at end of @b @B is not set. "
+msgstr ""
+
+#. @-expanded: block bitmap differences: 
+#: e2fsck/problem.c:2019
+msgid "@b @B differences: "
+msgstr ""
+
+#. @-expanded: inode bitmap differences: 
+#: e2fsck/problem.c:2041
+msgid "@i @B differences: "
+msgstr ""
+
+#. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
+#: e2fsck/problem.c:2063
+msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
+msgstr ""
+
+#. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
+#: e2fsck/problem.c:2068
+msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
+msgstr ""
+
+#. @-expanded: Free inodes count wrong (%i, counted=%j).\n
+#: e2fsck/problem.c:2073
+msgid "Free @is count wrong (%i, counted=%j).\n"
+msgstr ""
+
+#. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
+#: e2fsck/problem.c:2078
+msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
+msgstr ""
+
+#. @-expanded: Free blocks count wrong (%b, counted=%c).\n
+#: e2fsck/problem.c:2083
+msgid "Free @bs count wrong (%b, counted=%c).\n"
+msgstr ""
+
+#. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
+#. @-expanded: endpoints (%i, %j)\n
+#: e2fsck/problem.c:2088
+msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
+msgstr ""
+
+#: e2fsck/problem.c:2094
+msgid "Internal error: fudging end of bitmap (%N)\n"
+msgstr ""
+
+#. @-expanded: Error copying in replacement inode bitmap: %m\n
+#: e2fsck/problem.c:2100
+#, no-c-format
+msgid "Error copying in replacement @i @B: %m\n"
+msgstr ""
+
+#. @-expanded: Error copying in replacement block bitmap: %m\n
+#: e2fsck/problem.c:2106
+#, no-c-format
+msgid "Error copying in replacement @b @B: %m\n"
+msgstr ""
+
+#. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
+#: e2fsck/problem.c:2136
+#, no-c-format
+msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
+msgstr ""
+
+#. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
+#: e2fsck/problem.c:2142
+#, no-c-format
+msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
+msgstr ""
+
+#. @-expanded: group %g inode bitmap does not match checksum.\n
+#: e2fsck/problem.c:2148
+#, no-c-format
+msgid "@g %g @i @B does not match checksum.\n"
+msgstr ""
+
+#. @-expanded: group %g block bitmap does not match checksum.\n
+#: e2fsck/problem.c:2154
+#, no-c-format
+msgid "@g %g @b @B does not match checksum.\n"
+msgstr ""
+
+#. @-expanded: Recreate journal
+#: e2fsck/problem.c:2161
+msgid "Recreate @j"
+msgstr ""
+
+#: e2fsck/problem.c:2166
+msgid "Update quota info for quota type %N"
+msgstr ""
+
+#. @-expanded: Error setting block group checksum info: %m\n
+#: e2fsck/problem.c:2172
+#, no-c-format
+msgid "Error setting @b @g checksum info: %m\n"
+msgstr ""
+
+#: e2fsck/problem.c:2178
+#, no-c-format
+msgid "Error writing file system info: %m\n"
+msgstr "Erôr tal scrivi lis info dal file system: %m\n"
+
+#: e2fsck/problem.c:2184
+#, no-c-format
+msgid "Error flushing writes to storage device: %m\n"
+msgstr "Erôr tal disvuedâ il flus di scriture sul dispositîf di archiviazion: %m\n"
+
+#: e2fsck/problem.c:2189
+msgid "Error writing quota info for quota type %N: %m\n"
+msgstr ""
+
+#: e2fsck/problem.c:2352
+#, c-format
+msgid "Unhandled error code (0x%x)!\n"
+msgstr "Codiç di erôr no gjestît (0x%x)!\n"
+
+#: e2fsck/problem.c:2482 e2fsck/problem.c:2486
+msgid "IGNORED"
+msgstr "IGNORÂT"
+
+#: e2fsck/quota.c:30 e2fsck/quota.c:37 e2fsck/quota.c:50 e2fsck/quota.c:59
+msgid "in move_quota_inode"
+msgstr ""
+
+#: e2fsck/scantest.c:79
+#, c-format
+msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
+msgstr ""
+
+#: e2fsck/scantest.c:98
+#, c-format
+msgid "size of inode=%d\n"
+msgstr "dimension dal inode=%d\n"
+
+#: e2fsck/scantest.c:119
+msgid "while starting inode scan"
+msgstr ""
+
+#: e2fsck/scantest.c:130
+msgid "while doing inode scan"
+msgstr ""
+
+#: e2fsck/super.c:224
+#, c-format
+msgid "while calling ext2fs_block_iterate for inode %u"
+msgstr ""
+
+#: e2fsck/super.c:249
+#, c-format
+msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
+msgstr ""
+
+#: e2fsck/super.c:374
+msgid "Truncating"
+msgstr "Si cjonce"
+
+#: e2fsck/super.c:375
+msgid "Clearing"
+msgstr "Si nete"
+
+#: e2fsck/unix.c:78
+#, c-format
+msgid ""
+"Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
+"\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n"
+"\t\t[-E extended-options] [-z undo_file] device\n"
+msgstr ""
+"Ûs: %s [-panyrcdfktvDFV] [-b superbloc] [-B dimension_bloc]\n"
+"\t\t[-l|-L file_blocs_ruvinâts] [-C fd] [-j gjornâl_esterni]\n"
+"\t\t[-E opzions-estindudis] [-z file_par_disfâ_il_lavôr] dispositîf\n"
+
+#: e2fsck/unix.c:83
+msgid ""
+"\n"
+"Emergency help:\n"
+" -p                   Automatic repair (no questions)\n"
+" -n                   Make no changes to the filesystem\n"
+" -y                   Assume \"yes\" to all questions\n"
+" -c                   Check for bad blocks and add them to the badblock list\n"
+" -f                   Force checking even if filesystem is marked clean\n"
+msgstr ""
+
+#: e2fsck/unix.c:89
+msgid ""
+" -v                   Be verbose\n"
+" -b superblock        Use alternative superblock\n"
+" -B blocksize         Force blocksize when looking for superblock\n"
+" -j external_journal  Set location of the external journal\n"
+" -l bad_blocks_file   Add to badblocks list\n"
+" -L bad_blocks_file   Set badblocks list\n"
+" -z undo_file         Create an undo file\n"
+msgstr ""
+" -v                   Jessi prolìs\n"
+" -b superbloc        Dopre superbloc alternatîf\n"
+" -B dimension_bloc         Sfuarce la dimension dal bloc cuant che si cîr il superbloc\n"
+" -j gjornâl_esterni  Stabilìs la posizion dal gjornâl esterni\n"
+" -l file_blocs_ruvinâts   Zonte ae liste dai blocs ruvinâts\n"
+" -L file_blocs_ruvinâts   Stabilìs la liste dai blocs ruvinâts\n"
+" -z file_par_disfâ_il_lavôr         Cree un file par disfâ il lavôr fat\n"
+
+#: e2fsck/unix.c:137
+#, c-format
+msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
+msgstr ""
+
+#: e2fsck/unix.c:163
+#, c-format
+msgid ""
+"\n"
+"%12u inode used (%2.2f%%, out of %u)\n"
+msgid_plural ""
+"\n"
+"%12u inodes used (%2.2f%%, out of %u)\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:167
+#, c-format
+msgid "%12u non-contiguous file (%0d.%d%%)\n"
+msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:172
+#, c-format
+msgid "%12u non-contiguous directory (%0d.%d%%)\n"
+msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:177
+#, c-format
+msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
+msgstr ""
+
+#: e2fsck/unix.c:185
+msgid "             Extent depth histogram: "
+msgstr ""
+
+#: e2fsck/unix.c:194
+#, c-format
+msgid "%12llu block used (%2.2f%%, out of %llu)\n"
+msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:198
+#, c-format
+msgid "%12u bad block\n"
+msgid_plural "%12u bad blocks\n"
+msgstr[0] "%12u bloc difetôs\n"
+msgstr[1] "%12u blocs difetôs\n"
+
+#: e2fsck/unix.c:200
+#, c-format
+msgid "%12u large file\n"
+msgid_plural "%12u large files\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:202
+#, c-format
+msgid ""
+"\n"
+"%12u regular file\n"
+msgid_plural ""
+"\n"
+"%12u regular files\n"
+msgstr[0] ""
+"\n"
+"%12u file regolâr\n"
+msgstr[1] ""
+"\n"
+"%12u file regolârs\n"
+
+#: e2fsck/unix.c:204
+#, c-format
+msgid "%12u directory\n"
+msgid_plural "%12u directories\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:206
+#, c-format
+msgid "%12u character device file\n"
+msgid_plural "%12u character device files\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:209
+#, c-format
+msgid "%12u block device file\n"
+msgid_plural "%12u block device files\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:211
+#, c-format
+msgid "%12u fifo\n"
+msgid_plural "%12u fifos\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:213
+#, c-format
+msgid "%12u link\n"
+msgid_plural "%12u links\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:215
+#, c-format
+msgid "%12u symbolic link"
+msgid_plural "%12u symbolic links"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:217
+#, c-format
+msgid " (%u fast symbolic link)\n"
+msgid_plural " (%u fast symbolic links)\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:221
+#, c-format
+msgid "%12u socket\n"
+msgid_plural "%12u sockets\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:225
+#, c-format
+msgid "%12u file\n"
+msgid_plural "%12u files\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2986 misc/util.c:129
+#: resize/main.c:354
+#, c-format
+msgid "while determining whether %s is mounted."
+msgstr "intal determinâ se %s al è montât."
+
+#: e2fsck/unix.c:259
+#, c-format
+msgid "Warning!  %s is mounted.\n"
+msgstr "Atenzion!  %s al è montât.\n"
+
+#: e2fsck/unix.c:262
+#, c-format
+msgid "Warning!  %s is in use.\n"
+msgstr "Atenzion!  %s al è in ûs.\n"
+
+#: e2fsck/unix.c:268
+#, c-format
+msgid "%s is mounted.\n"
+msgstr "%s al è montât.\n"
+
+#: e2fsck/unix.c:270
+#, c-format
+msgid "%s is in use.\n"
+msgstr "%s al è in ûs.\n"
+
+#: e2fsck/unix.c:272
+msgid ""
+"Cannot continue, aborting.\n"
+"\n"
+msgstr ""
+"Impussibil continuâ, si interomp.\n"
+"\n"
+
+#: e2fsck/unix.c:274
+msgid ""
+"\n"
+"\n"
+"WARNING!!!  The filesystem is mounted.   If you continue you ***WILL***\n"
+"cause ***SEVERE*** filesystem damage.\n"
+"\n"
+msgstr ""
+
+#: e2fsck/unix.c:279
+msgid "Do you really want to continue"
+msgstr "Continuâ pardabon"
+
+#: e2fsck/unix.c:281
+msgid "check aborted.\n"
+msgstr "control interot.\n"
+
+#: e2fsck/unix.c:375
+msgid " contains a file system with errors"
+msgstr " al conten un filesystem cun erôrs"
+
+#: e2fsck/unix.c:377
+msgid " was not cleanly unmounted"
+msgstr " nol è stât dismontât in maniere nete"
+
+#: e2fsck/unix.c:379
+msgid " primary superblock features different from backup"
+msgstr ""
+
+#: e2fsck/unix.c:383
+#, c-format
+msgid " has been mounted %u times without being checked"
+msgstr " al è stât montât %u voltis cence jessi controlât"
+
+#: e2fsck/unix.c:390
+msgid " has filesystem last checked time in the future"
+msgstr ""
+
+#: e2fsck/unix.c:396
+#, c-format
+msgid " has gone %u days without being checked"
+msgstr " al à passât %u dîs cence jessi controlât"
+
+#: e2fsck/unix.c:404
+msgid "ignoring check interval, broken_system_clock set\n"
+msgstr ""
+
+#: e2fsck/unix.c:410
+msgid ", check forced.\n"
+msgstr ", control sfuarçât.\n"
+
+#: e2fsck/unix.c:443
+#, c-format
+msgid "%s: clean, %u/%u files, %llu/%llu blocks"
+msgstr ""
+
+#: e2fsck/unix.c:463
+msgid " (check deferred; on battery)"
+msgstr ""
+
+#: e2fsck/unix.c:466
+msgid " (check after next mount)"
+msgstr ""
+
+#: e2fsck/unix.c:468
+#, c-format
+msgid " (check in %ld mounts)"
+msgstr ""
+
+#: e2fsck/unix.c:618
+#, c-format
+msgid "ERROR: Couldn't open /dev/null (%s)\n"
+msgstr "ERÔR: impussibil vierzi /dev/null (%s)\n"
+
+#: e2fsck/unix.c:689
+msgid "Invalid EA version.\n"
+msgstr "Version EA no valide.\n"
+
+#: e2fsck/unix.c:702
+msgid "Invalid readahead buffer size.\n"
+msgstr ""
+
+#: e2fsck/unix.c:757
+#, c-format
+msgid "Unknown extended option: %s\n"
+msgstr ""
+
+#: e2fsck/unix.c:765
+msgid ""
+"\n"
+"Extended options are separated by commas, and may take an argument which\n"
+"is set off by an equals ('=') sign.  Valid extended options are:\n"
+"\n"
+msgstr ""
+
+#: e2fsck/unix.c:769
+msgid "\tea_ver=<ea_version (1 or 2)>\n"
+msgstr ""
+
+#: e2fsck/unix.c:778
+msgid "\treadahead_kb=<buffer size>\n"
+msgstr ""
+
+#: e2fsck/unix.c:790
+#, c-format
+msgid ""
+"Syntax error in e2fsck config file (%s, line #%d)\n"
+"\t%s\n"
+msgstr ""
+
+#: e2fsck/unix.c:863
+#, c-format
+msgid "Error validating file descriptor %d: %s\n"
+msgstr ""
+
+#: e2fsck/unix.c:867
+msgid "Invalid completion information file descriptor"
+msgstr ""
+
+#: e2fsck/unix.c:882
+msgid "Only one of the options -p/-a, -n or -y may be specified."
+msgstr ""
+
+#: e2fsck/unix.c:903
+#, c-format
+msgid "The -t option is not supported on this version of e2fsck.\n"
+msgstr ""
+
+#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
+#: misc/tune2fs.c:1695 misc/tune2fs.c:1990 misc/tune2fs.c:2008
+#, c-format
+msgid "Unable to resolve '%s'"
+msgstr ""
+
+#: e2fsck/unix.c:991
+msgid "The -n and -D options are incompatible."
+msgstr ""
+
+#: e2fsck/unix.c:996
+msgid "The -n and -c options are incompatible."
+msgstr ""
+
+#: e2fsck/unix.c:1001
+msgid "The -n and -l/-L options are incompatible."
+msgstr ""
+
+#: e2fsck/unix.c:1025
+msgid "The -D and -E fixes_only options are incompatible."
+msgstr ""
+
+#: e2fsck/unix.c:1031
+msgid "The -E bmap2extent and fixes_only options are incompatible."
+msgstr ""
+
+#: e2fsck/unix.c:1095
+msgid "The -c and the -l/-L options may not be both used at the same time.\n"
+msgstr ""
+
+#: e2fsck/unix.c:1142
+#, c-format
+msgid ""
+"E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
+"\n"
+msgstr ""
+
+#: e2fsck/unix.c:1151
+#, c-format
+msgid ""
+"\n"
+"Invalid non-numeric argument to -%c (\"%s\")\n"
+"\n"
+msgstr ""
+
+#: e2fsck/unix.c:1242
+#, c-format
+msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
+msgstr ""
+
+#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+msgid "while checking MMP block"
+msgstr ""
+
+#: e2fsck/unix.c:1266
+#, 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:1282
+msgid "while reading MMP block"
+msgstr ""
+
+#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
+#: misc/mke2fs.c:2696 misc/mke2fs.c:2747 misc/tune2fs.c:2713
+#: misc/tune2fs.c:2758 resize/main.c:188 resize/main.c:233
+#, c-format
+msgid ""
+"Overwriting existing filesystem; this can be undone using the command:\n"
+"    e2undo %s %s\n"
+"\n"
+msgstr ""
+
+#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2736 misc/tune2fs.c:2747
+#: resize/main.c:222
+#, c-format
+msgid "while trying to delete %s"
+msgstr ""
+
+#: e2fsck/unix.c:1369 misc/mke2fs.c:2762 resize/main.c:243
+msgid "while trying to setup undo file\n"
+msgstr ""
+
+#: e2fsck/unix.c:1412
+msgid "Error: ext2fs library version out of date!\n"
+msgstr ""
+
+#: e2fsck/unix.c:1419
+msgid "while trying to initialize program"
+msgstr ""
+
+#: e2fsck/unix.c:1456
+#, c-format
+msgid "\tUsing %s, %s\n"
+msgstr ""
+
+#: e2fsck/unix.c:1468
+msgid "need terminal for interactive repairs"
+msgstr ""
+
+#: e2fsck/unix.c:1529
+#, c-format
+msgid "%s: %s trying backup blocks...\n"
+msgstr ""
+
+#: e2fsck/unix.c:1531
+msgid "Superblock invalid,"
+msgstr ""
+
+#: e2fsck/unix.c:1532
+msgid "Group descriptors look bad..."
+msgstr ""
+
+#: e2fsck/unix.c:1542
+#, c-format
+msgid "%s: %s while using the backup blocks"
+msgstr ""
+
+#: e2fsck/unix.c:1546
+#, c-format
+msgid "%s: going back to original superblock\n"
+msgstr ""
+
+#: e2fsck/unix.c:1575
+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:1582
+msgid "Could this be a zero-length partition?\n"
+msgstr ""
+
+#: e2fsck/unix.c:1584
+#, c-format
+msgid "You must have %s access to the filesystem or be root\n"
+msgstr ""
+
+#: e2fsck/unix.c:1590
+msgid "Possibly non-existent or swap device?\n"
+msgstr ""
+
+#: e2fsck/unix.c:1592
+msgid "Filesystem mounted or opened exclusively by another program?\n"
+msgstr ""
+
+#: e2fsck/unix.c:1596
+msgid "Possibly non-existent device?\n"
+msgstr ""
+
+#: e2fsck/unix.c:1599
+msgid ""
+"Disk write-protected; use the -n option to do a read-only\n"
+"check of the device.\n"
+msgstr ""
+
+#: e2fsck/unix.c:1613
+#, c-format
+msgid "%s: Trying to load superblock despite errors...\n"
+msgstr ""
+
+#: e2fsck/unix.c:1688
+msgid "Get a newer version of e2fsck!"
+msgstr ""
+
+#: e2fsck/unix.c:1749
+#, c-format
+msgid "while checking journal for %s"
+msgstr ""
+
+#: e2fsck/unix.c:1752
+msgid "Cannot proceed with file system check"
+msgstr ""
+
+#: e2fsck/unix.c:1763
+msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
+msgstr ""
+
+#: e2fsck/unix.c:1775
+#, c-format
+msgid "unable to set superblock flags on %s\n"
+msgstr ""
+
+#: e2fsck/unix.c:1781
+#, c-format
+msgid "Journal checksum error found in %s\n"
+msgstr ""
+
+#: e2fsck/unix.c:1785
+#, c-format
+msgid "Journal corrupted in %s\n"
+msgstr ""
+
+#: e2fsck/unix.c:1789
+#, c-format
+msgid "while recovering journal of %s"
+msgstr ""
+
+#: e2fsck/unix.c:1811
+#, c-format
+msgid "%s has unsupported feature(s):"
+msgstr ""
+
+#: e2fsck/unix.c:1826
+#, c-format
+msgid "%s has unsupported encoding: %0x\n"
+msgstr ""
+
+#: e2fsck/unix.c:1876
+#, c-format
+msgid "%s: %s while reading bad blocks inode\n"
+msgstr ""
+
+#: e2fsck/unix.c:1879
+msgid "This doesn't bode well, but we'll try to go on...\n"
+msgstr ""
+
+#: e2fsck/unix.c:1919
+#, c-format
+msgid "Creating journal (%d blocks): "
+msgstr ""
+
+#: e2fsck/unix.c:1929
+msgid " Done.\n"
+msgstr ""
+
+#: e2fsck/unix.c:1931
+msgid ""
+"\n"
+"*** journal has been regenerated ***\n"
+msgstr ""
+
+#: e2fsck/unix.c:1937
+msgid "aborted"
+msgstr "interot"
+
+#: e2fsck/unix.c:1939
+#, c-format
+msgid "%s: e2fsck canceled.\n"
+msgstr ""
+
+#: e2fsck/unix.c:1966
+msgid "Restarting e2fsck from the beginning...\n"
+msgstr ""
+
+#: e2fsck/unix.c:1970
+msgid "while resetting context"
+msgstr ""
+
+#: e2fsck/unix.c:2029
+#, c-format
+msgid ""
+"\n"
+"%s: ***** FILE SYSTEM ERRORS CORRECTED *****\n"
+msgstr ""
+
+#: e2fsck/unix.c:2031
+#, c-format
+msgid "%s: File system was modified.\n"
+msgstr ""
+
+#: e2fsck/unix.c:2035 e2fsck/util.c:71
+#, c-format
+msgid ""
+"\n"
+"%s: ***** FILE SYSTEM WAS MODIFIED *****\n"
+msgstr ""
+
+#: e2fsck/unix.c:2040
+#, c-format
+msgid "%s: ***** REBOOT SYSTEM *****\n"
+msgstr ""
+
+#: e2fsck/unix.c:2050 e2fsck/util.c:77
+#, c-format
+msgid ""
+"\n"
+"%s: ********** WARNING: Filesystem still has errors **********\n"
+"\n"
+msgstr ""
+
+#: e2fsck/util.c:196 misc/util.c:93
+msgid "yY"
+msgstr "sS"
+
+#: e2fsck/util.c:197 misc/util.c:112
+msgid "nN"
+msgstr ""
+
+#: e2fsck/util.c:198
+msgid "aA"
+msgstr ""
+
+#: e2fsck/util.c:202
+msgid " ('a' enables 'yes' to all) "
+msgstr " ('a' al abilite 'sì' a dut) "
+
+#: e2fsck/util.c:219
+msgid "<y>"
+msgstr "<s>"
+
+#: e2fsck/util.c:221
+msgid "<n>"
+msgstr "<n>"
+
+#: e2fsck/util.c:223
+msgid " (y/n)"
+msgstr " (s/n)"
+
+#: e2fsck/util.c:246
+msgid "cancelled!\n"
+msgstr "anulât!\n"
+
+#: e2fsck/util.c:279
+msgid "yes to all\n"
+msgstr "sì a dut\n"
+
+#: e2fsck/util.c:281
+msgid "yes\n"
+msgstr "sì\n"
+
+#: e2fsck/util.c:283
+msgid "no\n"
+msgstr "no\n"
+
+#: e2fsck/util.c:293
+#, c-format
+msgid ""
+"%s? no\n"
+"\n"
+msgstr ""
+"%s? no\n"
+"\n"
+
+#: e2fsck/util.c:297
+#, c-format
+msgid ""
+"%s? yes\n"
+"\n"
+msgstr ""
+"%s? sì\n"
+"\n"
+
+#: e2fsck/util.c:301
+msgid "yes"
+msgstr "sì"
+
+#: e2fsck/util.c:301
+msgid "no"
+msgstr "no"
+
+#: e2fsck/util.c:317
+#, c-format
+msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
+msgstr ""
+
+#: e2fsck/util.c:322
+msgid "reading inode and block bitmaps"
+msgstr ""
+
+#: e2fsck/util.c:334
+#, c-format
+msgid "while retrying to read bitmaps for %s"
+msgstr ""
+
+#: e2fsck/util.c:346
+msgid "writing block and inode bitmaps"
+msgstr ""
+
+#: e2fsck/util.c:351
+#, c-format
+msgid "while rewriting block and inode bitmaps for %s"
+msgstr ""
+
+#: e2fsck/util.c:363
+#, c-format
+msgid ""
+"\n"
+"\n"
+"%s: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.\n"
+"\t(i.e., without -a or -p options)\n"
+msgstr ""
+
+#: e2fsck/util.c:444
+#, c-format
+msgid "Memory used: %luk/%luk (%luk/%luk), "
+msgstr ""
+
+#: e2fsck/util.c:448
+#, c-format
+msgid "Memory used: %lu, "
+msgstr ""
+
+#: e2fsck/util.c:455
+#, c-format
+msgid "time: %5.2f/%5.2f/%5.2f\n"
+msgstr ""
+
+#: e2fsck/util.c:460
+#, c-format
+msgid "elapsed time: %6.3f\n"
+msgstr ""
+
+#: e2fsck/util.c:495 e2fsck/util.c:509
+#, c-format
+msgid "while reading inode %lu in %s"
+msgstr ""
+
+#: e2fsck/util.c:523 e2fsck/util.c:536
+#, c-format
+msgid "while writing inode %lu in %s"
+msgstr ""
+
+#: e2fsck/util.c:792
+msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
+msgstr ""
+
+#: misc/badblocks.c:75
+msgid "done                                                 \n"
+msgstr ""
+
+#: misc/badblocks.c:100
+#, c-format
+msgid ""
+"Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnfBX]\n"
+"       [-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks]\n"
+"       [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n"
+"       device [last_block [first_block]]\n"
+msgstr ""
+
+#: misc/badblocks.c:111
+#, c-format
+msgid ""
+"%s: The -n and -w options are mutually exclusive.\n"
+"\n"
+msgstr ""
+
+#: misc/badblocks.c:229
+#, c-format
+msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)"
+msgstr ""
+
+#: misc/badblocks.c:337
+msgid "Testing with random pattern: "
+msgstr ""
+
+#: misc/badblocks.c:355
+msgid "Testing with pattern 0x"
+msgstr ""
+
+#: misc/badblocks.c:387 misc/badblocks.c:460
+msgid "during seek"
+msgstr ""
+
+#: misc/badblocks.c:398
+#, c-format
+msgid "Weird value (%ld) in do_read\n"
+msgstr ""
+
+#: misc/badblocks.c:485
+msgid "during ext2fs_sync_device"
+msgstr ""
+
+#: misc/badblocks.c:505 misc/badblocks.c:767
+msgid "while beginning bad block list iteration"
+msgstr ""
+
+#: misc/badblocks.c:520 misc/badblocks.c:620 misc/badblocks.c:778
+msgid "while allocating buffers"
+msgstr ""
+
+#: misc/badblocks.c:524
+#, c-format
+msgid "Checking blocks %lu to %lu\n"
+msgstr ""
+
+#: misc/badblocks.c:529
+msgid "Checking for bad blocks in read-only mode\n"
+msgstr ""
+
+#: misc/badblocks.c:538
+msgid "Checking for bad blocks (read-only test): "
+msgstr ""
+
+#: misc/badblocks.c:545 misc/badblocks.c:652 misc/badblocks.c:694
+#: misc/badblocks.c:841
+msgid "Too many bad blocks, aborting test\n"
+msgstr ""
+
+#: misc/badblocks.c:627
+msgid "Checking for bad blocks in read-write mode\n"
+msgstr ""
+
+#: misc/badblocks.c:629 misc/badblocks.c:791
+#, c-format
+msgid "From block %lu to %lu\n"
+msgstr ""
+
+#: misc/badblocks.c:684
+msgid "Reading and comparing: "
+msgstr ""
+
+#: misc/badblocks.c:790
+msgid "Checking for bad blocks in non-destructive read-write mode\n"
+msgstr ""
+
+#: misc/badblocks.c:796
+msgid "Checking for bad blocks (non-destructive read-write test)\n"
+msgstr ""
+
+#: misc/badblocks.c:803
+msgid ""
+"\n"
+"Interrupt caught, cleaning up\n"
+msgstr ""
+
+#: misc/badblocks.c:886
+#, c-format
+msgid "during test data write, block %lu"
+msgstr ""
+
+#: misc/badblocks.c:1007 misc/util.c:134
+#, c-format
+msgid "%s is mounted; "
+msgstr "%s al è montât; "
+
+#: misc/badblocks.c:1009
+msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
+msgstr ""
+
+#: misc/badblocks.c:1014
+msgid "it's not safe to run badblocks!\n"
+msgstr ""
+
+#: misc/badblocks.c:1019 misc/util.c:145
+#, c-format
+msgid "%s is apparently in use by the system; "
+msgstr ""
+
+#: misc/badblocks.c:1022
+msgid "badblocks forced anyway.\n"
+msgstr ""
+
+#: misc/badblocks.c:1042
+#, c-format
+msgid "invalid %s - %s"
+msgstr ""
+
+#: misc/badblocks.c:1136
+#, c-format
+msgid "Too big max bad blocks count %u - maximum is %u"
+msgstr ""
+
+#: misc/badblocks.c:1163
+#, c-format
+msgid "can't allocate memory for test_pattern - %s"
+msgstr ""
+
+#: misc/badblocks.c:1193
+msgid "Maximum of one test_pattern may be specified in read-only mode"
+msgstr ""
+
+#: misc/badblocks.c:1199
+msgid "Random test_pattern is not allowed in read-only mode"
+msgstr ""
+
+#: misc/badblocks.c:1213
+msgid ""
+"Couldn't determine device size; you must specify\n"
+"the size manually\n"
+msgstr ""
+
+#: misc/badblocks.c:1219
+msgid "while trying to determine device size"
+msgstr ""
+
+#: misc/badblocks.c:1224
+msgid "last block"
+msgstr ""
+
+#: misc/badblocks.c:1230
+msgid "first block"
+msgstr ""
+
+#: misc/badblocks.c:1233
+#, c-format
+msgid "invalid starting block (%llu): must be less than %llu"
+msgstr ""
+
+#: misc/badblocks.c:1240
+#, c-format
+msgid "invalid end block (%llu): must be 32-bit value"
+msgstr ""
+
+#: misc/badblocks.c:1296
+msgid "while creating in-memory bad blocks list"
+msgstr ""
+
+#: misc/badblocks.c:1305
+msgid "input file - bad format"
+msgstr ""
+
+#: misc/badblocks.c:1313 misc/badblocks.c:1322
+msgid "while adding to in-memory bad block list"
+msgstr ""
+
+#: misc/badblocks.c:1347
+#, c-format
+msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
+msgstr ""
+
+#: misc/chattr.c:89
+#, c-format
+msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...\n"
+msgstr ""
+
+#: misc/chattr.c:160
+#, c-format
+msgid "bad project - %s\n"
+msgstr ""
+
+#: misc/chattr.c:174
+#, c-format
+msgid "bad version - %s\n"
+msgstr ""
+
+#: misc/chattr.c:220 misc/lsattr.c:127
+#, c-format
+msgid "while trying to stat %s"
+msgstr ""
+
+#: misc/chattr.c:227
+#, c-format
+msgid "while reading flags on %s"
+msgstr ""
+
+#: misc/chattr.c:232 misc/chattr.c:244
+#, c-format
+msgid "Flags of %s set as "
+msgstr ""
+
+#: misc/chattr.c:253
+#, c-format
+msgid "while setting flags on %s"
+msgstr ""
+
+#: misc/chattr.c:261
+#, c-format
+msgid "Version of %s set as %lu\n"
+msgstr ""
+
+#: misc/chattr.c:265
+#, c-format
+msgid "while setting version on %s"
+msgstr ""
+
+#: misc/chattr.c:272
+#, c-format
+msgid "Project of %s set as %lu\n"
+msgstr ""
+
+#: misc/chattr.c:276
+#, c-format
+msgid "while setting project on %s"
+msgstr ""
+
+#: misc/chattr.c:298
+msgid "Couldn't allocate path variable in chattr_dir_proc"
+msgstr ""
+
+#: misc/chattr.c:338
+msgid "= is incompatible with - and +\n"
+msgstr ""
+
+#: misc/chattr.c:346
+msgid "Must use '-v', =, - or +\n"
+msgstr ""
+
+#: misc/create_inode.c:80 misc/create_inode.c:119
+#, c-format
+msgid "while reading inode %u"
+msgstr ""
+
+#: misc/create_inode.c:90 misc/create_inode.c:288 misc/create_inode.c:353
+#: misc/create_inode.c:391
+msgid "while expanding directory"
+msgstr ""
+
+#: misc/create_inode.c:97
+#, c-format
+msgid "while linking \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:105 misc/create_inode.c:132 misc/create_inode.c:322
+#, c-format
+msgid "while writing inode %u"
+msgstr ""
+
+#: misc/create_inode.c:152 misc/create_inode.c:176
+#, c-format
+msgid "while listing attributes of \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:163
+#, c-format
+msgid "while opening inode %u"
+msgstr ""
+
+#: misc/create_inode.c:169 misc/create_inode.c:196 misc/create_inode.c:1043
+#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
+#: misc/mke2fs.c:359
+msgid "while allocating memory"
+msgstr ""
+
+#: misc/create_inode.c:189 misc/create_inode.c:205
+#, c-format
+msgid "while reading attribute \"%s\" of \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:214
+#, c-format
+msgid "while writing attribute \"%s\" to inode %u"
+msgstr ""
+
+#: misc/create_inode.c:224
+#, c-format
+msgid "while closing inode %u"
+msgstr ""
+
+#: misc/create_inode.c:275
+#, c-format
+msgid "while allocating inode \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:294
+#, c-format
+msgid "while creating inode \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:360
+#, c-format
+msgid "while creating symlink \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:378 misc/create_inode.c:963
+#, c-format
+msgid "while looking up \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:398
+#, c-format
+msgid "while creating directory \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:627
+#, c-format
+msgid "while opening \"%s\" to copy"
+msgstr ""
+
+#: misc/create_inode.c:805
+#, c-format
+msgid "while changing working directory to \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:815
+#, c-format
+msgid "while scanning directory \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:825
+#, c-format
+msgid "while lstat \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:875
+#, c-format
+msgid "while creating special file \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:884
+msgid "malloc failed"
+msgstr ""
+
+#: misc/create_inode.c:892
+#, c-format
+msgid "while trying to read link \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:899
+msgid "symlink increased in size between lstat() and readlink()"
+msgstr ""
+
+#: misc/create_inode.c:910
+#, c-format
+msgid "while writing symlink\"%s\""
+msgstr ""
+
+#: misc/create_inode.c:921
+#, c-format
+msgid "while writing file \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:934
+#, c-format
+msgid "while making dir \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:952
+msgid "while changing directory"
+msgstr ""
+
+#: misc/create_inode.c:958
+#, c-format
+msgid "ignoring entry \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:971
+#, c-format
+msgid "while setting inode for \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:978
+#, c-format
+msgid "while setting xattrs for \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:1004
+msgid "while saving inode data"
+msgstr ""
+
+#: misc/dumpe2fs.c:56
+#, c-format
+msgid "Usage: %s [-bfghimxV] [-o superblock=<num>] [-o blocksize=<num>] device\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:159
+msgid "blocks"
+msgstr "blocs"
+
+#: misc/dumpe2fs.c:168
+msgid "clusters"
+msgstr "cluster"
+
+#: misc/dumpe2fs.c:219
+#, c-format
+msgid "Group %lu: (Blocks "
+msgstr ""
+
+#: misc/dumpe2fs.c:226
+#, c-format
+msgid " csum 0x%04x"
+msgstr ""
+
+#: misc/dumpe2fs.c:228
+#, c-format
+msgid " (EXPECTED 0x%04x)"
+msgstr ""
+
+#: misc/dumpe2fs.c:233
+#, c-format
+msgid "  %s superblock at "
+msgstr ""
+
+#: misc/dumpe2fs.c:234
+msgid "Primary"
+msgstr "Primari"
+
+#: misc/dumpe2fs.c:234
+msgid "Backup"
+msgstr "Backup"
+
+#: misc/dumpe2fs.c:238
+msgid ", Group descriptors at "
+msgstr ""
+
+#: misc/dumpe2fs.c:242
+msgid ""
+"\n"
+"  Reserved GDT blocks at "
+msgstr ""
+
+#: misc/dumpe2fs.c:249
+msgid " Group descriptor at "
+msgstr ""
+
+#: misc/dumpe2fs.c:255
+msgid "  Block bitmap at "
+msgstr ""
+
+#: misc/dumpe2fs.c:260 misc/dumpe2fs.c:271
+#, c-format
+msgid ", csum 0x%08x"
+msgstr ""
+
+#: misc/dumpe2fs.c:263
+msgid ","
+msgstr ""
+
+#: misc/dumpe2fs.c:265
+msgid ""
+"\n"
+" "
+msgstr ""
+
+#: misc/dumpe2fs.c:266
+msgid " Inode bitmap at "
+msgstr ""
+
+#: misc/dumpe2fs.c:273
+msgid ""
+"\n"
+"  Inode table at "
+msgstr ""
+
+#: misc/dumpe2fs.c:279
+#, c-format
+msgid ""
+"\n"
+"  %u free %s, %u free inodes, %u directories%s"
+msgstr ""
+
+#: misc/dumpe2fs.c:286
+#, c-format
+msgid ", %u unused inodes\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:289
+msgid "  Free blocks: "
+msgstr "  Blocs libars: "
+
+#: misc/dumpe2fs.c:304
+msgid "  Free inodes: "
+msgstr "  Inode libars: "
+
+#: misc/dumpe2fs.c:340
+msgid "while printing bad block list"
+msgstr ""
+
+#: misc/dumpe2fs.c:346
+#, c-format
+msgid "Bad blocks: %u"
+msgstr ""
+
+#: misc/dumpe2fs.c:373 misc/tune2fs.c:373
+msgid "while reading journal inode"
+msgstr ""
+
+#: misc/dumpe2fs.c:379
+msgid "while opening journal inode"
+msgstr ""
+
+#: misc/dumpe2fs.c:385
+msgid "while reading journal super block"
+msgstr ""
+
+#: misc/dumpe2fs.c:392
+msgid "Journal superblock magic number invalid!\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:409 misc/tune2fs.c:216
+msgid "while reading journal superblock"
+msgstr ""
+
+#: misc/dumpe2fs.c:417
+msgid "Couldn't find journal superblock magic numbers"
+msgstr ""
+
+#: misc/dumpe2fs.c:468
+msgid "failed to alloc MMP buffer\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:479
+#, c-format
+msgid "reading MMP block %llu from '%s'\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:507 misc/mke2fs.c:800 misc/tune2fs.c:2027
+msgid "Couldn't allocate memory to parse options!\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:533
+#, c-format
+msgid "Invalid superblock parameter: %s\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:548
+#, c-format
+msgid "Invalid blocksize parameter: %s\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:559
+#, c-format
+msgid ""
+"\n"
+"Bad extended option(s) specified: %s\n"
+"\n"
+"Extended options are separated by commas, and may take an argument which\n"
+"\tis set off by an equals ('=') sign.\n"
+"\n"
+"Valid extended options are:\n"
+"\tsuperblock=<superblock number>\n"
+"\tblocksize=<blocksize>\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:649 misc/mke2fs.c:1889
+#, c-format
+msgid "\tUsing %s\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:694 misc/e2image.c:1629 misc/tune2fs.c:2913
+#: resize/main.c:416
+msgid "Couldn't find valid filesystem superblock.\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:716
+#, c-format
+msgid "%s: MMP feature not enabled.\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:747
+#, c-format
+msgid "while trying to read '%s' bitmaps\n"
+msgstr ""
+
+#: misc/dumpe2fs.c:756
+msgid ""
+"*** Run e2fsck now!\n"
+"\n"
+msgstr ""
+"*** Eseguìs e2fsck cumò!\n"
+"\n"
+
+#: misc/e2image.c:107
+#, c-format
+msgid "Usage: %s [ -r|Q ] [ -f ] [ -b superblock ] [ -B blocksize][ -fr ] device image-file\n"
+msgstr ""
+
+#: misc/e2image.c:110
+#, c-format
+msgid "       %s -I device image-file\n"
+msgstr ""
+
+#: misc/e2image.c:111
+#, c-format
+msgid "       %s -ra  [  -cfnp  ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
+msgstr ""
+
+#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
+#: misc/e2image.c:1194
+msgid "while allocating buffer"
+msgstr ""
+
+#: misc/e2image.c:181
+#, c-format
+msgid "Writing block %llu\n"
+msgstr ""
+
+#: misc/e2image.c:195
+#, c-format
+msgid "error writing block %llu"
+msgstr ""
+
+#: misc/e2image.c:198
+msgid "error in generic_write()"
+msgstr ""
+
+#: misc/e2image.c:215
+msgid "Error: header size is bigger than wrt_size\n"
+msgstr ""
+
+#: misc/e2image.c:220
+msgid "Couldn't allocate header buffer\n"
+msgstr ""
+
+#: misc/e2image.c:248
+msgid "while writing superblock"
+msgstr ""
+
+#: misc/e2image.c:257
+msgid "while writing inode table"
+msgstr ""
+
+#: misc/e2image.c:265
+msgid "while writing block bitmap"
+msgstr ""
+
+#: misc/e2image.c:273
+msgid "while writing inode bitmap"
+msgstr ""
+
+#: misc/e2image.c:515
+#, c-format
+msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
+msgstr ""
+
+#: misc/e2image.c:527
+#, c-format
+msgid "Corrupt directory block %llu: bad name_len (%d)\n"
+msgstr ""
+
+#: misc/e2image.c:568
+#, c-format
+msgid "%llu / %llu blocks (%d%%)"
+msgstr ""
+
+#: misc/e2image.c:599 misc/e2image.c:639
+msgid "Copying "
+msgstr ""
+
+#: misc/e2image.c:636
+msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
+msgstr ""
+
+#: misc/e2image.c:662
+#, c-format
+msgid " %s remaining at %.2f MB/s"
+msgstr ""
+
+#: misc/e2image.c:674 misc/e2image.c:1204
+#, c-format
+msgid "error reading block %llu"
+msgstr ""
+
+#: misc/e2image.c:728
+#, c-format
+msgid "Copied %llu / %llu blocks (%d%%) in %s "
+msgstr ""
+
+#: misc/e2image.c:732
+#, c-format
+msgid "at %.2f MB/s"
+msgstr ""
+
+#: misc/e2image.c:768
+msgid "while allocating l1 table"
+msgstr ""
+
+#: misc/e2image.c:813
+msgid "while allocating l2 cache"
+msgstr ""
+
+#: misc/e2image.c:836
+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:1161
+msgid "while allocating ext2_qcow2_image"
+msgstr ""
+
+#: misc/e2image.c:1168
+msgid "while initializing ext2_qcow2_image"
+msgstr ""
+
+#: misc/e2image.c:1227 misc/e2image.c:1245
+msgid "Programming error: multiple sequential refcount blocks created!\n"
+msgstr ""
+
+#: misc/e2image.c:1286
+msgid "while allocating block bitmap"
+msgstr ""
+
+#: misc/e2image.c:1295
+msgid "while allocating scramble block bitmap"
+msgstr ""
+
+#: misc/e2image.c:1318
+msgid "Scanning inodes...\n"
+msgstr ""
+
+#: misc/e2image.c:1330
+msgid "Can't allocate block buffer"
+msgstr ""
+
+#: misc/e2image.c:1369 misc/e2image.c:1383
+#, c-format
+msgid "while iterating over inode %u"
+msgstr ""
+
+#: misc/e2image.c:1415
+msgid "Raw and qcow2 images cannot be installed"
+msgstr ""
+
+#: misc/e2image.c:1437
+msgid "error reading bitmaps"
+msgstr ""
+
+#: misc/e2image.c:1449
+msgid "while opening device file"
+msgstr ""
+
+#: misc/e2image.c:1460
+msgid "while restoring the image table"
+msgstr ""
+
+#: misc/e2image.c:1565
+msgid "-a option can only be used with raw or QCOW2 images."
+msgstr ""
+
+#: misc/e2image.c:1570
+msgid "-b option can only be used with raw or QCOW2 images."
+msgstr ""
+
+#: misc/e2image.c:1576
+msgid "Offsets are only allowed with raw images."
+msgstr ""
+
+#: misc/e2image.c:1581
+msgid "Move mode is only allowed with raw images."
+msgstr ""
+
+#: misc/e2image.c:1586
+msgid "Move mode requires all data mode."
+msgstr ""
+
+#: misc/e2image.c:1596
+msgid "checking if mounted"
+msgstr ""
+
+#: misc/e2image.c:1603
+msgid ""
+"\n"
+"Running e2image on a R/W mounted filesystem can result in an\n"
+"inconsistent image which will not be useful for debugging purposes.\n"
+"Use -f option if you really want to do that.\n"
+msgstr ""
+
+#: misc/e2image.c:1657
+msgid "QCOW2 image can not be written to the stdout!\n"
+msgstr ""
+
+#: misc/e2image.c:1663
+msgid "Can not stat output\n"
+msgstr ""
+
+#: misc/e2image.c:1673
+#, c-format
+msgid "Image (%s) is compressed\n"
+msgstr ""
+
+#: misc/e2image.c:1676
+#, c-format
+msgid "Image (%s) is encrypted\n"
+msgstr ""
+
+#: misc/e2image.c:1679
+#, c-format
+msgid "Image (%s) is corrupted\n"
+msgstr ""
+
+#: misc/e2image.c:1683
+#, c-format
+msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
+msgstr ""
+
+#: misc/e2image.c:1693
+msgid "The -c option only supported in raw mode\n"
+msgstr ""
+
+#: misc/e2image.c:1698
+msgid "The -c option not supported when writing to stdout\n"
+msgstr ""
+
+#: misc/e2image.c:1705
+msgid "while allocating check_buf"
+msgstr ""
+
+#: misc/e2image.c:1711
+msgid "The -p option only supported in raw mode\n"
+msgstr ""
+
+#: misc/e2image.c:1721
+#, c-format
+msgid "%d blocks already contained the data to be copied\n"
+msgstr ""
+
+#: misc/e2initrd_helper.c:68
+#, c-format
+msgid "Usage: %s -r device\n"
+msgstr ""
+
+#: misc/e2label.c:58
+#, c-format
+msgid "e2label: cannot open %s\n"
+msgstr ""
+
+#: misc/e2label.c:63
+#, c-format
+msgid "e2label: cannot seek to superblock\n"
+msgstr ""
+
+#: misc/e2label.c:68
+#, c-format
+msgid "e2label: error reading superblock\n"
+msgstr ""
+
+#: misc/e2label.c:72
+#, c-format
+msgid "e2label: not an ext2 filesystem\n"
+msgstr ""
+
+#: misc/e2label.c:97 misc/tune2fs.c:3117
+#, c-format
+msgid "Warning: label too long, truncating.\n"
+msgstr ""
+
+#: misc/e2label.c:100
+#, c-format
+msgid "e2label: cannot seek to superblock again\n"
+msgstr ""
+
+#: misc/e2label.c:105
+#, c-format
+msgid "e2label: error writing superblock\n"
+msgstr ""
+
+#: misc/e2label.c:117 misc/tune2fs.c:1687
+#, c-format
+msgid "Usage: e2label device [newlabel]\n"
+msgstr ""
+
+#: misc/e2undo.c:124
+#, c-format
+msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
+msgstr ""
+
+#: misc/e2undo.c:149
+msgid "The file system superblock doesn't match the undo file.\n"
+msgstr ""
+
+#: misc/e2undo.c:152
+msgid "UUID does not match.\n"
+msgstr ""
+
+#: misc/e2undo.c:154
+msgid "Last mount time does not match.\n"
+msgstr ""
+
+#: misc/e2undo.c:156
+msgid "Last write time does not match.\n"
+msgstr ""
+
+#: misc/e2undo.c:158
+msgid "Lifetime write counter does not match.\n"
+msgstr ""
+
+#: misc/e2undo.c:172
+msgid "while reading filesystem superblock."
+msgstr ""
+
+#: misc/e2undo.c:188
+msgid "while fetching superblock"
+msgstr ""
+
+#: misc/e2undo.c:201
+#, c-format
+msgid "Undo file superblock checksum doesn't match.\n"
+msgstr ""
+
+#: misc/e2undo.c:340
+#, c-format
+msgid "illegal offset - %s"
+msgstr ""
+
+#: misc/e2undo.c:364
+#, c-format
+msgid "Will not write to an undo file while replaying it.\n"
+msgstr ""
+
+#: misc/e2undo.c:373
+#, c-format
+msgid "while opening undo file `%s'\n"
+msgstr ""
+
+#: misc/e2undo.c:380
+msgid "while reading undo file"
+msgstr ""
+
+#: misc/e2undo.c:385
+#, c-format
+msgid "%s: Not an undo file.\n"
+msgstr ""
+
+#: misc/e2undo.c:396
+#, c-format
+msgid "%s: Header checksum doesn't match.\n"
+msgstr ""
+
+#: misc/e2undo.c:403
+#, c-format
+msgid "%s: Corrupt undo file header.\n"
+msgstr ""
+
+#: misc/e2undo.c:407
+#, c-format
+msgid "%s: Undo block size too large.\n"
+msgstr ""
+
+#: misc/e2undo.c:412
+#, c-format
+msgid "%s: Undo block size too small.\n"
+msgstr ""
+
+#: misc/e2undo.c:425
+#, c-format
+msgid "%s: Unknown undo file feature set.\n"
+msgstr ""
+
+#: misc/e2undo.c:433
+#, c-format
+msgid "Error while determining whether %s is mounted."
+msgstr ""
+
+#: misc/e2undo.c:439
+msgid "e2undo should only be run on unmounted filesystems"
+msgstr ""
+
+#: misc/e2undo.c:455
+#, c-format
+msgid "while opening `%s'"
+msgstr ""
+
+#: misc/e2undo.c:466
+msgid "specified offset is too large"
+msgstr ""
+
+#: misc/e2undo.c:507
+msgid "while reading keys"
+msgstr ""
+
+#: misc/e2undo.c:519
+#, c-format
+msgid "%s: wrong key magic at %llu\n"
+msgstr ""
+
+#: misc/e2undo.c:529
+#, c-format
+msgid "%s: key block checksum error at %llu.\n"
+msgstr ""
+
+#: misc/e2undo.c:552
+#, c-format
+msgid "%s: block %llu is too long."
+msgstr ""
+
+#: misc/e2undo.c:564 misc/e2undo.c:600
+#, c-format
+msgid "while fetching block %llu."
+msgstr ""
+
+#: misc/e2undo.c:576
+#, c-format
+msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
+msgstr ""
+
+#: misc/e2undo.c:615
+#, c-format
+msgid "while writing block %llu."
+msgstr ""
+
+#: misc/e2undo.c:621
+#, c-format
+msgid "Undo file corruption; run e2fsck NOW!\n"
+msgstr ""
+
+#: misc/e2undo.c:623
+#, c-format
+msgid "IO error during replay; run e2fsck NOW!\n"
+msgstr ""
+
+#: misc/e2undo.c:626
+#, c-format
+msgid "Incomplete undo record; run e2fsck.\n"
+msgstr ""
+
+#: misc/findsuper.c:110
+#, c-format
+msgid "Usage:  findsuper device [skipbytes [startkb]]\n"
+msgstr ""
+
+#: misc/findsuper.c:155
+#, c-format
+msgid "skipbytes should be a number, not %s\n"
+msgstr ""
+
+#: misc/findsuper.c:162
+#, c-format
+msgid "skipbytes must be a multiple of the sector size\n"
+msgstr ""
+
+#: misc/findsuper.c:169
+#, c-format
+msgid "startkb should be a number, not %s\n"
+msgstr ""
+
+#: misc/findsuper.c:175
+#, c-format
+msgid "startkb should be positive, not %llu\n"
+msgstr ""
+
+#: misc/findsuper.c:186
+#, c-format
+msgid "starting at %llu, with %u byte increments\n"
+msgstr ""
+
+#: misc/findsuper.c:188
+#, c-format
+msgid ""
+"[*] probably superblock written in the ext3 journal superblock,\n"
+"\tso start/end/grp wrong\n"
+msgstr ""
+
+#: misc/findsuper.c:190
+#, 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
+#, c-format
+msgid ""
+"\n"
+"%11Lu: finished with errno %d\n"
+msgstr ""
+
+#: misc/fsck.c:343
+#, c-format
+msgid "WARNING: couldn't open %s: %s\n"
+msgstr ""
+
+#: misc/fsck.c:353
+#, c-format
+msgid "WARNING: bad format on line %d of %s\n"
+msgstr ""
+
+#: misc/fsck.c:370
+msgid ""
+"WARNING: Your /etc/fstab does not contain the fsck passno\n"
+"\tfield.  I will kludge around things for you, but you\n"
+"\tshould fix your /etc/fstab file as soon as you can.\n"
+"\n"
+msgstr ""
+
+#: misc/fsck.c:485
+#, c-format
+msgid "fsck: %s: not found\n"
+msgstr ""
+
+#: misc/fsck.c:601
+#, c-format
+msgid "%s: wait: No more child process?!?\n"
+msgstr ""
+
+#: misc/fsck.c:623
+#, c-format
+msgid "Warning... %s for device %s exited with signal %d.\n"
+msgstr ""
+
+#: misc/fsck.c:629
+#, c-format
+msgid "%s %s: status is %x, should never happen.\n"
+msgstr ""
+
+#: misc/fsck.c:668
+#, c-format
+msgid "Finished with %s (exit status %d)\n"
+msgstr ""
+
+#: misc/fsck.c:728
+#, c-format
+msgid "%s: Error %d while executing fsck.%s for %s\n"
+msgstr ""
+
+#: misc/fsck.c:749
+msgid ""
+"Either all or none of the filesystem types passed to -t must be prefixed\n"
+"with 'no' or '!'.\n"
+msgstr ""
+
+#: misc/fsck.c:768
+msgid "Couldn't allocate memory for filesystem types\n"
+msgstr ""
+
+#: misc/fsck.c:891
+#, c-format
+msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
+msgstr ""
+
+#: misc/fsck.c:918
+#, c-format
+msgid "fsck: cannot check %s: fsck.%s not found\n"
+msgstr ""
+
+#: misc/fsck.c:974
+msgid "Checking all file systems.\n"
+msgstr ""
+
+#: misc/fsck.c:1065
+#, c-format
+msgid "--waiting-- (pass %d)\n"
+msgstr ""
+
+#: misc/fsck.c:1085
+msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
+msgstr ""
+
+#: misc/fsck.c:1127
+#, c-format
+msgid "%s: too many devices\n"
+msgstr ""
+
+#: misc/fsck.c:1160 misc/fsck.c:1246
+#, c-format
+msgid "%s: too many arguments\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3745
+msgid "Mounting read-only.\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3769
+#, c-format
+msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3781 misc/fuse2fs.c:3795
+#, c-format
+msgid "%s: %s.\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3797 misc/tune2fs.c:3013
+#, c-format
+msgid "Please run e2fsck -fy %s.\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3804
+msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3812
+#, c-format
+msgid "%s: Writing to the journal is not supported.\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3827
+msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3831
+msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3836
+msgid "Warning: Check time reached; running e2fsck is recommended.\n"
+msgstr ""
+
+#: misc/fuse2fs.c:3840
+msgid "Orphans detected; running e2fsck is recommended.\n"
+msgstr "Vuarfins rilevâts; si consee la esecuzion di e2fsck.\n"
+
+#: misc/fuse2fs.c:3844
+msgid "Errors detected; running e2fsck is required.\n"
+msgstr ""
+
+#: misc/lsattr.c:75
+#, c-format
+msgid "Usage: %s [-RVadlpv] [files...]\n"
+msgstr ""
+
+#: misc/lsattr.c:86
+#, c-format
+msgid "While reading flags on %s"
+msgstr ""
+
+#: misc/lsattr.c:93
+#, c-format
+msgid "While reading project on %s"
+msgstr ""
+
+#: misc/lsattr.c:102
+#, c-format
+msgid "While reading version on %s"
+msgstr ""
+
+#: misc/mke2fs.c:130
+#, c-format
+msgid ""
+"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
+"\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n"
+"\t[-G flex-group-size] [-N number-of-inodes] [-d root-directory]\n"
+"\t[-m reserved-blocks-percentage] [-o creator-os]\n"
+"\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n"
+"\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n"
+"\t[-t fs-type] [-T usage-type ] [-U UUID] [-e errors_behavior][-z undo_file]\n"
+"\t[-jnqvDFSV] device [blocks-count]\n"
+msgstr ""
+
+#: misc/mke2fs.c:261
+#, c-format
+msgid "Running command: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:265
+#, c-format
+msgid "while trying to run '%s'"
+msgstr ""
+
+#: misc/mke2fs.c:272
+msgid "while processing list of bad blocks from program"
+msgstr ""
+
+#: misc/mke2fs.c:299
+#, c-format
+msgid "Block %d in primary superblock/group descriptor area bad.\n"
+msgstr ""
+
+#: misc/mke2fs.c:301
+#, c-format
+msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
+msgstr ""
+
+#: misc/mke2fs.c:304
+msgid "Aborting....\n"
+msgstr ""
+
+#: misc/mke2fs.c:324
+#, c-format
+msgid ""
+"Warning: the backup superblock/group descriptors at block %u contain\n"
+"\tbad blocks.\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:343
+msgid "while marking bad blocks as used"
+msgstr ""
+
+#: misc/mke2fs.c:368
+msgid "while writing reserved inodes"
+msgstr ""
+
+#: misc/mke2fs.c:420
+msgid "Writing inode tables: "
+msgstr ""
+
+#: misc/mke2fs.c:442
+#, c-format
+msgid ""
+"\n"
+"Could not write %d blocks in inode table starting at %llu: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:456 misc/mke2fs.c:2809 misc/mke2fs.c:3214
+msgid "done                            \n"
+msgstr ""
+
+#: misc/mke2fs.c:471
+msgid "while creating root dir"
+msgstr ""
+
+#: misc/mke2fs.c:478
+msgid "while reading root inode"
+msgstr ""
+
+#: misc/mke2fs.c:490
+msgid "while setting root inode ownership"
+msgstr ""
+
+#: misc/mke2fs.c:508
+msgid "while creating /lost+found"
+msgstr ""
+
+#: misc/mke2fs.c:515
+msgid "while looking up /lost+found"
+msgstr ""
+
+#: misc/mke2fs.c:528
+msgid "while expanding /lost+found"
+msgstr ""
+
+#: misc/mke2fs.c:543
+msgid "while setting bad block inode"
+msgstr ""
+
+#: misc/mke2fs.c:570
+#, c-format
+msgid "Out of memory erasing sectors %d-%d\n"
+msgstr ""
+
+#: misc/mke2fs.c:580
+#, c-format
+msgid "Warning: could not read block 0: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:596
+#, c-format
+msgid "Warning: could not erase sector %d: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:612
+msgid "while initializing journal superblock"
+msgstr ""
+
+#: misc/mke2fs.c:620
+msgid "Zeroing journal device: "
+msgstr ""
+
+#: misc/mke2fs.c:632
+#, c-format
+msgid "while zeroing journal device (block %llu, count %d)"
+msgstr ""
+
+#: misc/mke2fs.c:650
+msgid "while writing journal superblock"
+msgstr ""
+
+#: misc/mke2fs.c:665
+#, c-format
+msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
+msgstr ""
+
+#: misc/mke2fs.c:673
+#, c-format
+msgid ""
+"warning: %llu blocks unused.\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:678
+#, c-format
+msgid "Filesystem label=%s\n"
+msgstr ""
+
+#: misc/mke2fs.c:681
+#, c-format
+msgid "OS type: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:683
+#, c-format
+msgid "Block size=%u (log=%u)\n"
+msgstr ""
+
+#: misc/mke2fs.c:686
+#, c-format
+msgid "Cluster size=%u (log=%u)\n"
+msgstr ""
+
+#: misc/mke2fs.c:690
+#, c-format
+msgid "Fragment size=%u (log=%u)\n"
+msgstr ""
+
+#: misc/mke2fs.c:692
+#, c-format
+msgid "Stride=%u blocks, Stripe width=%u blocks\n"
+msgstr ""
+
+#: misc/mke2fs.c:694
+#, c-format
+msgid "%u inodes, %llu blocks\n"
+msgstr ""
+
+#: misc/mke2fs.c:696
+#, c-format
+msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
+msgstr ""
+
+#: misc/mke2fs.c:699
+#, c-format
+msgid "First data block=%u\n"
+msgstr ""
+
+#: misc/mke2fs.c:701
+#, c-format
+msgid "Root directory owner=%u:%u\n"
+msgstr ""
+
+#: misc/mke2fs.c:703
+#, c-format
+msgid "Maximum filesystem blocks=%lu\n"
+msgstr ""
+
+#: misc/mke2fs.c:707
+#, c-format
+msgid "%u block groups\n"
+msgstr ""
+
+#: misc/mke2fs.c:709
+#, c-format
+msgid "%u block group\n"
+msgstr ""
+
+#: misc/mke2fs.c:711
+#, c-format
+msgid "%u blocks per group, %u clusters per group\n"
+msgstr ""
+
+#: misc/mke2fs.c:714
+#, c-format
+msgid "%u blocks per group, %u fragments per group\n"
+msgstr ""
+
+#: misc/mke2fs.c:716
+#, c-format
+msgid "%u inodes per group\n"
+msgstr ""
+
+#: misc/mke2fs.c:725
+#, c-format
+msgid "Filesystem UUID: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:726
+msgid "Superblock backups stored on blocks: "
+msgstr ""
+
+#: misc/mke2fs.c:822
+#, c-format
+msgid "%s requires '-O 64bit'\n"
+msgstr ""
+
+#: misc/mke2fs.c:828
+#, c-format
+msgid "'%s' must be before 'resize=%u'\n"
+msgstr ""
+
+#: misc/mke2fs.c:841
+#, c-format
+msgid "Invalid desc_size: '%s'\n"
+msgstr ""
+
+#: misc/mke2fs.c:855
+#, c-format
+msgid "Invalid hash seed: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:867
+#, c-format
+msgid "Invalid offset: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:881 misc/tune2fs.c:2055
+#, c-format
+msgid "Invalid mmp_update_interval: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:898
+#, c-format
+msgid "Invalid # of backup superblocks: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:920
+#, c-format
+msgid "Invalid stride parameter: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:935
+#, c-format
+msgid "Invalid stripe-width parameter: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:958
+#, c-format
+msgid "Invalid resize parameter: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:965
+msgid "The resize maximum must be greater than the filesystem size.\n"
+msgstr ""
+
+#: misc/mke2fs.c:989
+msgid "On-line resizing not supported with revision 0 filesystems\n"
+msgstr ""
+
+#: misc/mke2fs.c:1015 misc/mke2fs.c:1024
+#, c-format
+msgid "Invalid root_owner: '%s'\n"
+msgstr ""
+
+#: misc/mke2fs.c:1069
+#, c-format
+msgid "Invalid encoding: %s"
+msgstr ""
+
+#: misc/mke2fs.c:1087
+#, c-format
+msgid ""
+"\n"
+"Bad option(s) specified: %s\n"
+"\n"
+"Extended options are separated by commas, and may take an argument which\n"
+"\tis set off by an equals ('=') sign.\n"
+"\n"
+"Valid extended options are:\n"
+"\tmmp_update_interval=<interval>\n"
+"\tnum_backup_sb=<0|1|2>\n"
+"\tstride=<RAID per-disk data chunk in blocks>\n"
+"\tstripe-width=<RAID stride * data disks in blocks>\n"
+"\toffset=<offset to create the file system>\n"
+"\tresize=<resize maximum size in blocks>\n"
+"\tpacked_meta_blocks=<0 to disable, 1 to enable>\n"
+"\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"
+"\ttest_fs\n"
+"\tdiscard\n"
+"\tnodiscard\n"
+"\tencoding=<encoding>\n"
+"\tencoding_flags=<flags>\n"
+"\tquotatype=<quota type(s) to be enabled>\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:1114
+#, c-format
+msgid ""
+"\n"
+"Warning: RAID stripe-width %u not an even multiple of stride %u.\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:1125
+#, c-format
+msgid "error: Invalid encoding flag: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:1131
+#, c-format
+msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
+msgstr ""
+
+#: misc/mke2fs.c:1179
+#, c-format
+msgid ""
+"Syntax error in mke2fs config file (%s, line #%d)\n"
+"\t%s\n"
+msgstr ""
+
+#: misc/mke2fs.c:1192 misc/tune2fs.c:1068
+#, c-format
+msgid "Invalid filesystem option set: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:1204 misc/tune2fs.c:417
+#, c-format
+msgid "Invalid mount option set: %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:1340
+#, c-format
+msgid ""
+"\n"
+"Your mke2fs.conf file does not define the %s filesystem type.\n"
+msgstr ""
+
+#: misc/mke2fs.c:1344
+msgid ""
+"You probably need to install an updated mke2fs.conf file.\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:1348
+msgid "Aborting...\n"
+msgstr ""
+
+#: misc/mke2fs.c:1389
+#, c-format
+msgid ""
+"\n"
+"Warning: the fs_type %s is not defined in mke2fs.conf\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:1571
+msgid "Couldn't allocate memory for new PATH.\n"
+msgstr ""
+
+#: misc/mke2fs.c:1608
+#, c-format
+msgid "Couldn't init profile successfully (error: %ld).\n"
+msgstr ""
+
+#: misc/mke2fs.c:1641
+#, c-format
+msgid "invalid block size - %s"
+msgstr ""
+
+#: misc/mke2fs.c:1645
+#, c-format
+msgid "Warning: blocksize %d not usable on most systems.\n"
+msgstr ""
+
+#: misc/mke2fs.c:1661
+#, c-format
+msgid "invalid cluster size - %s"
+msgstr ""
+
+#: misc/mke2fs.c:1674
+msgid "'-R' is deprecated, use '-E' instead"
+msgstr ""
+
+#: misc/mke2fs.c:1688 misc/tune2fs.c:1784
+#, c-format
+msgid "bad error behavior - %s"
+msgstr ""
+
+#: misc/mke2fs.c:1700
+msgid "Illegal number for blocks per group"
+msgstr ""
+
+#: misc/mke2fs.c:1705
+msgid "blocks per group must be multiple of 8"
+msgstr ""
+
+#: misc/mke2fs.c:1713
+msgid "Illegal number for flex_bg size"
+msgstr ""
+
+#: misc/mke2fs.c:1719
+msgid "flex_bg size must be a power of 2"
+msgstr ""
+
+#: misc/mke2fs.c:1724
+#, c-format
+msgid "flex_bg size (%lu) must be less than or equal to 2^31"
+msgstr ""
+
+#: misc/mke2fs.c:1734
+#, c-format
+msgid "invalid inode ratio %s (min %d/max %d)"
+msgstr ""
+
+#: misc/mke2fs.c:1744
+#, c-format
+msgid "invalid inode size - %s"
+msgstr ""
+
+#: misc/mke2fs.c:1757
+msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
+msgstr ""
+
+#: misc/mke2fs.c:1768
+msgid "in malloc for bad_blocks_filename"
+msgstr ""
+
+#: misc/mke2fs.c:1777
+#, c-format
+msgid ""
+"Warning: label too long; will be truncated to '%s'\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:1786
+#, c-format
+msgid "invalid reserved blocks percent - %s"
+msgstr ""
+
+#: misc/mke2fs.c:1801
+#, c-format
+msgid "bad num inodes - %s"
+msgstr ""
+
+#: misc/mke2fs.c:1814
+msgid "while allocating fs_feature string"
+msgstr ""
+
+#: misc/mke2fs.c:1831
+#, c-format
+msgid "bad revision level - %s"
+msgstr ""
+
+#: misc/mke2fs.c:1836
+#, c-format
+msgid "while trying to create revision %d"
+msgstr ""
+
+#: misc/mke2fs.c:1850
+msgid "The -t option may only be used once"
+msgstr ""
+
+#: misc/mke2fs.c:1858
+msgid "The -T option may only be used once"
+msgstr ""
+
+#: misc/mke2fs.c:1914 misc/mke2fs.c:3298
+#, c-format
+msgid "while trying to open journal device %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:1920
+#, c-format
+msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
+msgstr ""
+
+#: misc/mke2fs.c:1926
+#, c-format
+msgid "Using journal device's blocksize: %d\n"
+msgstr ""
+
+#: misc/mke2fs.c:1937
+#, c-format
+msgid "invalid blocks '%s' on device '%s'"
+msgstr ""
+
+#: misc/mke2fs.c:1967
+msgid "filesystem"
+msgstr "filesystem"
+
+#: misc/mke2fs.c:1985 resize/main.c:497
+msgid "while trying to determine filesystem size"
+msgstr ""
+
+#: misc/mke2fs.c:1991
+msgid ""
+"Couldn't determine device size; you must specify\n"
+"the size of the filesystem\n"
+msgstr ""
+
+#: misc/mke2fs.c:1998
+msgid ""
+"Device size reported to be zero.  Invalid partition specified, or\n"
+"\tpartition table wasn't reread after running fdisk, due to\n"
+"\ta modified partition being busy and in use.  You may need to reboot\n"
+"\tto re-read your partition table.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2015
+msgid "Filesystem larger than apparent device size."
+msgstr ""
+
+#: misc/mke2fs.c:2035
+msgid "Failed to parse fs types list\n"
+msgstr ""
+
+#: misc/mke2fs.c:2085
+msgid "The HURD does not support the filetype feature.\n"
+msgstr "Il HURD nol supuarte la funzionalitât dal gjenar di file.\n"
+
+#: misc/mke2fs.c:2090
+msgid "The HURD does not support the huge_file feature.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2095
+msgid "The HURD does not support the metadata_csum feature.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2100
+msgid "The HURD does not support the ea_inode feature.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2110
+msgid "while trying to determine hardware sector size"
+msgstr ""
+
+#: misc/mke2fs.c:2116
+msgid "while trying to determine physical sector size"
+msgstr ""
+
+#: misc/mke2fs.c:2148
+msgid "while setting blocksize; too small for device\n"
+msgstr ""
+
+#: misc/mke2fs.c:2153
+#, c-format
+msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
+msgstr ""
+
+#: misc/mke2fs.c:2177
+#, 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:2191
+#, 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:2213
+msgid "fs_types for mke2fs.conf resolution: "
+msgstr ""
+
+#: misc/mke2fs.c:2220
+msgid "Filesystem features not supported with revision 0 filesystems\n"
+msgstr ""
+
+#: misc/mke2fs.c:2228
+msgid "Sparse superblocks not supported with revision 0 filesystems\n"
+msgstr ""
+
+#: misc/mke2fs.c:2238
+msgid "Journals not supported with revision 0 filesystems\n"
+msgstr ""
+
+#: misc/mke2fs.c:2251
+#, c-format
+msgid "invalid reserved blocks percent - %lf"
+msgstr ""
+
+#: misc/mke2fs.c:2268
+msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2288
+msgid "The cluster size may not be smaller than the block size.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2294
+msgid "specifying a cluster size requires the bigalloc feature"
+msgstr ""
+
+#: misc/mke2fs.c:2314
+#, c-format
+msgid "warning: Unable to get device geometry for %s\n"
+msgstr ""
+
+#: misc/mke2fs.c:2317
+#, c-format
+msgid "%s alignment is offset by %lu bytes.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2319
+#, c-format
+msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2340
+#, c-format
+msgid "%d-byte blocks too big for system (max %d)"
+msgstr ""
+
+#: misc/mke2fs.c:2344
+#, c-format
+msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
+msgstr ""
+
+#: misc/mke2fs.c:2352
+#, c-format
+msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2398
+#, c-format
+msgid "Unknown filename encoding from profile: %s"
+msgstr ""
+
+#: misc/mke2fs.c:2409
+#, c-format
+msgid "Unknown encoding flags from profile: %s"
+msgstr ""
+
+#: misc/mke2fs.c:2434
+#, c-format
+msgid ""
+"\n"
+"Warning: offset specified without an explicit file system size.\n"
+"Creating a file system with %llu blocks but this might\n"
+"not be what you want.\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:2449
+#, c-format
+msgid "%d byte inodes are too small for project quota"
+msgstr ""
+
+#: misc/mke2fs.c:2465
+msgid ""
+"The encrypt and casefold features are not compatible.\n"
+"They can not be both enabled simultaneously.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2480
+msgid "Can't support bigalloc feature without extents feature"
+msgstr ""
+
+#: misc/mke2fs.c:2487
+msgid ""
+"The resize_inode and meta_bg features are not compatible.\n"
+"They can not be both enabled simultaneously.\n"
+msgstr ""
+
+#: misc/mke2fs.c:2495
+msgid ""
+"\n"
+"Warning: the bigalloc feature is still under development\n"
+"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
+"\n"
+msgstr ""
+
+#: misc/mke2fs.c:2507
+msgid "reserved online resize blocks not supported on non-sparse filesystem"
+msgstr ""
+
+#: misc/mke2fs.c:2516
+msgid "blocks per group count out of range"
+msgstr ""
+
+#: misc/mke2fs.c:2538
+msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
+msgstr ""
+
+#: misc/mke2fs.c:2550
+#, c-format
+msgid "invalid inode size %d (min %d/max %d)"
+msgstr ""
+
+#: misc/mke2fs.c:2565
+#, c-format
+msgid "%d byte inodes are too small for inline data; specify larger size"
+msgstr ""
+
+#: misc/mke2fs.c:2580
+#, c-format
+msgid "too many inodes (%llu), raise inode ratio?"
+msgstr ""
+
+#: misc/mke2fs.c:2587
+#, c-format
+msgid "too many inodes (%llu), specify < 2^32 inodes"
+msgstr ""
+
+#: misc/mke2fs.c:2601
+#, c-format
+msgid ""
+"inode_size (%u) * inodes_count (%u) too big for a\n"
+"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n"
+"\tor lower inode count (-N).\n"
+msgstr ""
+
+#: misc/mke2fs.c:2788
+msgid "Discarding device blocks: "
+msgstr ""
+
+#: misc/mke2fs.c:2804
+msgid "failed - "
+msgstr ""
+
+#: misc/mke2fs.c:2863
+msgid "while initializing quota context"
+msgstr ""
+
+#: misc/mke2fs.c:2870
+msgid "while writing quota inodes"
+msgstr ""
+
+#: misc/mke2fs.c:2895
+#, c-format
+msgid "bad error behavior in profile - %s"
+msgstr ""
+
+#: misc/mke2fs.c:2971
+msgid "in malloc for android_sparse_params"
+msgstr ""
+
+#: misc/mke2fs.c:2985
+msgid "while setting up superblock"
+msgstr ""
+
+#: misc/mke2fs.c:3001
+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:3008
+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:3016
+msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
+msgstr ""
+
+#: misc/mke2fs.c:3040
+msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
+msgstr ""
+
+#: misc/mke2fs.c:3139
+#, c-format
+msgid "unknown os - %s"
+msgstr ""
+
+#: misc/mke2fs.c:3202
+msgid "Allocating group tables: "
+msgstr ""
+
+#: misc/mke2fs.c:3210
+msgid "while trying to allocate filesystem tables"
+msgstr ""
+
+#: misc/mke2fs.c:3219
+msgid ""
+"\n"
+"\twhile converting subcluster bitmap"
+msgstr ""
+
+#: misc/mke2fs.c:3225
+#, c-format
+msgid "%s may be further corrupted by superblock rewrite\n"
+msgstr ""
+
+#: misc/mke2fs.c:3266
+#, c-format
+msgid "while zeroing block %llu at end of filesystem"
+msgstr ""
+
+#: misc/mke2fs.c:3279
+msgid "while reserving blocks for online resize"
+msgstr ""
+
+#: misc/mke2fs.c:3291 misc/tune2fs.c:1492
+msgid "journal"
+msgstr ""
+
+#: misc/mke2fs.c:3303
+#, c-format
+msgid "Adding journal to device %s: "
+msgstr ""
+
+#: misc/mke2fs.c:3310
+#, c-format
+msgid ""
+"\n"
+"\twhile trying to add journal to device %s"
+msgstr ""
+
+#: misc/mke2fs.c:3315 misc/mke2fs.c:3344 misc/mke2fs.c:3382
+#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1521 misc/tune2fs.c:1540
+msgid "done\n"
+msgstr ""
+
+#: misc/mke2fs.c:3321
+msgid "Skipping journal creation in super-only mode\n"
+msgstr ""
+
+#: misc/mke2fs.c:3331
+#, c-format
+msgid "Creating journal (%u blocks): "
+msgstr ""
+
+#: misc/mke2fs.c:3340
+msgid ""
+"\n"
+"\twhile trying to create journal"
+msgstr ""
+
+#: misc/mke2fs.c:3352 misc/tune2fs.c:1133
+msgid ""
+"\n"
+"Error while enabling multiple mount protection feature."
+msgstr ""
+
+#: misc/mke2fs.c:3357
+#, c-format
+msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
+msgstr ""
+
+#: misc/mke2fs.c:3373
+msgid "Copying files into the device: "
+msgstr ""
+
+#: misc/mke2fs.c:3379
+msgid "while populating file system"
+msgstr ""
+
+#: misc/mke2fs.c:3386
+msgid "Writing superblocks and filesystem accounting information: "
+msgstr ""
+
+#: misc/mke2fs.c:3393
+msgid "while writing out and closing file system"
+msgstr ""
+
+#: misc/mke2fs.c:3396
+msgid ""
+"done\n"
+"\n"
+msgstr ""
+
+#: misc/mk_hugefiles.c:339
+#, c-format
+msgid "while zeroing block %llu for hugefile"
+msgstr ""
+
+#: misc/mk_hugefiles.c:515
+#, c-format
+msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
+msgstr ""
+
+#: misc/mk_hugefiles.c:583
+msgid "Huge files will be zero'ed\n"
+msgstr ""
+
+#: misc/mk_hugefiles.c:584
+#, c-format
+msgid "Creating %lu huge file(s) "
+msgstr ""
+
+#: misc/mk_hugefiles.c:586
+#, c-format
+msgid "with %llu blocks each"
+msgstr ""
+
+#: misc/mk_hugefiles.c:595
+#, c-format
+msgid "while creating huge file %lu"
+msgstr ""
+
+#: misc/mklost+found.c:50
+msgid "Usage: mklost+found\n"
+msgstr ""
+
+#: misc/partinfo.c:43
+#, c-format
+msgid ""
+"Usage:  %s device...\n"
+"\n"
+"Prints out the partition information for each given device.\n"
+"For example: %s /dev/hda\n"
+"\n"
+msgstr ""
+
+#: misc/partinfo.c:53
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Impussibil vierzi %s: %s"
+
+#: misc/partinfo.c:59
+#, c-format
+msgid "Cannot get geometry of %s: %s"
+msgstr ""
+
+#: misc/partinfo.c:67
+#, c-format
+msgid "Cannot get size of %s: %s"
+msgstr ""
+
+#: misc/partinfo.c:73
+#, c-format
+msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
+msgstr ""
+
+#: misc/tune2fs.c:119
+msgid ""
+"\n"
+"This operation requires a freshly checked filesystem.\n"
+msgstr ""
+
+#: misc/tune2fs.c:121
+msgid "Please run e2fsck -f on the filesystem.\n"
+msgstr ""
+
+#: misc/tune2fs.c:123
+msgid "Please run e2fsck -fD on the filesystem.\n"
+msgstr ""
+
+#: misc/tune2fs.c:136
+#, c-format
+msgid ""
+"Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
+"\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n"
+"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]]\n"
+"\t[-r reserved_blocks_count] [-u user] [-C mount_count]\n"
+"\t[-L volume_label] [-M last_mounted_dir]\n"
+"\t[-O [^]feature[,...]] [-Q quota_options]\n"
+"\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n"
+"\t[-I new_inode_size] [-z undo_file] device\n"
+msgstr ""
+
+#: misc/tune2fs.c:223
+msgid "Journal superblock not found!\n"
+msgstr ""
+
+#: misc/tune2fs.c:281
+msgid "while trying to open external journal"
+msgstr ""
+
+#: misc/tune2fs.c:287 misc/tune2fs.c:2804
+#, c-format
+msgid "%s is not a journal device.\n"
+msgstr ""
+
+#: misc/tune2fs.c:296 misc/tune2fs.c:2813
+#, c-format
+msgid ""
+"Journal superblock is corrupted, nr_users\n"
+"is too high (%d).\n"
+msgstr ""
+
+#: misc/tune2fs.c:303 misc/tune2fs.c:2820
+msgid "Filesystem's UUID not found on journal device.\n"
+msgstr ""
+
+#: misc/tune2fs.c:327
+msgid ""
+"Cannot locate journal device. It was NOT removed\n"
+"Use -f option to remove missing journal device.\n"
+msgstr ""
+
+#: misc/tune2fs.c:336
+msgid "Journal removed\n"
+msgstr ""
+
+#: misc/tune2fs.c:380
+msgid "while reading bitmaps"
+msgstr ""
+
+#: misc/tune2fs.c:388
+msgid "while clearing journal inode"
+msgstr ""
+
+#: misc/tune2fs.c:399
+msgid "while writing journal inode"
+msgstr ""
+
+#: misc/tune2fs.c:435 misc/tune2fs.c:458 misc/tune2fs.c:471
+msgid "(and reboot afterwards!)\n"
+msgstr ""
+
+#: misc/tune2fs.c:486
+#, c-format
+msgid "After running e2fsck, please run `resize2fs %s %s"
+msgstr ""
+
+#: misc/tune2fs.c:489
+#, c-format
+msgid "Please run `resize2fs %s %s"
+msgstr ""
+
+#: misc/tune2fs.c:493
+#, c-format
+msgid " -z \"%s\""
+msgstr ""
+
+#: misc/tune2fs.c:495
+#, c-format
+msgid "' to enable 64-bit mode.\n"
+msgstr ""
+
+#: misc/tune2fs.c:497
+#, c-format
+msgid "' to disable 64-bit mode.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1035
+msgid ""
+"WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
+"  This requires Linux >= v4.4.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1071
+#, c-format
+msgid "Clearing filesystem feature '%s' not supported.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1077
+#, c-format
+msgid "Setting filesystem feature '%s' not supported.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1086
+msgid ""
+"The has_journal feature may only be cleared when the filesystem is\n"
+"unmounted or mounted read-only.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1094
+msgid ""
+"The needs_recovery flag is set.  Please run e2fsck before clearing\n"
+"the has_journal flag.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1112
+msgid ""
+"Setting filesystem feature 'sparse_super' not supported\n"
+"for filesystems with the meta_bg feature enabled.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1125
+msgid ""
+"The multiple mount protection feature can't\n"
+"be set if the filesystem is mounted or\n"
+"read-only.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1143
+#, c-format
+msgid "Multiple mount protection has been enabled with update interval %ds.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1152
+msgid ""
+"The multiple mount protection feature cannot\n"
+"be disabled if the filesystem is readonly.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1160
+msgid "Error while reading bitmaps\n"
+msgstr ""
+
+#: misc/tune2fs.c:1169
+#, c-format
+msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
+msgstr ""
+
+#: misc/tune2fs.c:1174
+msgid "while reading MMP block."
+msgstr ""
+
+#: misc/tune2fs.c:1206
+msgid ""
+"Clearing the flex_bg flag would cause the the filesystem to be\n"
+"inconsistent.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1217
+msgid ""
+"The huge_file feature may only be cleared when the filesystem is\n"
+"unmounted or mounted read-only.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1228
+msgid "Enabling checksums could take some time."
+msgstr ""
+
+#: misc/tune2fs.c:1230
+msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
+msgstr ""
+
+#: misc/tune2fs.c:1236
+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.  Re-run with -O extent to rectify.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1243
+msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1269
+msgid "Disabling checksums could take some time."
+msgstr ""
+
+#: misc/tune2fs.c:1271
+msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
+msgstr ""
+
+#: misc/tune2fs.c:1334
+#, c-format
+msgid "Cannot enable 64-bit mode while mounted!\n"
+msgstr ""
+
+#: misc/tune2fs.c:1344
+#, c-format
+msgid "Cannot disable 64-bit mode while mounted!\n"
+msgstr ""
+
+#: misc/tune2fs.c:1374
+#, c-format
+msgid "Cannot enable project feature; inode size too small.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1395
+msgid ""
+"\n"
+"Warning: '^quota' option overrides '-Q'arguments.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1405
+msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1419
+msgid ""
+"Setting feature 'metadata_csum_seed' is only supported\n"
+"on filesystems with the metadata_csum feature enabled.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1437
+msgid ""
+"UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
+"to safely rewrite all metadata to match the new UUID.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1443
+msgid "Recalculating checksums could take some time."
+msgstr ""
+
+#: misc/tune2fs.c:1485
+msgid "The filesystem already has a journal.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1505
+#, c-format
+msgid ""
+"\n"
+"\twhile trying to open journal on %s\n"
+msgstr ""
+
+#: misc/tune2fs.c:1509
+#, c-format
+msgid "Creating journal on device %s: "
+msgstr ""
+
+#: misc/tune2fs.c:1517
+#, c-format
+msgid "while adding filesystem to journal on %s"
+msgstr ""
+
+#: misc/tune2fs.c:1523
+msgid "Creating journal inode: "
+msgstr ""
+
+#: misc/tune2fs.c:1537
+msgid ""
+"\n"
+"\twhile trying to create journal file"
+msgstr ""
+
+#: misc/tune2fs.c:1575
+#, c-format
+msgid "Cannot enable project quota; inode size too small.\n"
+msgstr ""
+
+#: misc/tune2fs.c:1588
+msgid "while initializing quota context in support library"
+msgstr ""
+
+#: misc/tune2fs.c:1603
+#, c-format
+msgid "while updating quota limits (%d)"
+msgstr ""
+
+#: misc/tune2fs.c:1611
+#, c-format
+msgid "while writing quota file (%d)"
+msgstr ""
+
+#: misc/tune2fs.c:1629
+#, c-format
+msgid "while removing quota file (%d)"
+msgstr ""
+
+#: misc/tune2fs.c:1672
+msgid ""
+"\n"
+"Bad quota options specified.\n"
+"\n"
+"Following valid quota options are available (pass by separating with comma):\n"
+"\t[^]usr[quota]\n"
+"\t[^]grp[quota]\n"
+"\t[^]prj[quota]\n"
+"\n"
+"\n"
+msgstr ""
+
+#: misc/tune2fs.c:1730
+#, c-format
+msgid "Couldn't parse date/time specifier: %s"
+msgstr ""
+
+#: misc/tune2fs.c:1755 misc/tune2fs.c:1768
+#, c-format
+msgid "bad mounts count - %s"
+msgstr ""
+
+#: misc/tune2fs.c:1811
+#, c-format
+msgid "bad gid/group name - %s"
+msgstr ""
+
+#: misc/tune2fs.c:1844
+#, c-format
+msgid "bad interval - %s"
+msgstr ""
+
+#: misc/tune2fs.c:1873
+#, c-format
+msgid "bad reserved block ratio - %s"
+msgstr ""
+
+#: misc/tune2fs.c:1888
+msgid "-o may only be specified once"
+msgstr ""
+
+#: misc/tune2fs.c:1897
+msgid "-O may only be specified once"
+msgstr ""
+
+#: misc/tune2fs.c:1914
+#, c-format
+msgid "bad reserved blocks count - %s"
+msgstr ""
+
+#: misc/tune2fs.c:1943
+#, c-format
+msgid "bad uid/user name - %s"
+msgstr ""
+
+#: misc/tune2fs.c:1960
+#, c-format
+msgid "bad inode size - %s"
+msgstr ""
+
+#: misc/tune2fs.c:1967
+#, c-format
+msgid "Inode size must be a power of two- %s"
+msgstr ""
+
+#: misc/tune2fs.c:2064
+#, c-format
+msgid "mmp_update_interval too big: %lu\n"
+msgstr ""
+
+#: misc/tune2fs.c:2069
+#, c-format
+msgid "Setting multiple mount protection update interval to %lu second\n"
+msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc/tune2fs.c:2078
+#, c-format
+msgid "Setting filesystem error flag to force fsck.\n"
+msgstr ""
+
+#: misc/tune2fs.c:2096
+#, c-format
+msgid "Invalid RAID stride: %s\n"
+msgstr ""
+
+#: misc/tune2fs.c:2111
+#, c-format
+msgid "Invalid RAID stripe-width: %s\n"
+msgstr ""
+
+#: misc/tune2fs.c:2126
+#, c-format
+msgid "Invalid hash algorithm: %s\n"
+msgstr ""
+
+#: misc/tune2fs.c:2132
+#, c-format
+msgid "Setting default hash algorithm to %s (%d)\n"
+msgstr ""
+
+#: misc/tune2fs.c:2151
+msgid ""
+"\n"
+"Bad options specified.\n"
+"\n"
+"Extended options are separated by commas, and may take an argument which\n"
+"\tis set off by an equals ('=') sign.\n"
+"\n"
+"Valid extended options are:\n"
+"\tclear_mmp\n"
+"\thash_alg=<hash algorithm>\n"
+"\tmount_opts=<extended default mount options>\n"
+"\tmmp_update_interval=<mmp update interval in seconds>\n"
+"\tstride=<RAID per-disk chunk size in blocks>\n"
+"\tstripe_width=<RAID stride*data disks in blocks>\n"
+"\tforce_fsck\n"
+"\ttest_fs\n"
+"\t^test_fs\n"
+msgstr ""
+
+#: misc/tune2fs.c:2622
+msgid "Failed to read inode bitmap\n"
+msgstr ""
+
+#: misc/tune2fs.c:2627
+msgid "Failed to read block bitmap\n"
+msgstr ""
+
+#: misc/tune2fs.c:2644 resize/resize2fs.c:1277
+msgid "blocks to be moved"
+msgstr ""
+
+#: misc/tune2fs.c:2647
+msgid "Failed to allocate block bitmap when increasing inode size\n"
+msgstr ""
+
+#: misc/tune2fs.c:2653
+msgid "Not enough space to increase inode size \n"
+msgstr ""
+
+#: misc/tune2fs.c:2658
+msgid "Failed to relocate blocks during inode resize \n"
+msgstr ""
+
+#: misc/tune2fs.c:2690
+msgid ""
+"Error in resizing the inode size.\n"
+"Run e2undo to undo the file system changes. \n"
+msgstr ""
+
+#: misc/tune2fs.c:2900
+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:2907
+#, c-format
+msgid ""
+"MMP block magic is bad. Try to fix it by running:\n"
+"'e2fsck -f %s'\n"
+msgstr ""
+
+#: misc/tune2fs.c:2919
+msgid "Cannot modify a journal device.\n"
+msgstr ""
+
+#: misc/tune2fs.c:2932
+#, c-format
+msgid "The inode size is already %lu\n"
+msgstr ""
+
+#: misc/tune2fs.c:2939
+msgid "Shrinking inode size is not supported\n"
+msgstr ""
+
+#: misc/tune2fs.c:2944
+#, c-format
+msgid "Invalid inode size %lu (max %d)\n"
+msgstr ""
+
+#: misc/tune2fs.c:2950
+msgid "Resizing inodes could take some time."
+msgstr ""
+
+#: misc/tune2fs.c:2998
+#, c-format
+msgid ""
+"Warning: The journal is dirty. You may wish to replay the journal like:\n"
+"\n"
+"\te2fsck -E journal_only %s\n"
+"\n"
+"then rerun this command.  Otherwise, any changes made may be overwritten\n"
+"by journal recovery.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3009
+#, c-format
+msgid "Recovering journal.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3028
+#, c-format
+msgid "Setting maximal mount count to %d\n"
+msgstr ""
+
+#: misc/tune2fs.c:3034
+#, c-format
+msgid "Setting current mount count to %d\n"
+msgstr ""
+
+#: misc/tune2fs.c:3039
+#, c-format
+msgid "Setting error behavior to %d\n"
+msgstr ""
+
+#: misc/tune2fs.c:3044
+#, c-format
+msgid "Setting reserved blocks gid to %lu\n"
+msgstr ""
+
+#: misc/tune2fs.c:3049
+#, c-format
+msgid "interval between checks is too big (%lu)"
+msgstr ""
+
+#: misc/tune2fs.c:3056
+#, c-format
+msgid "Setting interval between checks to %lu seconds\n"
+msgstr ""
+
+#: misc/tune2fs.c:3063
+#, c-format
+msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
+msgstr ""
+
+#: misc/tune2fs.c:3069
+#, c-format
+msgid "reserved blocks count is too big (%llu)"
+msgstr ""
+
+#: misc/tune2fs.c:3076
+#, c-format
+msgid "Setting reserved blocks count to %llu\n"
+msgstr ""
+
+#: misc/tune2fs.c:3081
+msgid ""
+"\n"
+"The filesystem already has sparse superblocks.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3084
+msgid ""
+"\n"
+"Setting the sparse superblock flag not supported\n"
+"for filesystems with the meta_bg feature enabled.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3094
+#, c-format
+msgid ""
+"\n"
+"Sparse superblock flag set.  %s"
+msgstr ""
+
+#: misc/tune2fs.c:3099
+msgid ""
+"\n"
+"Clearing the sparse superblock flag not supported.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3107
+#, c-format
+msgid "Setting time filesystem last checked to %s\n"
+msgstr ""
+
+#: misc/tune2fs.c:3113
+#, c-format
+msgid "Setting reserved blocks uid to %lu\n"
+msgstr ""
+
+#: misc/tune2fs.c:3145
+msgid "Error in using clear_mmp. It must be used with -f\n"
+msgstr ""
+
+#: misc/tune2fs.c:3163
+msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3181
+msgid "Setting the UUID on this filesystem could take some time."
+msgstr ""
+
+#: misc/tune2fs.c:3196
+msgid "The UUID may only be changed when the filesystem is unmounted.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3199
+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:3229
+msgid "Invalid UUID format\n"
+msgstr ""
+
+#: misc/tune2fs.c:3245
+msgid "Need to update journal superblock.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3267
+msgid "The inode size may only be changed when the filesystem is unmounted.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3274
+msgid ""
+"Changing the inode size not supported for filesystems with the flex_bg\n"
+"feature enabled.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3292
+#, c-format
+msgid "Setting inode size %lu\n"
+msgstr ""
+
+#: misc/tune2fs.c:3296
+msgid "Failed to change inode size\n"
+msgstr ""
+
+#: misc/tune2fs.c:3310
+#, c-format
+msgid "Setting stride size to %d\n"
+msgstr ""
+
+#: misc/tune2fs.c:3315
+#, c-format
+msgid "Setting stripe width to %d\n"
+msgstr ""
+
+#: misc/tune2fs.c:3322
+#, c-format
+msgid "Setting extended default mount options to '%s'\n"
+msgstr ""
+
+#: misc/util.c:101
+msgid "<proceeding>\n"
+msgstr ""
+
+#: misc/util.c:105
+#, c-format
+msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
+msgstr ""
+
+#: misc/util.c:109
+msgid "Proceed anyway? (y,N) "
+msgstr ""
+
+#: misc/util.c:136
+msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
+msgstr ""
+
+#: misc/util.c:141
+#, c-format
+msgid "will not make a %s here!\n"
+msgstr ""
+
+#: misc/util.c:148
+msgid "mke2fs forced anyway.\n"
+msgstr ""
+
+#: misc/util.c:164
+msgid "Couldn't allocate memory to parse journal options!\n"
+msgstr ""
+
+#: misc/util.c:189
+#, c-format
+msgid ""
+"\n"
+"Could not find journal device matching %s\n"
+msgstr ""
+
+#: misc/util.c:216
+msgid ""
+"\n"
+"Bad journal options specified.\n"
+"\n"
+"Journal options are separated by commas, and may take an argument which\n"
+"\tis set off by an equals ('=') sign.\n"
+"\n"
+"Valid journal options are:\n"
+"\tsize=<journal size in megabytes>\n"
+"\tdevice=<journal device>\n"
+"\tlocation=<journal location>\n"
+"\n"
+"The journal size must be between 1024 and 10240000 filesystem blocks.\n"
+"\n"
+msgstr ""
+
+#: misc/util.c:247
+msgid ""
+"\n"
+"Filesystem too small for a journal\n"
+msgstr ""
+
+#: misc/util.c:254
+#, c-format
+msgid ""
+"\n"
+"The requested journal size is %d blocks; it must be\n"
+"between 1024 and 10240000 blocks.  Aborting.\n"
+msgstr ""
+"\n"
+"La dimension dal gjornâl domandade e je di %d blocs; e scugne stâ\n"
+"tra 1024 e 10240000 blocs.  Si interomp.\n"
+
+#: misc/util.c:262
+msgid ""
+"\n"
+"Journal size too big for filesystem.\n"
+msgstr ""
+"\n"
+"Dimension dal gjornâl masse grande pal filesystem.\n"
+
+#: misc/util.c:276
+#, c-format
+msgid ""
+"This filesystem will be automatically checked every %d mounts or\n"
+"%g days, whichever comes first.  Use tune2fs -c or -i to override.\n"
+msgstr ""
+
+#: misc/uuidd.c:49
+#, c-format
+msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n"
+msgstr "Ûs: %s [-d] [-p file_pid] [-s percorssocket] [-T timeout]\n"
+
+#: misc/uuidd.c:51
+#, c-format
+msgid "       %s [-r|t] [-n num] [-s socketpath]\n"
+msgstr "       %s [-r|t] [-n num] [-s percorssocket]\n"
+
+#: misc/uuidd.c:53
+#, c-format
+msgid "       %s -k\n"
+msgstr "       %s -k\n"
+
+#: misc/uuidd.c:155
+msgid "bad arguments"
+msgstr "argoments sbaliâts"
+
+#: misc/uuidd.c:173
+msgid "connect"
+msgstr ""
+
+#: misc/uuidd.c:192
+msgid "write"
+msgstr ""
+
+#: misc/uuidd.c:200
+msgid "read count"
+msgstr ""
+
+#: misc/uuidd.c:206
+msgid "bad response length"
+msgstr ""
+
+#: misc/uuidd.c:271
+#, c-format
+msgid "uuidd daemon already running at pid %s\n"
+msgstr "demoni uuidd za in esecuzion al pid %s\n"
+
+#: misc/uuidd.c:279
+#, c-format
+msgid "Couldn't create unix stream socket: %s"
+msgstr "Impussibil creâ un socket di flus unix: %s"
+
+#: misc/uuidd.c:308
+#, c-format
+msgid "Couldn't bind unix socket %s: %s\n"
+msgstr "Impussibil vincolâ il socket unix %s: %s\n"
+
+#: misc/uuidd.c:316
+#, c-format
+msgid "Couldn't listen on unix socket %s: %s\n"
+msgstr "Impussibil scoltâ sul socket unix %s: %s\n"
+
+#: misc/uuidd.c:354
+#, c-format
+msgid "Error reading from client, len = %d\n"
+msgstr ""
+
+#: misc/uuidd.c:362
+#, c-format
+msgid "operation %d, incoming num = %d\n"
+msgstr ""
+
+#: misc/uuidd.c:381
+#, c-format
+msgid "Generated time UUID: %s\n"
+msgstr ""
+
+#: misc/uuidd.c:391
+#, c-format
+msgid "Generated random UUID: %s\n"
+msgstr ""
+
+#: misc/uuidd.c:400
+#, c-format
+msgid "Generated time UUID %s and subsequent UUID\n"
+msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc/uuidd.c:421
+#, c-format
+msgid "Generated %d UUID's:\n"
+msgstr ""
+
+#: misc/uuidd.c:433
+#, c-format
+msgid "Invalid operation %d\n"
+msgstr ""
+
+#: misc/uuidd.c:477 misc/uuidd.c:499
+#, c-format
+msgid "Bad number: %s\n"
+msgstr ""
+
+#: misc/uuidd.c:534 misc/uuidd.c:563
+#, c-format
+msgid "Error calling uuidd daemon (%s): %s\n"
+msgstr ""
+
+#: misc/uuidd.c:544
+#, c-format
+msgid "%s and subsequent UUID\n"
+msgid_plural "%s and subsequent %d UUIDs\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: misc/uuidd.c:548
+msgid "List of UUID's:\n"
+msgstr ""
+
+#: misc/uuidd.c:569
+#, c-format
+msgid "Unexpected reply length from server %d\n"
+msgstr ""
+
+#: misc/uuidd.c:586
+#, c-format
+msgid "Couldn't kill uuidd running at pid %d: %s\n"
+msgstr ""
+
+#: misc/uuidd.c:592
+#, c-format
+msgid "Killed uuidd running at pid %d\n"
+msgstr ""
+
+#: misc/uuidgen.c:32
+#, c-format
+msgid "Usage: %s [-r] [-t]\n"
+msgstr ""
+
+#: resize/extent.c:202
+msgid "# Extent dump:\n"
+msgstr ""
+
+#: resize/extent.c:203
+#, c-format
+msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
+msgstr ""
+
+#: resize/main.c:49
+#, c-format
+msgid ""
+"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [-b|-s|new_size] [-S RAID-stride] [-z undo_file]\n"
+"\n"
+msgstr ""
+
+#: resize/main.c:73
+msgid "Extending the inode table"
+msgstr ""
+
+#: resize/main.c:76
+msgid "Relocating blocks"
+msgstr ""
+
+#: resize/main.c:79
+msgid "Scanning inode table"
+msgstr ""
+
+#: resize/main.c:82
+msgid "Updating inode references"
+msgstr ""
+
+#: resize/main.c:85
+msgid "Moving inode table"
+msgstr ""
+
+#: resize/main.c:88
+msgid "Unknown pass?!?"
+msgstr ""
+
+#: resize/main.c:91
+#, c-format
+msgid "Begin pass %d (max = %lu)\n"
+msgstr ""
+
+#: resize/main.c:163
+msgid ""
+"\n"
+"Resizing bigalloc file systems has not been fully tested.  Proceed at\n"
+"your own risk!  Use the force option if you want to go ahead anyway.\n"
+"\n"
+msgstr ""
+
+#: resize/main.c:366
+#, c-format
+msgid "while opening %s"
+msgstr ""
+
+#: resize/main.c:374
+#, c-format
+msgid "while getting stat information for %s"
+msgstr ""
+
+#: resize/main.c:451
+#, c-format
+msgid ""
+"Please run 'e2fsck -f %s' first.\n"
+"\n"
+msgstr ""
+
+#: resize/main.c:470
+#, c-format
+msgid "Estimated minimum size of the filesystem: %llu\n"
+msgstr ""
+
+#: resize/main.c:507
+#, c-format
+msgid "Invalid new size: %s\n"
+msgstr ""
+
+#: resize/main.c:526
+msgid "New size too large to be expressed in 32 bits\n"
+msgstr ""
+
+#: resize/main.c:534
+#, c-format
+msgid "New size smaller than minimum (%llu)\n"
+msgstr ""
+
+#: resize/main.c:540
+msgid "Invalid stride length"
+msgstr ""
+
+#: resize/main.c:564
+#, c-format
+msgid ""
+"The containing partition (or device) is only %llu (%dk) blocks.\n"
+"You requested a new size of %llu blocks.\n"
+"\n"
+msgstr ""
+
+#: resize/main.c:571
+#, c-format
+msgid "Cannot set and unset 64bit feature.\n"
+msgstr ""
+
+#: resize/main.c:575
+#, c-format
+msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
+msgstr ""
+
+#: resize/main.c:581
+#, c-format
+msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
+msgstr ""
+
+#: resize/main.c:587
+#, c-format
+msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
+msgstr ""
+
+#: resize/main.c:593
+#, c-format
+msgid ""
+"The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
+"\n"
+msgstr ""
+
+#: resize/main.c:600
+#, c-format
+msgid "The filesystem is already 64-bit.\n"
+msgstr ""
+
+#: resize/main.c:605
+#, c-format
+msgid "The filesystem is already 32-bit.\n"
+msgstr ""
+
+#: resize/main.c:613
+#, c-format
+msgid "Converting the filesystem to 64-bit.\n"
+msgstr ""
+
+#: resize/main.c:615
+#, c-format
+msgid "Converting the filesystem to 32-bit.\n"
+msgstr ""
+
+#: resize/main.c:617
+#, c-format
+msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
+msgstr ""
+
+#: resize/main.c:626
+#, c-format
+msgid "while trying to resize %s"
+msgstr ""
+
+#: resize/main.c:629
+#, c-format
+msgid ""
+"Please run 'e2fsck -fy %s' to fix the filesystem\n"
+"after the aborted resize operation.\n"
+msgstr ""
+
+#: resize/main.c:635
+#, c-format
+msgid ""
+"The filesystem on %s is now %llu (%dk) blocks long.\n"
+"\n"
+msgstr ""
+
+#: resize/main.c:650
+#, c-format
+msgid "while trying to truncate %s"
+msgstr ""
+
+#: resize/online.c:81
+msgid "kernel does not support online resize with sparse_super2"
+msgstr ""
+
+#: resize/online.c:86
+#, c-format
+msgid "Filesystem at %s is mounted on %s; on-line resizing required\n"
+msgstr ""
+
+#: resize/online.c:90
+msgid "On-line shrinking not supported"
+msgstr ""
+
+#: resize/online.c:114
+msgid "Filesystem does not support online resizing"
+msgstr ""
+
+#: resize/online.c:122
+msgid "Not enough reserved gdt blocks for resizing"
+msgstr ""
+
+#: resize/online.c:129
+msgid "Kernel does not support resizing a file system this large"
+msgstr ""
+
+#: resize/online.c:137
+#, c-format
+msgid "while trying to open mountpoint %s"
+msgstr ""
+
+#: resize/online.c:142
+#, c-format
+msgid "Old resize interface requested.\n"
+msgstr ""
+
+#: resize/online.c:161 resize/online.c:178
+msgid "Permission denied to resize filesystem"
+msgstr ""
+
+#: resize/online.c:164 resize/online.c:184
+msgid "While checking for on-line resizing support"
+msgstr ""
+
+#: resize/online.c:181
+msgid "Kernel does not support online resizing"
+msgstr ""
+
+#: resize/online.c:220
+#, c-format
+msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
+msgstr ""
+
+#: resize/online.c:230
+msgid "While trying to extend the last group"
+msgstr ""
+
+#: resize/online.c:277
+#, c-format
+msgid "While trying to add group #%d"
+msgstr ""
+
+#: resize/online.c:288
+#, c-format
+msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
+msgstr ""
+
+#: resize/resize2fs.c:759
+#, c-format
+msgid "inodes (%llu) must be less than %u\n"
+msgstr ""
+
+#: resize/resize2fs.c:1038
+msgid "reserved blocks"
+msgstr ""
+
+#: resize/resize2fs.c:1282
+msgid "meta-data blocks"
+msgstr ""
+
+#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+msgid "new meta blocks"
+msgstr ""
+
+#: resize/resize2fs.c:2644
+msgid "Should never happen!  No sb in last super_sparse bg?\n"
+msgstr ""
+
+#: resize/resize2fs.c:2649
+msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
+msgstr ""
+
+#: resize/resize2fs.c:2722
+msgid "Should never happen: resize inode corrupt!\n"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:11
+msgid "EXT2FS Library version 1.45.3"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:12
+msgid "Wrong magic number for ext2_filsys structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:13
+msgid "Wrong magic number for badblocks_list structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:14
+msgid "Wrong magic number for badblocks_iterate structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:15
+msgid "Wrong magic number for inode_scan structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:16
+msgid "Wrong magic number for io_channel structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:17
+msgid "Wrong magic number for unix io_channel structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:18
+msgid "Wrong magic number for io_manager structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:19
+msgid "Wrong magic number for block_bitmap structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:20
+msgid "Wrong magic number for inode_bitmap structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:21
+msgid "Wrong magic number for generic_bitmap structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:22
+msgid "Wrong magic number for test io_channel structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:23
+msgid "Wrong magic number for directory block list structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:24
+msgid "Wrong magic number for icount structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:25
+msgid "Wrong magic number for Powerquest io_channel structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:26
+msgid "Wrong magic number for ext2 file structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:27
+msgid "Wrong magic number for Ext2 Image Header"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:28
+msgid "Wrong magic number for inode io_channel structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:29
+msgid "Wrong magic number for ext4 extent handle"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:30
+msgid "Bad magic number in super-block"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:31
+msgid "Filesystem revision too high"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:32
+msgid "Attempt to write to filesystem opened read-only"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:33
+msgid "Can't read group descriptors"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:34
+msgid "Can't write group descriptors"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:35
+msgid "Corrupt group descriptor: bad block for block bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:36
+msgid "Corrupt group descriptor: bad block for inode bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:37
+msgid "Corrupt group descriptor: bad block for inode table"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:38
+msgid "Can't write an inode bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:39
+msgid "Can't read an inode bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:40
+msgid "Can't write a block bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:41
+msgid "Can't read a block bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:42
+msgid "Can't write an inode table"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:43
+msgid "Can't read an inode table"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:44
+msgid "Can't read next inode"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:45
+msgid "Filesystem has unexpected block size"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:46
+msgid "EXT2 directory corrupted"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:47
+msgid "Attempt to read block from filesystem resulted in short read"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:48
+msgid "Attempt to write block to filesystem resulted in short write"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:49
+msgid "No free space in the directory"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:50
+msgid "Inode bitmap not loaded"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:51
+msgid "Block bitmap not loaded"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:52
+msgid "Illegal inode number"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:53
+msgid "Illegal block number"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:54
+msgid "Internal error in ext2fs_expand_dir"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:55
+msgid "Not enough space to build proposed filesystem"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:56
+msgid "Illegal block number passed to ext2fs_mark_block_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:57
+msgid "Illegal block number passed to ext2fs_unmark_block_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:58
+msgid "Illegal block number passed to ext2fs_test_block_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:59
+msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:60
+msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:61
+msgid "Illegal inode number passed to ext2fs_test_inode_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:62
+msgid "Attempt to fudge end of block bitmap past the real end"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:63
+msgid "Attempt to fudge end of inode bitmap past the real end"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:64
+msgid "Illegal indirect block found"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:65
+msgid "Illegal doubly indirect block found"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:66
+msgid "Illegal triply indirect block found"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:67
+msgid "Block bitmaps are not the same"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:68
+msgid "Inode bitmaps are not the same"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:69
+msgid "Illegal or malformed device name"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:70
+msgid "A block group is missing an inode table"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:71
+msgid "The ext2 superblock is corrupt"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:72
+msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:73
+msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:74
+msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:75
+msgid "Too many symbolic links encountered."
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:76
+msgid "The callback function will not handle this case"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:77
+msgid "The inode is from a bad block in the inode table"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:78
+msgid "Filesystem has unsupported feature(s)"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:79
+msgid "Filesystem has unsupported read-only feature(s)"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:80
+msgid "IO Channel failed to seek on read or write"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:81
+msgid "Memory allocation failed"
+msgstr "Assegnazion memorie falide"
+
+#: lib/ext2fs/ext2_err.c:82
+msgid "Invalid argument passed to ext2 library"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:83
+msgid "Could not allocate block in ext2 filesystem"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:84
+msgid "Could not allocate inode in ext2 filesystem"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:85
+msgid "Ext2 inode is not a directory"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:86
+msgid "Too many references in table"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:87
+msgid "File not found by ext2_lookup"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:88
+msgid "File open read-only"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:89
+msgid "Ext2 directory block not found"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:90
+msgid "Ext2 directory already exists"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:91
+msgid "Unimplemented ext2 library function"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:92
+msgid "User cancel requested"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:93
+msgid "Ext2 file too big"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:94
+msgid "Supplied journal device not a block device"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:95
+msgid "Journal superblock not found"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:96
+msgid "Journal must be at least 1024 blocks"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:97
+msgid "Unsupported journal version"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:98
+msgid "Error loading external journal"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:99
+msgid "Journal not found"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:100
+msgid "Directory hash unsupported"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:101
+msgid "Illegal extended attribute block number"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:102
+msgid "Cannot create filesystem with requested number of inodes"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:103
+msgid "E2image snapshot not in use"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:104
+msgid "Too many reserved group descriptor blocks"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:105
+msgid "Resize inode is corrupt"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:106
+msgid "Tried to set block bmap with missing indirect block"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:107
+msgid "TDB: Success"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:108
+msgid "TDB: Corrupt database"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:109
+msgid "TDB: IO Error"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:110
+msgid "TDB: Locking error"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:111
+msgid "TDB: Out of memory"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:112
+msgid "TDB: Record exists"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:113
+msgid "TDB: Lock exists on other keys"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:114
+msgid "TDB: Invalid parameter"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:115
+msgid "TDB: Record does not exist"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:116
+msgid "TDB: Write not permitted"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:117
+msgid "Ext2fs directory block list is empty"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:118
+msgid "Attempt to modify a block mapping via a read-only block iterator"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:119
+msgid "Wrong magic number for ext4 extent saved path"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:120
+msgid "Wrong magic number for 64-bit generic bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:121
+msgid "Wrong magic number for 64-bit block bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:122
+msgid "Wrong magic number for 64-bit inode bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:123
+msgid "Wrong magic number --- RESERVED_13"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:124
+msgid "Wrong magic number --- RESERVED_14"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:125
+msgid "Wrong magic number --- RESERVED_15"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:126
+msgid "Wrong magic number --- RESERVED_16"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:127
+msgid "Wrong magic number --- RESERVED_17"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:128
+msgid "Wrong magic number --- RESERVED_18"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:129
+msgid "Wrong magic number --- RESERVED_19"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:130
+msgid "Corrupt extent header"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:131
+msgid "Corrupt extent index"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:132
+msgid "Corrupt extent"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:133
+msgid "No free space in extent map"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:134
+msgid "Inode does not use extents"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:135
+msgid "No 'next' extent"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:136
+msgid "No 'previous' extent"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:137
+msgid "No 'up' extent"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:138
+msgid "No 'down' extent"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:139
+msgid "No current node"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:140
+msgid "Ext2fs operation not supported"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:141
+msgid "No room to insert extent in node"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:142
+msgid "Splitting would result in empty node"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:143
+msgid "Extent not found"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:144
+msgid "Operation not supported for inodes containing extents"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:145
+msgid "Extent length is invalid"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:146
+msgid "I/O Channel does not support 64-bit block numbers"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:147
+msgid "Can't check if filesystem is mounted due to missing mtab file"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:148
+msgid "Filesystem too large to use legacy bitmaps"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:149
+msgid "MMP: invalid magic number"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:150
+msgid "MMP: device currently active"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:151
+msgid "MMP: e2fsck being run"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:152
+msgid "MMP: block number beyond filesystem range"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:153
+msgid "MMP: undergoing an unknown operation"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:154
+msgid "MMP: filesystem still in use"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:155
+msgid "MMP: open with O_DIRECT failed"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:156
+msgid "Block group descriptor size incorrect"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:157
+msgid "Inode checksum does not match inode"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:158
+msgid "Inode bitmap checksum does not match bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:159
+msgid "Extent block checksum does not match extent block"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:160
+msgid "Directory block does not have space for checksum"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:161
+msgid "Directory block checksum does not match directory block"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:162
+msgid "Extended attribute block checksum does not match block"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:163
+msgid "Superblock checksum does not match superblock"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:164
+msgid "Unknown checksum algorithm"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:165
+msgid "MMP block checksum does not match"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:166
+msgid "Ext2 file already exists"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:167
+msgid "Block bitmap checksum does not match bitmap"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:168
+msgid "Cannot iterate data blocks of an inode containing inline data"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:169
+msgid "Extended attribute has an invalid name length"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:170
+msgid "Extended attribute has an invalid value length"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:171
+msgid "Extended attribute has an incorrect hash"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:172
+msgid "Extended attribute block has a bad header"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:173
+msgid "Extended attribute key not found"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:174
+msgid "Insufficient space to store extended attribute data"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:175
+msgid "Filesystem is missing ext_attr or inline_data feature"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:176
+msgid "Inode doesn't have inline data"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:177
+msgid "No block for an inode with inline data"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:178
+msgid "No free space in inline data"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:179
+msgid "Wrong magic number for extended attribute structure"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:180
+msgid "Inode seems to contain garbage"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:181
+msgid "Extended attribute has an invalid value offset"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:182
+msgid "Journal flags inconsistent"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:183
+msgid "Undo file corrupt"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:184
+msgid "Wrong undo file for this filesystem"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:185
+msgid "File system is corrupted"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:186
+msgid "Bad CRC detected in file system"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:187
+msgid "The journal superblock is corrupt"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:188
+msgid "Inode is corrupted"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:189
+msgid "Inode containing extended attribute value is corrupted"
+msgstr ""
+
+#: lib/support/prof_err.c:11
+msgid "Profile version 0.0"
+msgstr ""
+
+#: lib/support/prof_err.c:12
+msgid "Bad magic value in profile_node"
+msgstr ""
+
+#: lib/support/prof_err.c:13
+msgid "Profile section not found"
+msgstr ""
+
+#: lib/support/prof_err.c:14
+msgid "Profile relation not found"
+msgstr ""
+
+#: lib/support/prof_err.c:15
+msgid "Attempt to add a relation to node which is not a section"
+msgstr ""
+
+#: lib/support/prof_err.c:16
+msgid "A profile section header has a non-zero value"
+msgstr ""
+
+#: lib/support/prof_err.c:17
+msgid "Bad linked list in profile structures"
+msgstr ""
+
+#: lib/support/prof_err.c:18
+msgid "Bad group level in profile structures"
+msgstr ""
+
+#: lib/support/prof_err.c:19
+msgid "Bad parent pointer in profile structures"
+msgstr ""
+
+#: lib/support/prof_err.c:20
+msgid "Bad magic value in profile iterator"
+msgstr ""
+
+#: lib/support/prof_err.c:21
+msgid "Can't set value on section node"
+msgstr ""
+
+#: lib/support/prof_err.c:22
+msgid "Invalid argument passed to profile library"
+msgstr ""
+
+#: lib/support/prof_err.c:23
+msgid "Attempt to modify read-only profile"
+msgstr ""
+
+#: lib/support/prof_err.c:24
+msgid "Profile section header not at top level"
+msgstr ""
+
+#: lib/support/prof_err.c:25
+msgid "Syntax error in profile section header"
+msgstr ""
+
+#: lib/support/prof_err.c:26
+msgid "Syntax error in profile relation"
+msgstr ""
+
+#: lib/support/prof_err.c:27
+msgid "Extra closing brace in profile"
+msgstr ""
+
+#: lib/support/prof_err.c:28
+msgid "Missing open brace in profile"
+msgstr ""
+
+#: lib/support/prof_err.c:29
+msgid "Bad magic value in profile_t"
+msgstr ""
+
+#: lib/support/prof_err.c:30
+msgid "Bad magic value in profile_section_t"
+msgstr ""
+
+#: lib/support/prof_err.c:31
+msgid "Iteration through all top level section not supported"
+msgstr ""
+
+#: lib/support/prof_err.c:32
+msgid "Invalid profile_section object"
+msgstr ""
+
+#: lib/support/prof_err.c:33
+msgid "No more sections"
+msgstr ""
+
+#: lib/support/prof_err.c:34
+msgid "Bad nameset passed to query routine"
+msgstr ""
+
+#: lib/support/prof_err.c:35
+msgid "No profile file open"
+msgstr ""
+
+#: lib/support/prof_err.c:36
+msgid "Bad magic value in profile_file_t"
+msgstr ""
+
+#: lib/support/prof_err.c:37
+msgid "Couldn't open profile file"
+msgstr ""
+
+#: lib/support/prof_err.c:38
+msgid "Section already exists"
+msgstr ""
+
+#: lib/support/prof_err.c:39
+msgid "Invalid boolean value"
+msgstr ""
+
+#: lib/support/prof_err.c:40
+msgid "Invalid integer value"
+msgstr ""
+
+#: lib/support/prof_err.c:41
+msgid "Bad magic value in profile_file_data_t"
+msgstr ""
+
+#: lib/support/plausible.c:118
+#, c-format
+msgid "\tlast mounted on %s on %s"
+msgstr ""
+
+#: lib/support/plausible.c:121
+#, c-format
+msgid "\tlast mounted on %s"
+msgstr ""
+
+#: lib/support/plausible.c:124
+#, c-format
+msgid "\tcreated on %s"
+msgstr ""
+
+#: lib/support/plausible.c:127
+#, c-format
+msgid "\tlast modified on %s"
+msgstr ""
+
+#: lib/support/plausible.c:161
+#, c-format
+msgid "Found a %s partition table in %s\n"
+msgstr ""
+
+#: lib/support/plausible.c:191
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr ""
+
+#: lib/support/plausible.c:199
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr ""
+
+#: lib/support/plausible.c:202
+#, c-format
+msgid "Could not open %s: %s\n"
+msgstr "Impussibil vierzi %s: %s\n"
+
+#: lib/support/plausible.c:205
+msgid ""
+"\n"
+"The device apparently does not exist; did you specify it correctly?\n"
+msgstr ""
+
+#: lib/support/plausible.c:227
+#, c-format
+msgid "%s is not a block special device.\n"
+msgstr ""
+
+#: lib/support/plausible.c:249
+#, c-format
+msgid "%s contains a %s file system labelled '%s'\n"
+msgstr ""
+
+#: lib/support/plausible.c:252
+#, c-format
+msgid "%s contains a %s file system\n"
+msgstr ""
+
+#: lib/support/plausible.c:276
+#, c-format
+msgid "%s contains `%s' data\n"
+msgstr ""
diff --git a/po/ms.gmo b/po/ms.gmo
index e3ae66c..fa6ef80 100644
--- a/po/ms.gmo
+++ b/po/ms.gmo
Binary files differ
diff --git a/po/ms.po b/po/ms.po
index da0bdbf..27ebbcb 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -1,7 +1,7 @@
 # e2fsprogs Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2008, 2009, 2015, 2018, 2019, 2020, 2021 Theodore Tso (msgids)
+# Copyright (C) 2008, 2009, 2015, 2018, 2019, 2020, 2021, 2022, 2023 Theodore Tso (msgids)
 # This file is distributed under the same license as the e2fsprogs package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2008, 2009, 2015, 2018, 2019, 2020, 2021.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2008, 2009, 2015, 2018, 2019, 2020, 2021, 2022, 2023.
 #
 #. 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,
@@ -74,21 +74,21 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs 1.45.3\n"
+"Project-Id-Version: e2fsprogs 1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2019-07-14 20:56-0400\n"
-"PO-Revision-Date: 2021-01-31 11:41+0800\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2023-01-28 23:57+0800\n"
 "Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
 "Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
 "Language: ms\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.4.2\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Blok buruk %u diluar julat; diabaikan.\n"
@@ -102,36 +102,36 @@
 msgid "while reading the bad blocks inode"
 msgstr "ketika membaca dalam senarai blok buruk dari fail"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:688 misc/dumpe2fs.c:692 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2796 misc/tune2fs.c:2895 resize/main.c:414
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, fuzzy, c-format
 msgid "while trying to open %s"
-msgstr "ketika cuba untuk membuka titiklekap %s"
+msgstr "Ralat tidak diketahui berlaku bila cuba membuka \"%s\"."
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, fuzzy, c-format
 msgid "while trying popen '%s'"
 msgstr "ketika cuba untuk stat %s"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "ketika membaca dalam senarai blok buruk dari fail"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 #, fuzzy
 msgid "while updating bad block inode"
 msgstr "ketika menetapkan inod blok buruk"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Amaran: blok tidak sah %u terdapat di dalam blok inode buruk. Dibersihkan.\n"
 
-#: e2fsck/dirinfo.c:331
+#: e2fsck/dirinfo.c:332
 msgid "while freeing dir_info tdb file"
 msgstr "ketika membebaskan fail dir_info tdb"
 
@@ -148,12 +148,12 @@
 #: e2fsck/ehandler.c:66 e2fsck/ehandler.c:115
 #, fuzzy
 msgid "Ignore error"
-msgstr "Abai Semua"
+msgstr "Abai ralat dan teruskan ke modul berikutnya"
 
 #: e2fsck/ehandler.c:67
 #, fuzzy
 msgid "Force rewrite"
-msgstr "Paksa teks LTR"
+msgstr "Gagal menulis semula pengepala\n"
 
 #: e2fsck/ehandler.c:109
 #, fuzzy, c-format
@@ -165,17 +165,17 @@
 msgid "Error writing block %lu (%s).  "
 msgstr "Ralat membaca blok %lu (%s) ketika %s.  "
 
-#: e2fsck/emptydir.c:57
+#: e2fsck/emptydir.c:56
 #, fuzzy
 msgid "empty dirblocks"
-msgstr "%%empty pada hukum bukan kosong"
+msgstr "Kosong"
 
-#: e2fsck/emptydir.c:62
+#: e2fsck/emptydir.c:61
 #, fuzzy
 msgid "empty dir map"
-msgstr "Tiada ruang bebas dalam peta takat"
+msgstr "Mencipta peta kosong..."
 
-#: e2fsck/emptydir.c:98
+#: e2fsck/emptydir.c:97
 #, c-format
 msgid "Empty directory block %u (#%d) in inode %u\n"
 msgstr "Blok direktori kosong %u (#%d) dalam inode %u\n"
@@ -185,12 +185,12 @@
 msgid "%s: %s filename nblocks blocksize\n"
 msgstr "Parameter saiz blok tidak sah: %s\n"
 
-#: e2fsck/extend.c:44
+#: e2fsck/extend.c:45
 #, fuzzy, c-format
 msgid "Illegal number of blocks!\n"
-msgstr "Tetapkan bilangan blok pada setiap tepian"
+msgstr "Nombor tidak sah untuk saiz flex_bg"
 
-#: e2fsck/extend.c:50
+#: e2fsck/extend.c:51
 #, c-format
 msgid "Couldn't allocate block buffer (size=%d)\n"
 msgstr ""
@@ -203,87 +203,57 @@
 #: e2fsck/flushb.c:35
 #, fuzzy, c-format
 msgid "Usage: %s disk\n"
-msgstr "%s\t\tPenggunaan Kekunci (%s):\n"
+msgstr "Penggunaan cakera"
 
 #: e2fsck/flushb.c:64
 #, c-format
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr ""
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr ""
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, fuzzy, c-format
-msgid "while opening %s for flushing"
-msgstr "ketika membuka %s"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:383
-#, fuzzy, c-format
-msgid "while trying to flush %s"
-msgstr "ketika cuba untuk melaksana '%s'"
-
-#: e2fsck/iscan.c:110
-#, fuzzy, c-format
-msgid "while trying to open '%s'"
-msgstr "ketika cuba untuk membuka titiklekap %s"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-#, fuzzy
-msgid "while opening inode scan"
-msgstr "ketika memulakan pengesanan inod"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-#, fuzzy
-msgid "while getting next inode"
-msgstr "ketika membaca inod root"
-
-#: e2fsck/iscan.c:136
-#, fuzzy, c-format
-msgid "%u inodes scanned.\n"
-msgstr ", %u inod tidak digunakan\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 #, fuzzy
 msgid "reading journal superblock\n"
 msgstr "ketika membaca superblok jurnal"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, fuzzy, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "Superblok jurnal tidak dijumpai!\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, fuzzy, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: fail terlalu pendek untuk menjadi fail gmon\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3792
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr ""
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, fuzzy, c-format
 msgid "%s: recovering journal\n"
 msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr ""
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, fuzzy, c-format
 msgid "while trying to re-open %s"
-msgstr "ketika cuba untuk membuka titiklekap %s"
+msgstr "Ralat tidak diketahui berlaku bila cuba membuka \"%s\"."
 
 #: e2fsck/message.c:116
 #, fuzzy
 msgid "aextended attribute"
-msgstr "\t\tSifat %s yang tidak diketahui:\n"
+msgstr "Atribut:"
 
 #: e2fsck/message.c:117
 #, fuzzy
 msgid "Aerror allocating"
-msgstr "ketika mengumpukkan penimbal"
+msgstr "Memperuntuk Imej Cakera"
 
 #: e2fsck/message.c:118
 msgid "bblock"
@@ -316,7 +286,7 @@
 #: e2fsck/message.c:125
 #, fuzzy
 msgid "E@e '%Dn' in %p (%i)"
-msgstr "Sedang Diguna"
+msgstr "hari ini pada %-I:%M %p"
 
 #: e2fsck/message.c:126
 msgid "ffilesystem"
@@ -325,7 +295,7 @@
 #: e2fsck/message.c:127
 #, fuzzy
 msgid "Ffor @i %i (%Q) is"
-msgstr "@i %i (%Q) adalah @I FIFO.\n"
+msgstr "Symlink %Q (@i #%i) adalah @n.\n"
 
 #: e2fsck/message.c:128
 msgid "ggroup"
@@ -334,7 +304,7 @@
 #: e2fsck/message.c:129
 #, fuzzy
 msgid "hHTREE @d @i"
-msgstr "/@l adalah bukan sejenis @d (ino=%i)\n"
+msgstr "Yahoo I_D:"
 
 #: e2fsck/message.c:130
 msgid "iinode"
@@ -351,12 +321,12 @@
 #: e2fsck/message.c:133
 #, fuzzy
 msgid "llost+found"
-msgstr "\"%s\" tidak dijumpai"
+msgstr "Tidak dijumpai."
 
 #: e2fsck/message.c:134
 #, fuzzy
 msgid "Lis a link"
-msgstr "Pautan ke %s\n"
+msgstr "Fleur De Lis"
 
 #: e2fsck/message.c:135
 msgid "mmultiply-claimed"
@@ -372,7 +342,7 @@
 
 #: e2fsck/message.c:138
 msgid "pproblem in"
-msgstr "pproblem dalam"
+msgstr "pmasalah dalam"
 
 #: e2fsck/message.c:139
 msgid "qquota"
@@ -381,7 +351,7 @@
 #: e2fsck/message.c:140
 #, fuzzy
 msgid "rroot @i"
-msgstr "@u @z @i %i.  "
+msgstr "%i%%"
 
 #: e2fsck/message.c:141
 #, fuzzy
@@ -407,12 +377,12 @@
 #: e2fsck/message.c:146
 #, fuzzy
 msgid "zzero-length"
-msgstr "panjang pita tidak sah"
+msgstr "Mengikut Pan_jang"
 
 #: e2fsck/message.c:157
 #, fuzzy
 msgid "<The NULL inode>"
-msgstr "aksara null tidak sah"
+msgstr "kosong"
 
 #: e2fsck/message.c:158
 #, fuzzy
@@ -422,105 +392,103 @@
 #: e2fsck/message.c:160
 #, fuzzy
 msgid "<The user quota inode>"
-msgstr ""
-"\n"
-"  Jadual inode di"
+msgstr "Kuota penggunaan"
 
 #: e2fsck/message.c:161
 #, fuzzy
 msgid "<The group quota inode>"
-msgstr ", Penerangan kumpulan di "
+msgstr "Satu kumpulan blok kehilangan jadual inode"
 
 #: e2fsck/message.c:162
 #, fuzzy
 msgid "<The boot loader inode>"
-msgstr "tak dapat masa but"
+msgstr "Pemuat plugin"
 
 #: e2fsck/message.c:163
 #, fuzzy
 msgid "<The undelete directory inode>"
-msgstr "direktori"
+msgstr "Inode Ext2 adalah bukan direktori"
 
 #: e2fsck/message.c:164
 #, fuzzy
 msgid "<The group descriptor inode>"
-msgstr " Penghurai kumpulan di"
+msgstr " Penghurai kumpulan di "
 
 #: e2fsck/message.c:165
 #, fuzzy
 msgid "<The journal inode>"
-msgstr "Mencipta inode jurnal:"
+msgstr "Mencipta inode jurnal: "
 
 #: e2fsck/message.c:166
 #, fuzzy
 msgid "<Reserved inode 9>"
-msgstr "blok dikhaskan"
+msgstr "9"
 
 #: e2fsck/message.c:167
 #, fuzzy
 msgid "<Reserved inode 10>"
-msgstr "blok dikhaskan"
+msgstr "Simpanan"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "fail biasa"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "direktori"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 #, fuzzy
 msgid "character device"
-msgstr "aksara"
+msgstr "Peranti aksara"
+
+#: e2fsck/message.c:331
+#, fuzzy
+msgid "block device"
+msgstr "Peranti blok"
 
 #: e2fsck/message.c:333
 #, fuzzy
-msgid "block device"
-msgstr "%s adalah bukan peranti khas.\n"
+msgid "named pipe"
+msgstr "(paip)"
 
 #: e2fsck/message.c:335
-#, fuzzy
-msgid "named pipe"
-msgstr "fail dinamakan"
-
-#: e2fsck/message.c:337
 msgid "symbolic link"
 msgstr "pautan simbolik"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "soket"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr ""
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 #, fuzzy
 msgid "indirect block"
-msgstr "<anak tidak terus>"
+msgstr "Blok tidak langsung dua kali yang tidak sah dijumpai"
+
+#: e2fsck/message.c:412
+#, fuzzy
+msgid "double indirect block"
+msgstr "Blok tidak langsung dua kali yang tidak sah dijumpai"
 
 #: e2fsck/message.c:414
 #, fuzzy
-msgid "double indirect block"
-msgstr "berganda"
+msgid "triple indirect block"
+msgstr "Blok tidak langsung dua kali yang tidak sah dijumpai"
 
 #: e2fsck/message.c:416
 #, fuzzy
-msgid "triple indirect block"
-msgstr "<anak tidak terus>"
+msgid "translator block"
+msgstr "Blok"
 
 #: e2fsck/message.c:418
 #, fuzzy
-msgid "translator block"
-msgstr "blok terakhir"
-
-#: e2fsck/message.c:420
-#, fuzzy
 msgid "block #"
-msgstr "blok terakhir"
+msgstr "Blok"
 
 #: e2fsck/message.c:482
 msgid "user"
@@ -529,150 +497,161 @@
 #: e2fsck/message.c:485
 #, fuzzy
 msgid "group"
-msgstr "tak dapat menukar ke kumpulan null"
+msgstr "Kumpulan"
 
 #: e2fsck/message.c:488
+#, fuzzy
 msgid "project"
-msgstr ""
+msgstr "Projek:"
 
 #: e2fsck/message.c:491
 #, fuzzy
 #| msgid "unknown os - %s"
 msgid "unknown quota type"
-msgstr "Jenis kandungan struktur PKCS tidak diketahui."
+msgstr "Jenis tidak diketahui"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr ""
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:826
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr ""
 
-#: e2fsck/pass1b.c:952
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr ""
 
-#: e2fsck/pass1b.c:976
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr ""
 
-#: e2fsck/pass1b.c:988
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr ""
 
-#: e2fsck/pass1.c:357
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr ""
 
-#: e2fsck/pass1.c:775 e2fsck/pass2.c:1007
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 #, fuzzy
 msgid "reading directory block"
 msgstr "membaca direktori %s"
 
-#: e2fsck/pass1.c:1224
+#: e2fsck/pass1.c:1169
+msgid "getting next inode from scan"
+msgstr ""
+
+#: e2fsck/pass1.c:1221
 #, fuzzy
 msgid "in-use inode map"
-msgstr "Inode tidak menggunakan takat"
+msgstr "Guna peta imej"
 
-#: e2fsck/pass1.c:1235
+#: e2fsck/pass1.c:1232
 #, fuzzy
 msgid "directory inode map"
-msgstr "Tiada ruang bebas dalam peta takat"
+msgstr "Inode Ext2 adalah bukan direktori"
 
-#: e2fsck/pass1.c:1245
+#: e2fsck/pass1.c:1242
 #, fuzzy
 msgid "regular file inode map"
-msgstr "fail kosong biasa"
+msgstr "Bukan satu fail nalar."
 
-#: e2fsck/pass1.c:1254 misc/e2image.c:1282
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
 #, fuzzy
 msgid "in-use block map"
-msgstr "Tidak dapat memetakan nama \"%s\" ke menu\n"
+msgstr "Guna url suai bagi peta radar"
 
-#: e2fsck/pass1.c:1263
+#: e2fsck/pass1.c:1260
 #, fuzzy
 #| msgid "meta-data blocks"
 msgid "metadata block map"
-msgstr "Tidak dapat memetakan nama \"%s\" ke menu\n"
+msgstr "Data meta"
 
-#: e2fsck/pass1.c:1325
+#: e2fsck/pass1.c:1271
+#, fuzzy
+msgid "inode casefold map"
+msgstr "Peta"
+
+#: e2fsck/pass1.c:1336
 #, fuzzy
 msgid "opening inode scan"
 msgstr "ketika melakukan pengesanan inod"
 
-#: e2fsck/pass1.c:1363
-msgid "getting next inode from scan"
-msgstr ""
-
-#: e2fsck/pass1.c:2067
+#: e2fsck/pass1.c:2104
 #, fuzzy
 msgid "Pass 1"
-msgstr "--menunggu-- (lalu %d)\n"
+msgstr "Takrifkan pilihan pengekodan anda untuk laluan 1 \\n (biarkan lalai jika anda tidak tahu apa perlu dibuat)"
 
-#: e2fsck/pass1.c:2128
+#: e2fsck/pass1.c:2165
 #, fuzzy, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "ketika membaca inod jurnal"
 
-#: e2fsck/pass1.c:2179
+#: e2fsck/pass1.c:2216
 #, fuzzy
 msgid "bad inode map"
 msgstr "ketika menetapkan inod blok buruk"
 
-#: e2fsck/pass1.c:2219
+#: e2fsck/pass1.c:2256
 #, fuzzy
 msgid "inode in bad block map"
-msgstr "ketika menetapkan inod blok buruk"
+msgstr "Inode adalah dari blok buruk dalam jadual inode"
 
-#: e2fsck/pass1.c:2239
+#: e2fsck/pass1.c:2276
 #, fuzzy
 msgid "imagic inode map"
-msgstr "Tidak dapat memetakan nama \"%s\" ke menu\n"
+msgstr "Peta"
 
-#: e2fsck/pass1.c:2270
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr ""
 
-#: e2fsck/pass1.c:2395
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr ""
 
-#: e2fsck/pass1.c:3640
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr ""
 
-#: e2fsck/pass1.c:4060
+#: e2fsck/pass1.c:4150
 #, fuzzy
 msgid "block bitmap"
-msgstr "  Bitmap block di"
+msgstr "  Blok peta bit di "
 
-#: e2fsck/pass1.c:4066
+#: e2fsck/pass1.c:4156
 #, fuzzy
 msgid "inode bitmap"
 msgstr ", Bitmap inode di"
 
-#: e2fsck/pass1.c:4072
+#: e2fsck/pass1.c:4162
 #, fuzzy
 msgid "inode table"
-msgstr "ketika menulis jadual inod"
+msgstr ""
+"\n"
+"  Jadual inode di "
 
-#: e2fsck/pass2.c:307
+#: e2fsck/pass2.c:318
 #, fuzzy
 msgid "Pass 2"
-msgstr "--menunggu-- (lalu %d)\n"
+msgstr "Takrifkan pilihan pengekodan anda untuk laluan 2 \\n (biarkan lalai jika anda tidak tahu apa perlu dibuat)"
 
-#: e2fsck/pass2.c:1079 e2fsck/pass2.c:1246
+#: e2fsck/pass2.c:576
+#, fuzzy
+msgid "NLS is broken."
+msgstr "Rosak"
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 #, fuzzy
 msgid "Can not continue."
-msgstr ""
-"Tidak dapat meneruskan, membatalkan.\n"
-"\n"
+msgstr "OTRS Verify™ tidak boleh diteruskan."
 
 #: e2fsck/pass3.c:77
 #, fuzzy
@@ -682,27 +661,27 @@
 #: e2fsck/pass3.c:86
 #, fuzzy
 msgid "Peak memory"
-msgstr "Kehabisan memori"
+msgstr "Puncak"
 
 #: e2fsck/pass3.c:149
 #, fuzzy
 msgid "Pass 3"
 msgstr "Ulangan 3: Memeriksa sambungan @d\n"
 
-#: e2fsck/pass3.c:344
+#: e2fsck/pass3.c:355
 #, fuzzy
 msgid "inode loop detection bitmap"
 msgstr ", Bitmap inode di"
 
-#: e2fsck/pass4.c:277
+#: e2fsck/pass4.c:289
 #, fuzzy
 msgid "Pass 4"
-msgstr "Katalaluan tidak diketahui?!?"
+msgstr "Katalaluan: "
 
 #: e2fsck/pass5.c:79
 #, fuzzy
 msgid "Pass 5"
-msgstr "Katalaluan tidak diketahui?!?"
+msgstr "Katalaluan: "
 
 #: e2fsck/pass5.c:102
 msgid "check_inode_bitmap_checksum: Memory allocation error"
@@ -712,231 +691,232 @@
 msgid "check_block_bitmap_checksum: Memory allocation error"
 msgstr ""
 
-#: e2fsck/problem.c:52
-#, fuzzy
-msgid "(no prompt)"
-msgstr "Auto simpan ketika keluar, jangan maklum"
-
 #: e2fsck/problem.c:53
 #, fuzzy
-msgid "Fix"
-msgstr "pembetulan boleh diterapkan. Ulang laksana dengan pilihan '--update'."
+msgid "(no prompt)"
+msgstr "Jenis makluman"
 
 #: e2fsck/problem.c:54
+#, fuzzy
+msgid "Fix"
+msgstr "Baiki Bahasa"
+
+#: e2fsck/problem.c:55
 msgid "Clear"
 msgstr "Padam"
 
-#: e2fsck/problem.c:55
-msgid "Relocate"
-msgstr ""
-
 #: e2fsck/problem.c:56
 #, fuzzy
-msgid "Allocate"
-msgstr "rmtd: tak dapat memperuntukkan ruang penimbal\n"
+msgid "Relocate"
+msgstr "Tempat semula"
 
 #: e2fsck/problem.c:57
 #, fuzzy
-msgid "Expand"
-msgstr "Tidak dapat mengembang /@l: %m\n"
+msgid "Allocate"
+msgstr "tak dapat memperuntukkan warna \"%s\""
 
 #: e2fsck/problem.c:58
-#, fuzzy
-msgid "Connect to /lost+found"
-msgstr "ketika mencipta /lost+found"
+msgid "Expand"
+msgstr "Kembang"
 
 #: e2fsck/problem.c:59
 #, fuzzy
-msgid "Create"
-msgstr "tidak dapat mencipta paip"
+msgid "Connect to /lost+found"
+msgstr "Hilang Kata Laluan"
 
 #: e2fsck/problem.c:60
-msgid "Salvage"
-msgstr ""
+msgid "Create"
+msgstr "Cipta"
 
 #: e2fsck/problem.c:61
 #, fuzzy
-msgid "Truncate"
-msgstr ""
-"  baris pemendekan   = %s\n"
-"  terjemah           = %s\n"
-"  pengakhir baris    = %s\n"
-"  pengekodan         = %s\n"
-"  tajuk dokumen      = %s\n"
-"  prolog             = %s\n"
-"  cetak bagaimanapun = %s\n"
-"  mewakilkan         = %s\n"
+msgid "Salvage"
+msgstr "Sisaan"
 
 #: e2fsck/problem.c:62
 #, fuzzy
-msgid "Clear inode"
-msgstr "Padam"
+msgid "Truncate"
+msgstr "Pangkaskan"
 
 #: e2fsck/problem.c:63
 #, fuzzy
-msgid "Abort"
-msgstr ""
-" n [nama]   Beri nama fail baru bagi volum berikutnya\n"
-" q          Batal tar\n"
-" !          Spawn  subshell\n"
-" ?          Cetak senarai ini\n"
+msgid "Clear inode"
+msgstr "kosongkan"
 
 #: e2fsck/problem.c:64
 #, fuzzy
-msgid "Split"
-msgstr "pisah baris"
+msgid "Abort"
+msgstr "Henti Paksa"
 
 #: e2fsck/problem.c:65
-#, fuzzy
-msgid "Continue"
-msgstr "Adakah anda pasti untuk meneruskan"
+msgid "Split"
+msgstr "Pisah"
 
 #: e2fsck/problem.c:66
+msgid "Continue"
+msgstr "Teruskan"
+
+#: e2fsck/problem.c:67
 msgid "Clone multiply-claimed blocks"
 msgstr ""
 
-#: e2fsck/problem.c:67
-#, fuzzy
-msgid "Delete file"
-msgstr "Padam"
-
 #: e2fsck/problem.c:68
-#, fuzzy
-msgid "Suppress messages"
-msgstr "Tiada mesej untuk fail ini"
+msgid "Delete file"
+msgstr "Padam fail"
 
 #: e2fsck/problem.c:69
 #, fuzzy
-msgid "Unlink"
-msgstr "takboleh nyahpaut %s"
+msgid "Suppress messages"
+msgstr "Paksa mesej"
 
 #: e2fsck/problem.c:70
 #, fuzzy
-msgid "Clear HTree index"
-msgstr "Padam"
+msgid "Unlink"
+msgstr "nyahpaut"
 
 #: e2fsck/problem.c:71
 #, fuzzy
-msgid "Recreate"
-msgstr "Buatsemula Ikon Lalai"
+msgid "Clear HTree index"
+msgstr "kosongkan"
 
 #: e2fsck/problem.c:72
+#, fuzzy
+msgid "Recreate"
+msgstr "Cipta semula folder yang tersimpan dalam arkib"
+
+#: e2fsck/problem.c:73
+#, fuzzy
 msgid "Optimize"
-msgstr ""
+msgstr "Mengoptimumkan"
 
-#: e2fsck/problem.c:81
+#: e2fsck/problem.c:74
 #, fuzzy
-msgid "(NONE)"
-msgstr "tiada"
-
-#: e2fsck/problem.c:82
-#, fuzzy
-msgid "FIXED"
-msgstr "Saiz _tetap"
+msgid "Clear flag"
+msgstr "_Buang Bendera"
 
 #: e2fsck/problem.c:83
 #, fuzzy
-msgid "CLEARED"
-msgstr "Amaran: blok tidak sah %u terdapat di dalam blok inode buruk. Dibersihkan.\n"
+msgid "(NONE)"
+msgstr "[tiada]"
 
 #: e2fsck/problem.c:84
-msgid "RELOCATED"
-msgstr ""
+#, fuzzy
+msgid "FIXED"
+msgstr "tetap"
 
 #: e2fsck/problem.c:85
 #, fuzzy
-msgid "ALLOCATED"
-msgstr "@r tidak diumpukkan.  "
+msgid "CLEARED"
+msgstr "Padamkan"
 
 #: e2fsck/problem.c:86
-msgid "EXPANDED"
+#, fuzzy
+msgid "RELOCATED"
 msgstr ""
+"Padam ruangkerja semasa. semua ahli tetingkap akan dipindahkan ke \n"
+"ruangkerja terdahulu."
 
 #: e2fsck/problem.c:87
-msgid "RECONNECTED"
-msgstr ""
+#, fuzzy
+msgid "ALLOCATED"
+msgstr "Sama ada penimbal kedalaman diperuntuk"
 
 #: e2fsck/problem.c:88
 #, fuzzy
-msgid "CREATED"
-msgstr "direktori %s dicipta"
+msgid "EXPANDED"
+msgstr "dikembang"
 
 #: e2fsck/problem.c:89
-msgid "SALVAGED"
-msgstr ""
+#, fuzzy
+msgid "RECONNECTED"
+msgstr "Berjaya menyambung semula dengan pelayan meta!"
 
 #: e2fsck/problem.c:90
 #, fuzzy
-msgid "TRUNCATED"
-msgstr ""
-"  %C   abad (tahun dibahagi dengan 100 dan dibundarkan ke integer) [00-99]\n"
-"  %d   hari drpd bulan (01..31)\n"
-"  %D   tarikh (bb/hh/tt)\n"
-"  %e   hari drpd bulan, ruang kosong ditambah ( 1..31)\n"
+msgid "CREATED"
+msgstr "Dicipta"
 
 #: e2fsck/problem.c:91
+msgid "SALVAGED"
+msgstr ""
+
+#: e2fsck/problem.c:92
+#, fuzzy
+msgid "TRUNCATED"
+msgstr "GIF: strim data dilihat seperti dipotong."
+
+#: e2fsck/problem.c:93
 #, fuzzy
 msgid "INODE CLEARED"
 msgstr "Amaran: blok tidak sah %u terdapat di dalam blok inode buruk. Dibersihkan.\n"
 
-#: e2fsck/problem.c:92
+#: e2fsck/problem.c:94
 #, fuzzy
 msgid "ABORTED"
 msgstr "dibatalkan"
 
-#: e2fsck/problem.c:93
+#: e2fsck/problem.c:95
 #, fuzzy
 msgid "SPLIT"
-msgstr "pisah baris"
-
-#: e2fsck/problem.c:94
-msgid "CONTINUING"
-msgstr ""
-
-#: e2fsck/problem.c:95
-msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
-msgstr ""
+msgstr "Pisah"
 
 #: e2fsck/problem.c:96
 #, fuzzy
-msgid "FILE DELETED"
-msgstr "  %d %.0f%% dipadam"
+msgid "CONTINUING"
+msgstr "Menyambung semula"
 
 #: e2fsck/problem.c:97
-msgid "SUPPRESSED"
+msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
 msgstr ""
 
 #: e2fsck/problem.c:98
-msgid "UNLINKED"
-msgstr ""
+#, fuzzy
+msgid "FILE DELETED"
+msgstr "%d fail dipadam"
 
 #: e2fsck/problem.c:99
 #, fuzzy
-msgid "HTREE INDEX CLEARED"
-msgstr "indeks"
+msgid "SUPPRESSED"
+msgstr "Sama ada hendak tunjukkan output HTML terpaksa"
 
 #: e2fsck/problem.c:100
 #, fuzzy
-msgid "WILL RECREATE"
-msgstr "Buatsemula Ikon Lalai"
+msgid "UNLINKED"
+msgstr "Ralat menutup fail kunci (nyahpaut) \"%s\": %s"
 
 #: e2fsck/problem.c:101
+#, fuzzy
+msgid "HTREE INDEX CLEARED"
+msgstr "Padamkan"
+
+#: e2fsck/problem.c:102
+#, fuzzy
+msgid "WILL RECREATE"
+msgstr "Cipta semula folder yang tersimpan dalam arkib"
+
+#: e2fsck/problem.c:103
+#, fuzzy
 msgid "WILL OPTIMIZE"
-msgstr ""
+msgstr "Mengoptimumkan"
+
+#: e2fsck/problem.c:104
+#, fuzzy
+msgid "FLAG CLEARED"
+msgstr "Padamkan"
 
 #. @-expanded: block bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:115
+#: e2fsck/problem.c:118
 msgid "@b @B for @g %g is not in @g.  (@b %b)\n"
 msgstr "@b @B untuk @g %g tiada didalam @g.  (@b %b)\n"
 
 #. @-expanded: inode bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:119
+#: e2fsck/problem.c:122
 msgid "@i @B for @g %g is not in @g.  (@b %b)\n"
 msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
 
 #. @-expanded: inode table for group %g is not in group.  (block %b)\n
 #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
-#: e2fsck/problem.c:124
+#: e2fsck/problem.c:127
 msgid ""
 "@i table for @g %g is not in @g.  (@b %b)\n"
 "WARNING: SEVERE DATA LOSS POSSIBLE.\n"
@@ -951,7 +931,7 @@
 #. @-expanded:  or\n
 #. @-expanded:     e2fsck -b 32768 <device>\n
 #. @-expanded: \n
-#: e2fsck/problem.c:130
+#: e2fsck/problem.c:133
 msgid ""
 "\n"
 "The @S could not be read or does not describe a valid ext2/ext3/ext4\n"
@@ -967,7 +947,7 @@
 #. @-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
-#: e2fsck/problem.c:141
+#: e2fsck/problem.c:144
 msgid ""
 "The @f size (according to the @S) is %b @bs\n"
 "The physical size of the @v is %c @bs\n"
@@ -977,7 +957,7 @@
 #. @-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
-#: e2fsck/problem.c:148
+#: e2fsck/problem.c:151
 msgid ""
 "@S @b_size = %b, fragsize = %c.\n"
 "This version of e2fsck does not support fragment sizes different\n"
@@ -985,24 +965,24 @@
 msgstr ""
 
 #. @-expanded: superblock blocks_per_group = %b, should have been %c\n
-#: e2fsck/problem.c:155
+#: e2fsck/problem.c:158
 msgid "@S @bs_per_group = %b, should have been %c\n"
 msgstr ""
 
 #. @-expanded: superblock first_data_block = %b, should have been %c\n
-#: e2fsck/problem.c:160
+#: e2fsck/problem.c:163
 msgid "@S first_data_@b = %b, should have been %c\n"
 msgstr "@S first_data_@b = %b, sepatutnya adalah %c\n"
 
 #. @-expanded: filesystem did not have a UUID; generating one.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:165
+#: e2fsck/problem.c:168
 msgid ""
 "@f did not have a UUID; generating one.\n"
 "\n"
 msgstr ""
 
-#: e2fsck/problem.c:171
+#: e2fsck/problem.c:174
 #, no-c-format
 msgid ""
 "Note: if several inode or block bitmap blocks or part\n"
@@ -1014,52 +994,52 @@
 msgstr ""
 
 #. @-expanded: Corruption found in superblock.  (%s = %N).\n
-#: e2fsck/problem.c:180
+#: e2fsck/problem.c:183
 #, fuzzy
 msgid "Corruption found in @S.  (%s = %N).\n"
-msgstr "Hujah sah adalah nombor bulat n seperti: %s\n"
+msgstr "%n milisaat"
 
 #. @-expanded: Error determining size of the physical device: %m\n
-#: e2fsck/problem.c:186
+#: e2fsck/problem.c:189
 #, fuzzy, no-c-format
 msgid "Error determining size of the physical @v: %m\n"
 msgstr "Ralat ketika menentukan sama ada %s telah dilekapkan.\n"
 
 #. @-expanded: inode count in superblock is %i, should be %j.\n
-#: e2fsck/problem.c:191
+#: e2fsck/problem.c:194
 #, fuzzy
 msgid "@i count in @S is %i, @s %j.\n"
 msgstr "'..' dalam %Q (%i) adalah %P (%j), @s %q (%d).\n"
 
-#: e2fsck/problem.c:195
+#: e2fsck/problem.c:198
 msgid "The Hurd does not support the filetype feature.\n"
 msgstr ""
 
 #. @-expanded: superblock has an invalid journal (inode %i).\n
-#: e2fsck/problem.c:201
+#: e2fsck/problem.c:204
 #, fuzzy, no-c-format
 msgid "@S has an @n @j (@i %i).\n"
-msgstr "@i %i (%Q) mempunyai mod @n (%Im).\n"
+msgstr "'..' dalam %Q (%i) adalah %P (%j), @s %q (%d).\n"
 
 #. @-expanded: External journal has multiple filesystem users (unsupported).\n
-#: e2fsck/problem.c:206
+#: e2fsck/problem.c:209
 msgid "External @j has multiple @f users (unsupported).\n"
 msgstr ""
 
 #. @-expanded: Can't find external journal\n
-#: e2fsck/problem.c:211
+#: e2fsck/problem.c:214
 #, fuzzy
 msgid "Can't find external @j\n"
-msgstr "Tidak dapat mencari nama hos sendiri"
+msgstr "Tidak dapat mencari objek piawai"
 
 #. @-expanded: External journal has bad superblock\n
-#: e2fsck/problem.c:216
+#: e2fsck/problem.c:219
 #, fuzzy
 msgid "External @j has bad @S\n"
 msgstr "%s: fail `%s' mempunyai cecikut magik buruk\n"
 
 #. @-expanded: External journal does not support this filesystem\n
-#: e2fsck/problem.c:221
+#: e2fsck/problem.c:224
 #, fuzzy
 msgid "External @j does not support this @f\n"
 msgstr "Cdrdao %1 tidak menyokong overburning."
@@ -1068,7 +1048,7 @@
 #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal 
 #. @-expanded: format.\n
 #. @-expanded: It is also possible the journal superblock is corrupt.\n
-#: e2fsck/problem.c:226
+#: e2fsck/problem.c:229
 msgid ""
 "@f @j @S is unknown type %N (unsupported).\n"
 "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n"
@@ -1076,84 +1056,85 @@
 msgstr ""
 
 #. @-expanded: journal superblock is corrupt.\n
-#: e2fsck/problem.c:235
+#: e2fsck/problem.c:238
 #, fuzzy
 msgid "@j @S is corrupt.\n"
-msgstr "Takat rosak"
+msgstr "J"
 
 #. @-expanded: superblock has_journal flag is clear, but a journal is present.\n
-#: e2fsck/problem.c:240
+#: e2fsck/problem.c:243
 msgid "@S has_@j flag is clear, but a @j is present.\n"
 msgstr ""
 
 #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n
-#: e2fsck/problem.c:245
+#: e2fsck/problem.c:248
 msgid "@S needs_recovery flag is set, but no @j is present.\n"
 msgstr ""
 
 #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n
-#: e2fsck/problem.c:250
+#: e2fsck/problem.c:253
 msgid "@S needs_recovery flag is clear, but @j has data.\n"
 msgstr ""
 
 #. @-expanded: Clear journal
-#: e2fsck/problem.c:255
+#: e2fsck/problem.c:258
 #, fuzzy
 msgid "Clear @j"
-msgstr "Padam"
+msgstr "J$"
 
 #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem.  
-#: e2fsck/problem.c:260 e2fsck/problem.c:796
+#: e2fsck/problem.c:263 e2fsck/problem.c:799
 msgid "@f has feature flag(s) set, but is a revision 0 @f.  "
 msgstr ""
 
 #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n
-#: e2fsck/problem.c:265
+#: e2fsck/problem.c:268
 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
 msgstr ""
 
 #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:270
+#: e2fsck/problem.c:273
 #, fuzzy
 msgid "@I %B (%b) found in @o @i %i.\n"
-msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
+msgstr "@i %i (%Q) adalah @I @b @v.\n"
 
 #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:275
+#: e2fsck/problem.c:278
 #, fuzzy
 msgid "Already cleared %B (%b) found in @o @i %i.\n"
 msgstr "Fail Telah Ada dalam Senarai"
 
 #. @-expanded: illegal orphaned inode %i in superblock.\n
-#: e2fsck/problem.c:281
+#: e2fsck/problem.c:284
 #, fuzzy, no-c-format
 msgid "@I @o @i %i in @S.\n"
-msgstr "@i %i (%Q) adalah @I FIFO.\n"
+msgstr "%i × %i piksel  %s    %i%%"
 
 #. @-expanded: illegal inode %i in orphaned inode list.\n
-#: e2fsck/problem.c:287
+#: e2fsck/problem.c:290
 #, fuzzy, no-c-format
 msgid "@I @i %i in @o @i list.\n"
-msgstr "@i %i (%Q) adalah @I FIFO.\n"
+msgstr "I/O sekarang dibolehkan"
 
 #. @-expanded: journal superblock has an unknown read-only feature flag set.\n
-#: e2fsck/problem.c:292
+#: e2fsck/problem.c:295
 msgid "@j @S has an unknown read-only feature flag set.\n"
 msgstr ""
 
 #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n
-#: e2fsck/problem.c:297
+#: e2fsck/problem.c:300
 msgid "@j @S has an unknown incompatible feature flag set.\n"
 msgstr ""
 
 #. @-expanded: journal version not supported by this e2fsck.\n
-#: e2fsck/problem.c:302
+#: e2fsck/problem.c:305
+#, fuzzy
 msgid "@j version not supported by this e2fsck.\n"
-msgstr ""
+msgstr "Gzip tidak disokong oleh versi zlib ini"
 
 #. @-expanded: Moving journal from /%s to hidden inode.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:308
+#: e2fsck/problem.c:311
 #, fuzzy, no-c-format
 msgid ""
 "Moving @j from /%s to hidden @i.\n"
@@ -1162,17 +1143,17 @@
 
 #. @-expanded: Error moving journal: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:314
+#: e2fsck/problem.c:317
 #, fuzzy, no-c-format
 msgid ""
 "Error moving @j: %m\n"
 "\n"
-msgstr "Ralat mengulang ke atas @d @bs: %m\n"
+msgstr "Ralat ketika mengalih."
 
 #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n
 #. @-expanded: Clearing fields beyond the V1 journal superblock...\n
 #. @-expanded: \n
-#: e2fsck/problem.c:319
+#: e2fsck/problem.c:322
 msgid ""
 "Found @n V2 @j @S fields (from V1 @j).\n"
 "Clearing fields beyond the V1 @j @S...\n"
@@ -1180,19 +1161,19 @@
 msgstr ""
 
 #. @-expanded: Run journal anyway
-#: e2fsck/problem.c:325
+#: e2fsck/problem.c:328
 #, fuzzy
 msgid "Run @j anyway"
-msgstr "mke2fs dipaksa juga.\n"
+msgstr "-J <nombor>"
 
 #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n
-#: e2fsck/problem.c:330
+#: e2fsck/problem.c:333
 msgid "Recovery flag not set in backup @S, so running @j anyway.\n"
 msgstr ""
 
 #. @-expanded: Backing up journal inode block information.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:335
+#: e2fsck/problem.c:338
 #, fuzzy
 msgid ""
 "Backing up @j @i @b information.\n"
@@ -1201,26 +1182,26 @@
 
 #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n
 #. @-expanded: is %N; should be zero.  
-#: e2fsck/problem.c:341
+#: e2fsck/problem.c:344
 msgid ""
 "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n"
 "is %N; @s zero.  "
 msgstr ""
 
 #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero.  
-#: e2fsck/problem.c:347
+#: e2fsck/problem.c:350
 msgid "Resize_@i not enabled, but the resize @i is non-zero.  "
 msgstr ""
 
 #. @-expanded: Resize inode not valid.  
-#: e2fsck/problem.c:352
+#: e2fsck/problem.c:355
 #, fuzzy
 msgid "Resize @i not valid.  "
-msgstr "Tidak dapat mengubah saiz tetingkap suntingan"
+msgstr "\"%s\" adalah bukan nilai atribut ubahsaiz yang sah"
 
 #. @-expanded: superblock last mount time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:357
+#: e2fsck/problem.c:360
 msgid ""
 "@S last mount time (%t,\n"
 "\tnow = %T) is in the future.\n"
@@ -1228,21 +1209,21 @@
 
 #. @-expanded: superblock last write time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:362
+#: e2fsck/problem.c:365
 msgid ""
 "@S last write time (%t,\n"
 "\tnow = %T) is in the future.\n"
 msgstr ""
 
 #. @-expanded: superblock hint for external superblock should be %X.  
-#: e2fsck/problem.c:368
+#: e2fsck/problem.c:371
 #, fuzzy, no-c-format
 msgid "@S hint for external superblock @s %X.  "
 msgstr "Tetap masa untuk memaparkan hint:"
 
 #. @-expanded: Adding dirhash hint to filesystem.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:373
+#: e2fsck/problem.c:376
 #, fuzzy
 msgid ""
 "Adding dirhash hint to @f.\n"
@@ -1250,41 +1231,41 @@
 msgstr "Menambah jurnal ke peranti %s:"
 
 #. @-expanded: group descriptor %g checksum is %04x, should be %04y.  
-#: e2fsck/problem.c:378
+#: e2fsck/problem.c:381
 #, fuzzy
 msgid "@g descriptor %g checksum is %04x, should be %04y.  "
 msgstr "Saiz tab \"%s\" yang diminta tidak sah"
 
 #. @-expanded: group descriptor %g marked uninitialized without feature set.\n
-#: e2fsck/problem.c:384
+#: e2fsck/problem.c:387
 #, no-c-format
 msgid "@g descriptor %g marked uninitialized without feature set.\n"
 msgstr ""
 
 #. @-expanded: group descriptor %g has invalid unused inodes count %b.  
-#: e2fsck/problem.c:389
+#: e2fsck/problem.c:392
 msgid "@g descriptor %g has invalid unused inodes count %b.  "
 msgstr ""
 
 #. @-expanded: Last group block bitmap uninitialized.  
-#: e2fsck/problem.c:394
+#: e2fsck/problem.c:397
 #, fuzzy
 msgid "Last @g @b @B uninitialized.  "
 msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
 
-#: e2fsck/problem.c:400
+#: e2fsck/problem.c:403
 #, no-c-format
 msgid "Journal transaction %i was corrupt, replay was aborted.\n"
 msgstr ""
 
-#: e2fsck/problem.c:405
+#: e2fsck/problem.c:408
 msgid "The test_fs flag is set (and ext4 is available).  "
 msgstr ""
 
 #. @-expanded: superblock last mount time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:410
+#: e2fsck/problem.c:413
 msgid ""
 "@S last mount time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1293,247 +1274,248 @@
 #. @-expanded: superblock last write time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:416
+#: e2fsck/problem.c:419
 msgid ""
 "@S last write time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
 msgstr ""
 
 #. @-expanded: One or more block group descriptor checksums are invalid.  
-#: e2fsck/problem.c:422
+#: e2fsck/problem.c:425
 #, fuzzy
 msgid "One or more @b @g descriptor checksums are invalid.  "
 msgstr "Saiz tab \"%s\" yang diminta tidak sah"
 
 #. @-expanded: Setting free inodes count to %j (was %i)\n
-#: e2fsck/problem.c:427
+#: e2fsck/problem.c:430
 msgid "Setting free @is count to %j (was %i)\n"
 msgstr ""
 
 #. @-expanded: Setting free blocks count to %c (was %b)\n
-#: e2fsck/problem.c:432
+#: e2fsck/problem.c:435
 msgid "Setting free @bs count to %c (was %b)\n"
 msgstr ""
 
 #. @-expanded: Hiding %U quota inode %i (%Q).\n
-#: e2fsck/problem.c:437
+#: e2fsck/problem.c:440
 #, fuzzy
 msgid "Hiding %U @q @i %i (%Q).\n"
-msgstr "@i %i (%Q) adalah @I FIFO.\n"
+msgstr "@i %i (%Q) adalah soket @I.\n"
 
 #. @-expanded: superblock has invalid MMP block.  
-#: e2fsck/problem.c:442
+#: e2fsck/problem.c:445
 #, fuzzy
 msgid "@S has invalid MMP block.  "
-msgstr "saiz blok tidak sah - %s"
+msgstr "Blok vendor %s tidak sah"
 
 #. @-expanded: superblock has invalid MMP magic.  
-#: e2fsck/problem.c:447
+#: e2fsck/problem.c:450
 #, fuzzy
 msgid "@S has invalid MMP magic.  "
 msgstr "MMP: nombor magic tidak sah"
 
-#: e2fsck/problem.c:453
+#: e2fsck/problem.c:456
 #, fuzzy, no-c-format
 msgid "ext2fs_open2: %m\n"
-msgstr "@A @i @B (%N): %m\n"
+msgstr "%a dari %m"
 
-#: e2fsck/problem.c:459
+#: e2fsck/problem.c:462
 #, fuzzy, no-c-format
 msgid "ext2fs_check_desc: %m\n"
-msgstr "Tidak dapat mengembang /@l: %m\n"
+msgstr "Huraian Pendek: %s\n"
 
 #. @-expanded: superblock metadata_csum supersedes uninit_bg; both feature bits cannot be set 
 #. @-expanded: simultaneously.
-#: e2fsck/problem.c:465
+#: e2fsck/problem.c:468
 msgid "@S metadata_csum supersedes uninit_bg; both feature bits cannot be set simultaneously."
 msgstr ""
 
 #. @-expanded: superblock MMP block checksum does not match.  
-#: e2fsck/problem.c:471
+#: e2fsck/problem.c:474
 #, fuzzy
 msgid "@S MMP @b checksum does not match.  "
 msgstr "Pengiraan bitmap MMP tidak sepadan"
 
 #. @-expanded: superblock 64bit filesystem needs extents to access the whole disk.  
-#: e2fsck/problem.c:476
+#: e2fsck/problem.c:479
 msgid "@S 64bit @f needs extents to access the whole disk.  "
 msgstr ""
 
-#: e2fsck/problem.c:481
+#: e2fsck/problem.c:484
 msgid "First_meta_bg is too big.  (%N, max value %g).  "
 msgstr ""
 
 #. @-expanded: External journal superblock checksum does not match superblock.  
-#: e2fsck/problem.c:486
+#: e2fsck/problem.c:489
 #, fuzzy
 msgid "External @j @S checksum does not match @S.  "
 msgstr "Cdrdao %1 tidak menyokong overburning."
 
 #. @-expanded: superblock metadata_csum_seed is not necessary without metadata_csum.
-#: e2fsck/problem.c:491
+#: e2fsck/problem.c:494
 msgid "@S metadata_csum_seed is not necessary without metadata_csum."
 msgstr ""
 
-#: e2fsck/problem.c:497
+#: e2fsck/problem.c:500
 #, no-c-format
 msgid "Error initializing quota context in support library: %m\n"
 msgstr ""
 
 #. @-expanded: Bad required extra isize in superblock (%N).  
-#: e2fsck/problem.c:502
+#: e2fsck/problem.c:505
 msgid "Bad required extra isize in @S (%N).  "
 msgstr ""
 
 #. @-expanded: Bad desired extra isize in superblock (%N).  
-#: e2fsck/problem.c:507
+#: e2fsck/problem.c:510
 msgid "Bad desired extra isize in @S (%N).  "
 msgstr ""
 
 #. @-expanded: Invalid %U quota inode %i.  
-#: e2fsck/problem.c:512
+#: e2fsck/problem.c:515
 #, fuzzy
 msgid "Invalid %U @q @i %i.  "
-msgstr "@u @z @i %i.  "
+msgstr "@i %i (%Q) adalah @I FIFO.\n"
 
 #. @-expanded: superblock would have too many inodes (%N).\n
-#: e2fsck/problem.c:517
+#: e2fsck/problem.c:520
 msgid "@S would have too many inodes (%N).\n"
 msgstr ""
 
 #. @-expanded: Resize_inode and meta_bg features are enabled. Those features are\n
 #. @-expanded: not compatible. Resize inode should be disabled.  
-#: e2fsck/problem.c:522
+#: e2fsck/problem.c:525
 msgid ""
 "Resize_@i and meta_bg features are enabled. Those features are\n"
 "not compatible. Resize @i should be disabled.  "
 msgstr ""
 
 #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n
-#: e2fsck/problem.c:530
+#: e2fsck/problem.c:533
 msgid "Pass 1: Checking @is, @bs, and sizes\n"
 msgstr ""
 
 #. @-expanded: root inode is not a directory.  
-#: e2fsck/problem.c:534
+#: e2fsck/problem.c:537
 #, fuzzy
 msgid "@r is not a @d.  "
 msgstr "@r adalah bukan @d; menghentikan.\n"
 
 #. @-expanded: root inode has dtime set (probably due to old mke2fs).  
-#: e2fsck/problem.c:539
+#: e2fsck/problem.c:542
 msgid "@r has dtime set (probably due to old mke2fs).  "
 msgstr ""
 
 #. @-expanded: Reserved inode %i (%Q) has invalid mode.  
-#: e2fsck/problem.c:544
+#: e2fsck/problem.c:547
 #, fuzzy
 msgid "Reserved @i %i (%Q) has @n mode.  "
 msgstr "@i %i (%Q) mempunyai mod @n (%Im).\n"
 
 #. @-expanded: deleted inode %i has zero dtime.  
-#: e2fsck/problem.c:550
+#: e2fsck/problem.c:553
 #, fuzzy, no-c-format
 msgid "@D @i %i has zero dtime.  "
 msgstr "i_blocks_hi @F %N, @s sifar.\n"
 
 #. @-expanded: inode %i is in use, but has dtime set.  
-#: e2fsck/problem.c:556
+#: e2fsck/problem.c:559
 #, no-c-format
 msgid "@i %i is in use, but has dtime set.  "
 msgstr ""
 
 #. @-expanded: inode %i is a zero-length directory.  
-#: e2fsck/problem.c:562
+#: e2fsck/problem.c:565
 #, fuzzy, no-c-format
 msgid "@i %i is a @z @d.  "
 msgstr "@u @z @i %i.  "
 
 #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:567
+#: e2fsck/problem.c:570
 #, fuzzy
 msgid "@g %g's @b @B at %b @C.\n"
 msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
 
 #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:572
+#: e2fsck/problem.c:575
 #, fuzzy
 msgid "@g %g's @i @B at %b @C.\n"
 msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
 
 #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:577
+#: e2fsck/problem.c:580
 #, fuzzy
 msgid "@g %g's @i table at %b @C.\n"
 msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
 
 #. @-expanded: group %g's block bitmap (%b) is bad.  
-#: e2fsck/problem.c:582
+#: e2fsck/problem.c:585
 #, fuzzy
 msgid "@g %g's @b @B (%b) is bad.  "
-msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
+msgstr "warna [R,G,B] teruk"
 
 #. @-expanded: group %g's inode bitmap (%b) is bad.  
-#: e2fsck/problem.c:587
+#: e2fsck/problem.c:590
 #, fuzzy
 msgid "@g %g's @i @B (%b) is bad.  "
 msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
 
 #. @-expanded: inode %i, i_size is %Is, should be %N.  
-#: e2fsck/problem.c:592
+#: e2fsck/problem.c:595
 #, fuzzy
 msgid "@i %i, i_size is %Is, @s %N.  "
 msgstr "Symlink %Q (@i #%i) adalah @n.\n"
 
 #. @-expanded: inode %i, i_blocks is %Ib, should be %N.  
-#: e2fsck/problem.c:597
+#: e2fsck/problem.c:600
 #, fuzzy
 msgid "@i %i, i_@bs is %Ib, @s %N.  "
-msgstr "i_blocks_hi @F %N, @s sifar.\n"
+msgstr "i_frag @F %N, @s sifar.\n"
 
 #. @-expanded: illegal %B (%b) in inode %i.  
-#: e2fsck/problem.c:602
+#: e2fsck/problem.c:605
 #, fuzzy
 msgid "@I %B (%b) in @i %i.  "
-msgstr "@i @B untuk @g %g tiada didalam @g.  (@b %b)\n"
+msgstr "<b><i>Perintah</i></b>"
 
 #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i.  
-#: e2fsck/problem.c:607
+#: e2fsck/problem.c:610
 #, fuzzy
 msgid "%B (%b) overlaps @f metadata in @i %i.  "
 msgstr "&Dalam pelayar web"
 
 #. @-expanded: inode %i has illegal block(s).  
-#: e2fsck/problem.c:613
+#: e2fsck/problem.c:616
 #, fuzzy, no-c-format
 msgid "@i %i has illegal @b(s).  "
-msgstr "@A baru @d @b untuk @i %i (%s): %m\n"
+msgstr "<b>%s</b> (versi <i>%s</i>) akan dipasang\n"
 
 #. @-expanded: Too many illegal blocks in inode %i.\n
-#: e2fsck/problem.c:619
+#: e2fsck/problem.c:622
 #, no-c-format
 msgid "Too many illegal @bs in @i %i.\n"
 msgstr ""
 
 #. @-expanded: illegal %B (%b) in bad block inode.  
-#: e2fsck/problem.c:624
+#: e2fsck/problem.c:627
 #, fuzzy
 msgid "@I %B (%b) in bad @b @i.  "
-msgstr "@A @i @B (%N): %m\n"
+msgstr "<b><i>Perintah</i></b>"
 
 #. @-expanded: Bad block inode has illegal block(s).  
-#: e2fsck/problem.c:629
+#: e2fsck/problem.c:632
 #, fuzzy
 msgid "Bad @b @i has illegal @b(s).  "
 msgstr "Parameter tidak sah telah diterima."
 
 #. @-expanded: Duplicate or bad block in use!\n
-#: e2fsck/problem.c:634
+#: e2fsck/problem.c:637
+#, fuzzy
 msgid "Duplicate or bad @b in use!\n"
-msgstr ""
+msgstr "<b>_Guna pengesahihan</b>"
 
 #. @-expanded: Bad block %b used as bad block inode indirect block.  
-#: e2fsck/problem.c:639
+#: e2fsck/problem.c:642
 msgid "Bad @b %b used as bad @b @i indirect @b.  "
 msgstr ""
 
@@ -1541,7 +1523,7 @@
 #. @-expanded: The bad block inode has probably been corrupted.  You probably\n
 #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n
 #. @-expanded: in the filesystem.\n
-#: e2fsck/problem.c:644
+#: e2fsck/problem.c:647
 msgid ""
 "\n"
 "The bad @b @i has probably been corrupted.  You probably\n"
@@ -1551,7 +1533,7 @@
 
 #. @-expanded: \n
 #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n
-#: e2fsck/problem.c:651
+#: e2fsck/problem.c:654
 msgid ""
 "\n"
 "If the @b is really bad, the @f can not be fixed.\n"
@@ -1560,7 +1542,7 @@
 #. @-expanded: You can remove this block from the bad block list and hope\n
 #. @-expanded: that the block is really OK.  But there are no guarantees.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:656
+#: e2fsck/problem.c:659
 msgid ""
 "You can remove this @b from the bad @b list and hope\n"
 "that the @b is really OK.  But there are no guarantees.\n"
@@ -1568,130 +1550,128 @@
 msgstr ""
 
 #. @-expanded: The primary superblock (%b) is on the bad block list.\n
-#: e2fsck/problem.c:662
+#: e2fsck/problem.c:665
 msgid "The primary @S (%b) is on the bad @b list.\n"
 msgstr ""
 
 #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n
-#: e2fsck/problem.c:667
+#: e2fsck/problem.c:670
 msgid "Block %b in the primary @g descriptors is on the bad @b list\n"
 msgstr ""
 
 #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n
-#: e2fsck/problem.c:673
+#: e2fsck/problem.c:676
 #, fuzzy
 msgid "Warning: Group %g's @S (%b) is bad.\n"
 msgstr "gid/nama kumpulan buruk - %s"
 
 #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n
-#: e2fsck/problem.c:679
+#: e2fsck/problem.c:682
 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n"
 msgstr ""
 
 #. @-expanded: Programming error?  block #%b claimed for no reason in process_bad_block.\n
-#: e2fsck/problem.c:685
+#: e2fsck/problem.c:688
 msgid "Programming error?  @b #%b claimed for no reason in process_bad_@b.\n"
 msgstr ""
 
 #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n
-#: e2fsck/problem.c:691
+#: e2fsck/problem.c:694
 #, fuzzy
 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n"
 msgstr "&Cari Bantuan"
 
 #. @-expanded: error allocating block buffer for relocating %s\n
-#: e2fsck/problem.c:697
+#: e2fsck/problem.c:700
 #, fuzzy, no-c-format
 msgid "@A @b buffer for relocating %s\n"
 msgstr ""
 "\n"
-"Buffer tidak ditulis ke %s: %s\n"
+"Buffer ditulis ke %s\n"
 
 #. @-expanded: Relocating group %g's %s from %b to %c...\n
-#: e2fsck/problem.c:702
+#: e2fsck/problem.c:705
 #, fuzzy
 msgid "Relocating @g %g's %s from %b to %c...\n"
 msgstr "Direktori Untuk Dikembalikan Dari"
 
 #. @-expanded: Relocating group %g's %s to %c...\n
-#: e2fsck/problem.c:708
+#: e2fsck/problem.c:711
 #, fuzzy, no-c-format
 msgid "Relocating @g %g's %s to %c...\n"
-msgstr ""
-"\n"
-"Setiap sampel kira sebagai %g %s.\n"
+msgstr "%s %g — %g, lalai %g"
 
 #. @-expanded: Warning: could not read block %b of %s: %m\n
-#: e2fsck/problem.c:713
+#: e2fsck/problem.c:716
 #, fuzzy
 msgid "Warning: could not read @b %b of %s: %m\n"
 msgstr "Amaran: tidak dapat membaca blok 0: %s\n"
 
 #. @-expanded: Warning: could not write block %b for %s: %m\n
-#: e2fsck/problem.c:718
+#: e2fsck/problem.c:721
 #, fuzzy
 msgid "Warning: could not write @b %b for %s: %m\n"
 msgstr "Tidak dapat menulis kepada fail %s"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:723 e2fsck/problem.c:1871
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "@A @i @B (%N): %m\n"
 
 #. @-expanded: error allocating block bitmap (%N): %m\n
-#: e2fsck/problem.c:728
+#: e2fsck/problem.c:731
 msgid "@A @b @B (%N): %m\n"
 msgstr "@A @b @B (%N): %m\n"
 
 #. @-expanded: error allocating icount link information: %m\n
-#: e2fsck/problem.c:734
+#: e2fsck/problem.c:737
 #, fuzzy, no-c-format
 msgid "@A icount link information: %m\n"
 msgstr "Maklumat Peranti Terlampir"
 
 #. @-expanded: error allocating directory block array: %m\n
-#: e2fsck/problem.c:740
+#: e2fsck/problem.c:743
 #, fuzzy, no-c-format
 msgid "@A @d @b array: %m\n"
-msgstr "@A @b @B (%N): %m\n"
+msgstr "%a, %b %d / %H∶%M"
 
 #. @-expanded: Error while scanning inodes (%i): %m\n
-#: e2fsck/problem.c:746
+#: e2fsck/problem.c:749
 #, fuzzy, no-c-format
 msgid "Error while scanning @is (%i): %m\n"
 msgstr "Ralat menyahumpuk @i %i: %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i: %m\n
-#: e2fsck/problem.c:752
+#: e2fsck/problem.c:755
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i: %m\n"
 msgstr ""
 
 #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n
-#: e2fsck/problem.c:757
+#: e2fsck/problem.c:760
 msgid "Error storing @i count information (@i=%i, count=%N): %m\n"
 msgstr ""
 
 #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n
-#: e2fsck/problem.c:762
+#: e2fsck/problem.c:765
 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n"
 msgstr ""
 
 #. @-expanded: Error reading inode %i: %m\n
-#: e2fsck/problem.c:769
+#: e2fsck/problem.c:772
 #, fuzzy, no-c-format
 msgid "Error reading @i %i: %m\n"
 msgstr "Ralat menyahumpuk @i %i: %m\n"
 
 #. @-expanded: inode %i has imagic flag set.  
-#: e2fsck/problem.c:778
+#: e2fsck/problem.c:781
 #, no-c-format
 msgid "@i %i has imagic flag set.  "
 msgstr ""
 
 #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n
 #. @-expanded: or append-only flag set.  
-#: e2fsck/problem.c:784
+#: e2fsck/problem.c:787
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n"
@@ -1699,213 +1679,215 @@
 msgstr ""
 
 #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size.  
-#: e2fsck/problem.c:791
+#: e2fsck/problem.c:794
 #, no-c-format
 msgid "Special (@v/socket/fifo) @i %i has non-zero size.  "
 msgstr ""
 
 #. @-expanded: journal inode is not in use, but contains data.  
-#: e2fsck/problem.c:801
+#: e2fsck/problem.c:804
 #, fuzzy
 msgid "@j @i is not in use, but contains data.  "
 msgstr "Data EXIF mengandungi gambar kecil (%i byte)."
 
 #. @-expanded: journal is not regular file.  
-#: e2fsck/problem.c:806
+#: e2fsck/problem.c:809
 #, fuzzy
 msgid "@j is not regular file.  "
-msgstr "fail kosong biasa"
+msgstr "J"
 
 #. @-expanded: inode %i was part of the orphaned inode list.  
-#: e2fsck/problem.c:812
+#: e2fsck/problem.c:815
 #, fuzzy, no-c-format
 msgid "@i %i was part of the @o @i list.  "
-msgstr "Label Senarai Semasa"
+msgstr "I/O sekarang dibolehkan"
 
 #. @-expanded: inodes that were part of a corrupted orphan linked list found.  
-#: e2fsck/problem.c:818
+#: e2fsck/problem.c:821
 msgid "@is that were part of a corrupted orphan linked list found.  "
 msgstr ""
 
 #. @-expanded: error allocating refcount structure (%N): %m\n
-#: e2fsck/problem.c:823
+#: e2fsck/problem.c:826
 #, fuzzy
 msgid "@A refcount structure (%N): %m\n"
 msgstr "@A @i @B (%N): %m\n"
 
 #. @-expanded: Error reading extended attribute block %b for inode %i.  
-#: e2fsck/problem.c:828
+#: e2fsck/problem.c:831
 #, fuzzy
 msgid "Error reading @a @b %b for @i %i.  "
 msgstr "Ralat membaca @d @b %b (@i %i): %m\n"
 
 #. @-expanded: inode %i has a bad extended attribute block %b.  
-#: e2fsck/problem.c:833
+#: e2fsck/problem.c:836
 #, fuzzy
 msgid "@i %i has a bad @a @b %b.  "
-msgstr "@A @i @B (%N): %m\n"
+msgstr "<b><i>Perintah</i></b>"
 
 #. @-expanded: Error reading extended attribute block %b (%m).  
-#: e2fsck/problem.c:838
+#: e2fsck/problem.c:841
 #, fuzzy
 msgid "Error reading @a @b %b (%m).  "
-msgstr "Ralat menyalin dalam gantian @b @B: %m\n"
+msgstr "Terdapat ralat semasa membaca folder \"%B\"."
 
 #. @-expanded: extended attribute block %b has reference count %r, should be %N.  
-#: e2fsck/problem.c:843
+#: e2fsck/problem.c:846
 #, fuzzy
 msgid "@a @b %b has reference count %r, @s %N.  "
 msgstr "@p @h %d: nod (%B) mempunyai @n bilangan (%N)\n"
 
 #. @-expanded: Error writing extended attribute block %b (%m).  
-#: e2fsck/problem.c:848
+#: e2fsck/problem.c:851
 #, fuzzy
 msgid "Error writing @a @b %b (%m).  "
 msgstr "Ralat menyalin dalam gantian @b @B: %m\n"
 
 #. @-expanded: extended attribute block %b has h_blocks > 1.  
-#: e2fsck/problem.c:853
+#: e2fsck/problem.c:856
 #, fuzzy
 msgid "@a @b %b has h_@bs > 1.  "
 msgstr "Mempunyai &Heading"
 
 #. @-expanded: error allocating extended attribute region allocation structure.  
-#: e2fsck/problem.c:858
+#: e2fsck/problem.c:861
 #, fuzzy
 msgid "@A @a region allocation structure.  "
-msgstr "Ralat dalaman dalam pengumpukan memori."
+msgstr "Peruntukan"
 
 #. @-expanded: extended attribute block %b is corrupt (allocation collision).  
-#: e2fsck/problem.c:863
+#: e2fsck/problem.c:866
+#, fuzzy
 msgid "@a @b %b is corrupt (allocation collision).  "
-msgstr ""
+msgstr "<b>Allocation</b>"
 
 #. @-expanded: extended attribute block %b is corrupt (invalid name).  
-#: e2fsck/problem.c:868
+#: e2fsck/problem.c:871
 #, fuzzy
 msgid "@a @b %b is corrupt (@n name).  "
-msgstr "@A @i @B (%N): %m\n"
+msgstr "<b>Nama Profil</b>"
 
 #. @-expanded: extended attribute block %b is corrupt (invalid value).  
-#: e2fsck/problem.c:873
+#: e2fsck/problem.c:876
 #, fuzzy
 msgid "@a @b %b is corrupt (@n value).  "
 msgstr "@A @i @B (%N): %m\n"
 
 #. @-expanded: inode %i is too big.  
-#: e2fsck/problem.c:879
+#: e2fsck/problem.c:882
 #, fuzzy, no-c-format
 msgid "@i %i is too big.  "
 msgstr "Regular expression terlalu besar"
 
 #. @-expanded: %B (%b) causes directory to be too big.  
-#: e2fsck/problem.c:883
+#: e2fsck/problem.c:886
 msgid "%B (%b) causes @d to be too big.  "
 msgstr ""
 
-#: e2fsck/problem.c:888
+#: e2fsck/problem.c:891
+#, fuzzy
 msgid "%B (%b) causes file to be too big.  "
-msgstr ""
+msgstr "<big><b>Fail telah wujud</b></big>\n"
 
-#: e2fsck/problem.c:893
+#: e2fsck/problem.c:896
 msgid "%B (%b) causes symlink to be too big.  "
 msgstr ""
 
 #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n
-#: e2fsck/problem.c:899
+#: e2fsck/problem.c:902
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set on @f without htree support.\n"
 msgstr ""
 
 #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n
-#: e2fsck/problem.c:905
+#: e2fsck/problem.c:908
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
 msgstr ""
 
 #. @-expanded: HTREE directory inode %i has an invalid root node.\n
-#: e2fsck/problem.c:911
+#: e2fsck/problem.c:914
 #, fuzzy, no-c-format
 msgid "@h %i has an @n root node.\n"
 msgstr "@p @h %d: nod root node ialah @n\n"
 
 #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n
-#: e2fsck/problem.c:916
+#: e2fsck/problem.c:919
 #, fuzzy
 msgid "@h %i has an unsupported hash version (%N)\n"
 msgstr "Sijil tidak mempunyai ciri disokong."
 
 #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n
-#: e2fsck/problem.c:922
+#: e2fsck/problem.c:925
 #, no-c-format
 msgid "@h %i uses an incompatible htree root node flag.\n"
 msgstr ""
 
 #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n
-#: e2fsck/problem.c:927
+#: e2fsck/problem.c:930
 msgid "@h %i has a tree depth (%N) which is too big\n"
 msgstr ""
 
 #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n
 #. @-expanded: filesystem metadata.  
-#: e2fsck/problem.c:933
+#: e2fsck/problem.c:936
 msgid ""
 "Bad @b @i has an indirect @b (%b) that conflicts with\n"
 "@f metadata.  "
 msgstr ""
 
 #. @-expanded: Resize inode (re)creation failed: %m.
-#: e2fsck/problem.c:940
+#: e2fsck/problem.c:943
 #, no-c-format
 msgid "Resize @i (re)creation failed: %m."
 msgstr ""
 
 #. @-expanded: inode %i has a extra size (%IS) which is invalid\n
-#: e2fsck/problem.c:945
+#: e2fsck/problem.c:948
 msgid "@i %i has a extra size (%IS) which is @n\n"
 msgstr ""
 
 #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n
-#: e2fsck/problem.c:950
+#: e2fsck/problem.c:953
 #, fuzzy
 msgid "@a in @i %i has a namelen (%N) which is @n\n"
 msgstr "@i %i (%Q) mempunyai mod @n (%Im).\n"
 
 #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n
-#: e2fsck/problem.c:955
+#: e2fsck/problem.c:958
 msgid "@a in @i %i has a value offset (%N) which is @n\n"
 msgstr ""
 
 #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n
-#: e2fsck/problem.c:960
+#: e2fsck/problem.c:963
 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n"
 msgstr ""
 
 #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n
-#: e2fsck/problem.c:965
+#: e2fsck/problem.c:968
 msgid "@a in @i %i has a value size (%N) which is @n\n"
 msgstr ""
 
 #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n
-#: e2fsck/problem.c:970
+#: e2fsck/problem.c:973
 #, fuzzy
 msgid "@a in @i %i has a hash (%N) which is @n\n"
 msgstr "@i %i (%Q) mempunyai mod @n (%Im).\n"
 
 #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n
-#: e2fsck/problem.c:975
+#: e2fsck/problem.c:978
 msgid "@i %i is a %It but it looks like it is really a directory.\n"
 msgstr ""
 
 #. @-expanded: Error while reading over extent tree in inode %i: %m\n
-#: e2fsck/problem.c:981
+#: e2fsck/problem.c:984
 #, fuzzy, no-c-format
 msgid "Error while reading over @x tree in @i %i: %m\n"
 msgstr "Ralat berlaku bila cuba menyalin cekupan skrin."
 
 #. @-expanded: Failed to iterate extents in inode %i\n
 #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n
-#: e2fsck/problem.c:986
+#: e2fsck/problem.c:989
 msgid ""
 "Failed to iterate extents in @i %i\n"
 "\t(op %s, blk %b, lblk %c): %m\n"
@@ -1913,7 +1895,7 @@
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:992
+#: e2fsck/problem.c:995
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -1921,120 +1903,120 @@
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n
-#: e2fsck/problem.c:997
+#: e2fsck/problem.c:1000
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, physical @b %b, @n len %N)\n"
 msgstr ""
 
 #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n
-#: e2fsck/problem.c:1003
+#: e2fsck/problem.c:1006
 #, no-c-format
 msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n"
 msgstr ""
 
 #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n
-#: e2fsck/problem.c:1009
+#: e2fsck/problem.c:1012
 #, no-c-format
 msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n"
 msgstr ""
 
 #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n
-#: e2fsck/problem.c:1015
+#: e2fsck/problem.c:1018
 #, no-c-format
 msgid "@i %i missing EXTENT_FL, but is in extents format\n"
 msgstr ""
 
-#: e2fsck/problem.c:1021
+#: e2fsck/problem.c:1024
 #, no-c-format
 msgid "Fast symlink %i has EXTENT_FL set.  "
 msgstr ""
 
 #. @-expanded: inode %i has out of order extents\n
 #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1026
+#: e2fsck/problem.c:1029
 msgid ""
 "@i %i has out of order extents\n"
 "\t(@n logical @b %c, physical @b %b, len %N)\n"
 msgstr ""
 
 #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n
-#: e2fsck/problem.c:1030
+#: e2fsck/problem.c:1033
 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n"
 msgstr ""
 
 #. @-expanded: Error converting subcluster block bitmap: %m\n
-#: e2fsck/problem.c:1036
+#: e2fsck/problem.c:1039
 #, fuzzy, no-c-format
 msgid "Error converting subcluster @b @B: %m\n"
 msgstr "Ralat menyalin dalam gantian @b @B: %m\n"
 
 #. @-expanded: quota inode is not a regular file.  
-#: e2fsck/problem.c:1041
+#: e2fsck/problem.c:1044
 #, fuzzy
 msgid "@q @i is not a regular file.  "
 msgstr "@i %i (%Q) adalah soket @I.\n"
 
 #. @-expanded: quota inode is not in use, but contains data.  
-#: e2fsck/problem.c:1046
+#: e2fsck/problem.c:1049
 #, fuzzy
 msgid "@q @i is not in use, but contains data.  "
 msgstr "Data EXIF mengandungi gambar kecil (%i byte)."
 
 #. @-expanded: quota inode is visible to the user.  
-#: e2fsck/problem.c:1051
+#: e2fsck/problem.c:1054
 #, fuzzy
 msgid "@q @i is visible to the user.  "
-msgstr "@i %i (%Q) adalah soket @I.\n"
+msgstr "Symlink %Q (@i #%i) adalah @n.\n"
 
 #. @-expanded: The bad block inode looks invalid.  
-#: e2fsck/problem.c:1056
+#: e2fsck/problem.c:1059
 #, fuzzy
 msgid "The bad @b @i looks @n.  "
 msgstr "@A @i @B (%N): %m\n"
 
 #. @-expanded: inode %i has zero length extent\n
 #. @-expanded: \t(invalid logical block %c, physical block %b)\n
-#: e2fsck/problem.c:1061
+#: e2fsck/problem.c:1064
 msgid ""
 "@i %i has zero length extent\n"
 "\t(@n logical @b %c, physical @b %b)\n"
 msgstr ""
 
 #. @-expanded: inode %i seems to contain garbage.  
-#: e2fsck/problem.c:1067
+#: e2fsck/problem.c:1070
 #, fuzzy, no-c-format
 msgid "@i %i seems to contain garbage.  "
 msgstr "Regular expression terlalu besar"
 
 #. @-expanded: inode %i passes checks, but checksum does not match inode.  
-#: e2fsck/problem.c:1073
+#: e2fsck/problem.c:1076
 #, no-c-format
 msgid "@i %i passes checks, but checksum does not match @i.  "
 msgstr ""
 
 #. @-expanded: inode %i extended attribute is corrupt (allocation collision).  
-#: e2fsck/problem.c:1079
+#: e2fsck/problem.c:1082
 #, no-c-format
 msgid "@i %i @a is corrupt (allocation collision).  "
 msgstr ""
 
 #. @-expanded: inode %i extent block passes checks, but checksum does not match extent\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1087
+#: e2fsck/problem.c:1090
 msgid ""
 "@i %i extent block passes checks, but checksum does not match extent\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
 msgstr ""
 
 #. @-expanded: inode %i extended attribute block %b passes checks, but checksum does not match block.  
-#: e2fsck/problem.c:1096
+#: e2fsck/problem.c:1099
 msgid "@i %i @a @b %b passes checks, but checksum does not match @b.  "
 msgstr ""
 
 #. @-expanded: Interior extent node level %N of inode %i:\n
 #. @-expanded: Logical start %b does not match logical start %c at next level.  
-#: e2fsck/problem.c:1101
+#: e2fsck/problem.c:1104
 msgid ""
 "Interior @x node level %N of @i %i:\n"
 "Logical start %b does not match logical start %c at next level.  "
@@ -2042,59 +2024,59 @@
 
 #. @-expanded: inode %i, end of extent exceeds allowed value\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1107
+#: e2fsck/problem.c:1110
 msgid ""
 "@i %i, end of extent exceeds allowed value\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
 msgstr ""
 
 #. @-expanded: inode %i has inline data, but superblock is missing INLINE_DATA feature\n
-#: e2fsck/problem.c:1113
+#: e2fsck/problem.c:1116
 #, no-c-format
 msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
 msgstr ""
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag on filesystem without inline data support.\n
-#: e2fsck/problem.c:1119
+#: e2fsck/problem.c:1122
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"
 msgstr ""
 
 #. @-expanded: inode %i block %b conflicts with critical metadata, skipping block checks.\n
-#: e2fsck/problem.c:1127
+#: e2fsck/problem.c:1130
 #, no-c-format
 msgid "@i %i block %b conflicts with critical metadata, skipping block checks.\n"
 msgstr ""
 
 #. @-expanded: directory inode %i block %b should be at block %c.  
-#: e2fsck/problem.c:1132
+#: e2fsck/problem.c:1135
 #, fuzzy
 msgid "@d @i %i @b %b should be at @b %c.  "
-msgstr "Ralat menulis @d @b %b (@i %i): %m\n"
+msgstr "@A baru @d @b untuk @i %i (%s): %m\n"
 
 #. @-expanded: directory inode %i has extent marked uninitialized at block %c.  
-#: e2fsck/problem.c:1138
+#: e2fsck/problem.c:1141
 #, fuzzy, no-c-format
 msgid "@d @i %i has @x marked uninitialized at @b %c.  "
 msgstr "@d @i %i mempunyai @b tidak diumpuk #%B.  "
 
 #. @-expanded: inode %i logical block %b (physical block %c) violates cluster allocation rules.\n
 #. @-expanded: Will fix in pass 1B.\n
-#: e2fsck/problem.c:1143
+#: e2fsck/problem.c:1146
 msgid ""
 "@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\n"
 "Will fix in pass 1B.\n"
 msgstr ""
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag but extended attribute not found.  
-#: e2fsck/problem.c:1149
+#: e2fsck/problem.c:1152
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag but @a not found.  "
 msgstr ""
 
 #. @-expanded: Special (device/socket/fifo) file (inode %i) has extents\n
 #. @-expanded: or inline-data flag set.  
-#: e2fsck/problem.c:1156
+#: e2fsck/problem.c:1159
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo) file (@i %i) has extents\n"
@@ -2102,100 +2084,144 @@
 msgstr ""
 
 #. @-expanded: inode %i has extent header but inline data flag is set.\n
-#: e2fsck/problem.c:1163
+#: e2fsck/problem.c:1166
 #, no-c-format
 msgid "@i %i has @x header but inline data flag is set.\n"
 msgstr ""
 
 #. @-expanded: inode %i seems to have inline data but extent flag is set.\n
-#: e2fsck/problem.c:1169
+#: e2fsck/problem.c:1172
 #, no-c-format
 msgid "@i %i seems to have inline data but @x flag is set.\n"
 msgstr ""
 
 #. @-expanded: inode %i seems to have block map but inline data and extent flags set.\n
-#: e2fsck/problem.c:1175
+#: e2fsck/problem.c:1178
 #, no-c-format
 msgid "@i %i seems to have @b map but inline data and @x flags set.\n"
 msgstr ""
 
 #. @-expanded: inode %i has inline data and extent flags set but i_block contains junk.\n
-#: e2fsck/problem.c:1181
+#: e2fsck/problem.c:1184
 #, no-c-format
 msgid "@i %i has inline data and @x flags set but i_block contains junk.\n"
 msgstr ""
 
 #. @-expanded: Bad block list says the bad block list inode is bad.  
-#: e2fsck/problem.c:1186
+#: e2fsck/problem.c:1189
 msgid "Bad block list says the bad block list @i is bad.  "
 msgstr ""
 
 #. @-expanded: error allocating extent region allocation structure.  
-#: e2fsck/problem.c:1191
+#: e2fsck/problem.c:1194
 #, fuzzy
 msgid "@A @x region allocation structure.  "
-msgstr "Tidak dapat mengembang /@l: %m\n"
+msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan"
 
 #. @-expanded: inode %i has a duplicate extent mapping\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:1196
+#: e2fsck/problem.c:1199
 msgid ""
 "@i %i has a duplicate @x mapping\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
 msgstr ""
 
-#. @-expanded: error allocating memory for encrypted directory list\n
-#: e2fsck/problem.c:1201
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
+#: e2fsck/problem.c:1204
 #, fuzzy
-msgid "@A memory for encrypted @d list\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
 msgstr "Kehabisan memori ketika memadam sektor %d-%d\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
-#: e2fsck/problem.c:1206
+#: e2fsck/problem.c:1209
 msgid "@i %i @x tree could be more shallow (%b; could be <= %c)\n"
 msgstr ""
 
 #. @-expanded: inode %i on bigalloc filesystem cannot be block mapped.  
-#: e2fsck/problem.c:1212
+#: e2fsck/problem.c:1215
 #, no-c-format
 msgid "@i %i on bigalloc @f cannot be @b mapped.  "
 msgstr ""
 
 #. @-expanded: inode %i has corrupt extent header.  
-#: e2fsck/problem.c:1218
+#: e2fsck/problem.c:1221
 #, fuzzy, no-c-format
 msgid "@i %i has corrupt @x header.  "
 msgstr "Nama terlalu panjang"
 
 #. @-expanded: Timestamp(s) on inode %i beyond 2310-04-04 are likely pre-1970.\n
-#: e2fsck/problem.c:1224
+#: e2fsck/problem.c:1227
 #, no-c-format
 msgid "Timestamp(s) on @i %i beyond 2310-04-04 are likely pre-1970.\n"
 msgstr ""
 
 #. @-expanded: inode %i has illegal extended attribute value inode %N.\n
-#: e2fsck/problem.c:1229
+#: e2fsck/problem.c:1232
 #, fuzzy
 msgid "@i %i has @I @a value @i %N.\n"
 msgstr "@i %i (%Q) mempunyai mod @n (%Im).\n"
 
 #. @-expanded: inode %i has invalid extended attribute. EA inode %N missing EA_INODE flag.\n
-#: e2fsck/problem.c:1235
+#: e2fsck/problem.c:1238
 msgid "@i %i has @n @a. EA @i %N missing EA_INODE flag.\n"
 msgstr ""
 
 #. @-expanded: EA inode %N for parent inode %i missing EA_INODE flag.\n
 #. @-expanded:  
-#: e2fsck/problem.c:1240
+#: e2fsck/problem.c:1243
 msgid ""
 "EA @i %N for parent @i %i missing EA_INODE flag.\n"
 " "
 msgstr ""
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, fuzzy, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "@d @i %i mempunyai @b tidak diumpuk #%B.  "
+
+#. @-expanded: inode %i has the casefold flag set but is not a directory.  
+#: e2fsck/problem.c:1254
+#, c-format
+msgid "@i %i has the casefold flag set but is not a directory.  "
+msgstr ""
+
+#. @-expanded: directory %p has the casefold flag, but the\n
+#. @-expanded: casefold feature is not enabled.  
+#: e2fsck/problem.c:1259
+#, c-format
+msgid ""
+"@d %p has the casefold flag, but the\n"
+"casefold feature is not enabled.  "
+msgstr ""
+
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr ""
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, fuzzy, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "%s: fail terlalu pendek untuk menjadi fail gmon\n"
+
+#. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
+#: e2fsck/problem.c:1274
+msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
+msgstr ""
+
+#. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
+#: e2fsck/problem.c:1279
+#, c-format
+msgid "@h %i uses SipHash, but should not.  "
+msgstr ""
+
 #. @-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
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2203,139 +2229,139 @@
 msgstr ""
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1255
+#: e2fsck/problem.c:1294
 #, fuzzy, no-c-format
 msgid "@m @b(s) in @i %i:"
-msgstr "@A @i @B (%N): %m\n"
+msgstr "%A, %-d %B %Y pada %-I:%M:%S %p"
 
-#: e2fsck/problem.c:1271
+#: e2fsck/problem.c:1310
 #, fuzzy, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Ralat apabila membaca fail."
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1316
 #, fuzzy, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "@A baru @d @b untuk @i %i (%s): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1283
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr ""
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1288 e2fsck/problem.c:1663
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 #, fuzzy
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Ralat menyalin dalam penggantian @i @B: %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1298
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr ""
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1304
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr ""
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1309
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
 msgstr ""
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1315
+#: e2fsck/problem.c:1354
 #, fuzzy
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "@i %i (%Q) mempunyai mod @n (%Im).\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1359
 #, fuzzy
 msgid "\t<@f metadata>\n"
-msgstr "font %f terlalu besar"
+msgstr "Data meta"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1325
+#: e2fsck/problem.c:1364
 #, fuzzy
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
-msgstr "@A @i @B (%N): %m\n"
+msgstr "HYPGEOMDIST(x; n; M; N)"
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1330
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
 msgstr ""
 
-#: e2fsck/problem.c:1344
+#: e2fsck/problem.c:1383
 #, fuzzy, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Tidak dapat membuka fail profil"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1350
+#: e2fsck/problem.c:1389
 #, fuzzy
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Mengoptimakan direktori"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1356
+#: e2fsck/problem.c:1395
 #, fuzzy, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Gagal untuk mengoptima direktori %q (%d): %m"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1361
+#: e2fsck/problem.c:1400
 #, fuzzy
 #| msgid "Optimizing directories: "
 msgid "Optimizing @x trees: "
 msgstr "Mengoptimumkan direktori: "
 
-#: e2fsck/problem.c:1376
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr ""
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1381
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr ""
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1386
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr ""
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1393
+#: e2fsck/problem.c:1432
 #, fuzzy
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Ulangan 3: Memeriksa sambungan @d\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1399
+#: e2fsck/problem.c:1438
 #, fuzzy, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
-msgstr "@A @i @B (%N): %m\n"
+msgstr "Symlink %Q (@i #%i) adalah @n.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1404
+#: e2fsck/problem.c:1443
 #, fuzzy
 msgid "@E has @n @i #: %Di.\n"
 msgstr "@i %i (%Q) mempunyai mod @n (%Im).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1409
+#: e2fsck/problem.c:1448
 #, fuzzy
 msgid "@E has @D/unused @i %Di.  "
 msgstr ""
@@ -2343,307 +2369,312 @@
 "\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1414
+#: e2fsck/problem.c:1453
 #, fuzzy
 msgid "@E @L to '.'  "
-msgstr "@E adalah salinan '.' @e.\n"
+msgstr "%b %e %l:%M %p"
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1419
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr ""
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1424
+#: e2fsck/problem.c:1463
 #, fuzzy
 msgid "@E @L to @d %P (%Di).\n"
-msgstr "Ub&ahsuai kepada:"
+msgstr "%a %e %b_%l:%M %p"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1429
+#: e2fsck/problem.c:1468
 #, fuzzy
 msgid "@E @L to the @r.\n"
-msgstr "@E adalah salinan '.' @e.\n"
+msgstr "%a %e %b_%R:%S"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1434
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr ""
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1440
+#: e2fsck/problem.c:1479
 #, fuzzy, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "/@l adalah bukan sejenis @d (ino=%i)\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1485
 #, fuzzy, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "/@l adalah bukan sejenis @d (ino=%i)\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1490
 #, fuzzy
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "Pergi ke fail pertama dalam senarai"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr ""
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1461
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "i_faddr @F %IF, @s sifar.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1466
+#: e2fsck/problem.c:1505
 #, fuzzy
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "i_faddr @F %IF, @s sifar.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1471
+#: e2fsck/problem.c:1510
 #, fuzzy
 #| msgid "i_fsize @F %N, @s zero.\n"
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "i_fsize @F %N, @s sifar.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1476
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "i_frag @F %N, @s sifar.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1481
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "i_fsize @F %N, @s sifar.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1486
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "@i %i (%Q) mempunyai mod @n (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1491
+#: e2fsck/problem.c:1530
 #, fuzzy
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "@d @i %i, @b %B, offset %N: @d rosak\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1496
+#: e2fsck/problem.c:1535
 #, fuzzy
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "@d @i %i, @b %B, offset %N: namafail terlalu panjang\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1501
+#: e2fsck/problem.c:1540
 #, fuzzy
 msgid "@d @i %i has an unallocated %B.  "
-msgstr "@A baru @d @b untuk @i %i (%s): %m\n"
+msgstr "%b %d %I∶%M %p"
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1507
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr ""
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr ""
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "@i %i (%Q) adalah @I aksara @v.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "@i %i (%Q) adalah @I @b @v.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1528
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "@E adalah salinan '.' @e.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1533
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "@E adalah salinan '..' @e.\n"
 
-#: e2fsck/problem.c:1539 e2fsck/problem.c:1898
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr ""
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1544
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr ""
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1589
 #, fuzzy, no-c-format
 msgid "@A icount structure: %m\n"
-msgstr "@A @i @B (%N): %m\n"
+msgstr "Nombor ajaib yang salah untuk struktur icount"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1556
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Ralat mengulang ke atas @d @bs: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1561
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Ralat membaca @d @b %b (@i %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Ralat menulis @d @b %b (@i %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "@A baru @d @b untuk @i %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Ralat menyahumpuk @i %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1584
+#: e2fsck/problem.c:1623
 #, fuzzy, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
-msgstr "'..' dalam %Q (%i) adalah %P (%j), @s %q (%d).\n"
+msgstr "%B %e %Y, %I∶%M∶%S %p"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1589
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "@i %i (%Q) adalah @I FIFO.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "@i %i (%Q) adalah soket @I.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1599
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Menetapkan jenisfail untuk @E ke %N.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1604
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr ""
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1609
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "@E mempunyai jenisfail ditetapkan.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1614
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "@E mempunyai nama @z.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1619
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Symlink %Q (@i #%i) adalah @n.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1624
+#: e2fsck/problem.c:1663
 #, fuzzy
 msgid "@a @b @F @n (%If).\n"
 msgstr "@A @b @B (%N): %m\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1629
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr ""
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1634
+#: e2fsck/problem.c:1673
 #, fuzzy
 msgid "@p @h %d: %B not referenced\n"
-msgstr "@b tidak dijangka dalam @h %d (%q).\n"
+msgstr "%b %d, %H∶%M"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1639
+#: e2fsck/problem.c:1678
 #, fuzzy
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "@p @h %d (%q): buruk @b nombor %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1644
+#: e2fsck/problem.c:1683
 #, fuzzy
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "@p @h %d: nod (%B) mempunyai kedalaman @n\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1649
+#: e2fsck/problem.c:1688
 #, fuzzy
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "@p @h %d: nod (%B) mempunyai kedalaman @n\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1654
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "@n @h %d (%q).  "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr ""
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1658
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "@p @h %d (%q): buruk @b nombor %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1669
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "@p @h %d: nod root node ialah @n\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1674
+#: e2fsck/problem.c:1718
 #, fuzzy
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "@p @h %d: nod (%B) mempunyai had @n (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1679
+#: e2fsck/problem.c:1723
 #, fuzzy
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "@p @h %d: nod (%B) mempunyai @n bilangan (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1684
+#: e2fsck/problem.c:1728
 #, fuzzy
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "@p @h %d: nod (%B) mempunyai kedalaman @n\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1689
+#: e2fsck/problem.c:1733
 #, fuzzy
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "@p @h %d: nod (%B) mempunyai kedalaman @n\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1694
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Salinan @E dijumpai.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1699
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2653,7 +2684,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1704
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2661,160 +2692,182 @@
 msgstr ""
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1709
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi @F %N, @s sifar.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1714
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "@b tidak dijangka dalam @h %d (%q).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1719
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr ""
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1724
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr ""
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1729
+#: e2fsck/problem.c:1773
 #, fuzzy
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi @F %N, @s sifar.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1735
+#: e2fsck/problem.c:1779
 #, fuzzy, no-c-format
 #| msgid "@p @h %d: root node is @n\n"
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "@p @h %d: nod root node ialah @n\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1785
 #, fuzzy, no-c-format
 #| msgid "@p @h %d: root node is @n\n"
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "@p @h %d: nod root node ialah @n\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1790
 #, fuzzy
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "@d @i %i, @b %B, offset %N: @d rosak\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr ""
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1756
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr ""
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1762
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr ""
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1767
+#: e2fsck/problem.c:1811
 #, fuzzy
 msgid "Encrypted @E is too short.\n"
-msgstr "%s: fail terlalu pendek untuk menjadi fail gmon\n"
+msgstr "Tajuk filem terlalu pendek"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr ""
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr ""
+
+#. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
+#: e2fsck/problem.c:1831
+#, fuzzy
+#| msgid "Duplicate @E found.  "
+msgid "Duplicate filename @E found.  "
+msgstr "Salinan @E dijumpai.  "
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1774
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Ulangan 3: Memeriksa sambungan @d\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1779
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "@r tidak diumpukkan.  "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Tiada ruang dalam @l @d.  "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1790
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, fuzzy, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "'..' dalam %Q (%i) adalah %P (%j), @s %q (%d).\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "@i %i (%Q) adalah @I FIFO.\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1795
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "/@l tidak dijumpai.  "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1800
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "'..' dalam %Q (%i) adalah %P (%j), @s %q (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr ""
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1812
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Tidak dapat mengembang /@l: %m\n"
 
-#: e2fsck/problem.c:1818
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Tidak dapat menyambung semula %i: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1824
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Ralat ketika cuba mencari /@l: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1830
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr ""
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1836
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr ""
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1842
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr ""
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1848
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr ""
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1854
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr ""
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1860
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2825,7 +2878,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1866
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2833,42 +2886,42 @@
 msgstr ""
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1877
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Ralat mencipta root @d (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1883
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Ralat mencipta /@l @d (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1888
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "@r adalah bukan @d; menghentikan.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Tidak dapat meneruskan tanpa @r.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/@l adalah bukan sejenis @d (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1909
+#: e2fsck/problem.c:1974
 #, fuzzy
 msgid "/@l has inline data\n"
 msgstr "Inode tidak mempunyai data sebaris"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1914
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2877,7 +2930,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1919
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2885,55 +2938,61 @@
 msgstr ""
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1924
+#: e2fsck/problem.c:1989
 #, fuzzy
 msgid "/@l is encrypted\n"
-msgstr "/@l tidak dijumpai.  "
+msgstr "Disulitkan oleh:"
 
-#: e2fsck/problem.c:1931
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, fuzzy, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "'..' dalam %Q (%i) adalah %P (%j), @s %q (%d).\n"
+
+#: e2fsck/problem.c:2002
 #, fuzzy
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Mengoptimumkan direktori: "
 
-#: e2fsck/problem.c:1937
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:1942
+#: e2fsck/problem.c:2013
 #, fuzzy
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Gagal untuk mengoptima direktori %q (%d): %m"
 
-#: e2fsck/problem.c:1947
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Mengoptimumkan direktori: "
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr ""
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1970
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "@u @z @i %i.  "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:1976
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "@u @i %i\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:1981
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr ""
 
 #. @-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
-#: e2fsck/problem.c:1985
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2941,161 +3000,167 @@
 msgstr ""
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:1992
+#: e2fsck/problem.c:2063
 #, fuzzy
 msgid "@a @i %i ref count is %N, @s %n. "
-msgstr "i_blocks_hi @F %N, @s sifar.\n"
+msgstr "i_fsize @F %N, @s sifar.\n"
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr ""
 
+#. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
+#: e2fsck/problem.c:2073
+msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
+msgstr ""
+
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2004
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr ""
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2009
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr ""
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2014
+#: e2fsck/problem.c:2090
+#, fuzzy
 msgid "Padding at end of @b @B is not set. "
-msgstr ""
+msgstr "<b>Tetapkan Aplikasi Kegemaran</b>"
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "@b @B perbezaan: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "@i @B perbezaan: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2063
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr ""
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2068
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr ""
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr ""
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2078
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr ""
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2083
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr ""
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2088
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr ""
 
-#: e2fsck/problem.c:2094
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr ""
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Ralat menyalin dalam penggantian @i @B: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2106
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Ralat menyalin dalam gantian @b @B: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2136
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr ""
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2142
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr ""
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2148
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr ""
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2154
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr ""
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2161
+#: e2fsck/problem.c:2237
 #, fuzzy
 msgid "Recreate @j"
-msgstr "Buatsemula Ikon Lalai"
+msgstr "Cipta semula folder yang tersimpan dalam arkib"
 
-#: e2fsck/problem.c:2166
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr ""
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2172
+#: e2fsck/problem.c:2248
 #, fuzzy, no-c-format
 #| msgid "while setting block group checksum info"
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "ketika menetapkan maklumat checksum kumpulan blok"
 
-#: e2fsck/problem.c:2178
+#: e2fsck/problem.c:2254
 #, fuzzy, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Ralat memadam gulungan mel.\n"
 
-#: e2fsck/problem.c:2184
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr ""
 
-#: e2fsck/problem.c:2189
+#: e2fsck/problem.c:2265
 #, fuzzy
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Ralat memadam gulungan mel.\n"
 
-#: e2fsck/problem.c:2352
-#, c-format
+#: e2fsck/problem.c:2430
+#, fuzzy, c-format
 msgid "Unhandled error code (0x%x)!\n"
-msgstr ""
+msgstr "Ralat LDAP 0x%x (%s)"
 
-#: e2fsck/problem.c:2482 e2fsck/problem.c:2486
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "DIABAIKAN"
 
 #: e2fsck/quota.c:30 e2fsck/quota.c:37 e2fsck/quota.c:50 e2fsck/quota.c:59
 #, fuzzy
 msgid "in move_quota_inode"
-msgstr "Semakan inode tidak sepadan inode"
+msgstr "Inod"
 
 #: e2fsck/scantest.c:79
 #, c-format
-msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
+msgid "Memory used: %lu, elapsed time: %6.3f/%6.3f/%6.3f\n"
 msgstr ""
 
 #: e2fsck/scantest.c:98
@@ -3103,6 +3168,11 @@
 msgid "size of inode=%d\n"
 msgstr "saiz inod=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+#, fuzzy
+msgid "while opening inode scan"
+msgstr "ketika memulakan pengesanan inod"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "ketika memulakan pengesanan inod"
@@ -3121,15 +3191,16 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr ""
 
-#: e2fsck/super.c:374
-msgid "Truncating"
-msgstr ""
-
 #: e2fsck/super.c:375
+#, fuzzy
+msgid "Truncating"
+msgstr "Ralat tidak diketahui #0 dikendalikan ketika memangkas fail."
+
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Mengosongkan"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3137,7 +3208,7 @@
 "\t\t[-E extended-options] [-z undo_file] device\n"
 msgstr ""
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3148,7 +3219,7 @@
 " -f                   Force checking even if filesystem is marked clean\n"
 msgstr ""
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3159,12 +3230,12 @@
 " -z undo_file         Create an undo file\n"
 msgstr ""
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, fuzzy, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: bersih, %u/%u fail, %u/%u blok"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3174,47 +3245,47 @@
 "%12u inodes used (%2.2f%%, out of %u)\n"
 msgstr[0] ""
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
 msgstr[0] ""
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
 msgstr[0] ""
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr ""
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 #, fuzzy
 msgid "             Extent depth histogram: "
-msgstr "Pengepala takat rosak"
+msgstr "Kedalaman:"
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] ""
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, fuzzy, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] "%12u fifo\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, fuzzy, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] "%12u fifo\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -3222,91 +3293,91 @@
 msgid_plural ""
 "\n"
 "%12u regular files\n"
-msgstr[0] "fail biasa"
+msgstr[0] "Bukan satu fail nalar."
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, fuzzy, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
 msgstr[0] "%12u fifo\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, fuzzy, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
-msgstr[0] "Fail \"%s\" adalah sebuah fail peranti"
+msgstr[0] "/dev/urandom bukan peranti aksara"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, fuzzy, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
-msgstr[0] "%s adalah bukan peranti khas.\n"
+msgstr[0] "Peranti blok"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] "%12u fifo\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, fuzzy, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] "%12u fifo\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, fuzzy, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] "pautan simbolik"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, fuzzy, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
-msgstr[0] "pautan simbolik"
+msgstr[0] "Cipta pautan simbolik ke fail."
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, fuzzy, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
-msgstr[0] "%12u fifo\n"
+msgstr[0] "soket"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, fuzzy, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] "%12u fifo\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2986 misc/util.c:129
-#: resize/main.c:354
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "ketika menentukan sama ada %s telah dilekapkan."
 
-#: e2fsck/unix.c:259
-#, fuzzy, c-format
-msgid "Warning!  %s is mounted.\n"
-msgstr "\tterakhir dilekapkan pada %s pada %s"
-
 #: e2fsck/unix.c:262
 #, fuzzy, c-format
-msgid "Warning!  %s is in use.\n"
-msgstr "AMARAN: %s"
+msgid "Warning!  %s is mounted.\n"
+msgstr "%s dilekapkan; "
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:265
+#, fuzzy, c-format
+msgid "Warning!  %s is in use.\n"
+msgstr "%s Amaran"
+
+#: e2fsck/unix.c:271
 #, fuzzy, c-format
 #| msgid "%s is mounted.  "
 msgid "%s is mounted.\n"
 msgstr "%s dilekapkan; "
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, fuzzy, c-format
 #| msgid "%s is mounted.  "
 msgid "%s is in use.\n"
-msgstr "opsyen `-%s' sudah luput; guna `-%c %.*s%.*s%s'"
+msgstr "Menetapkan %s untuk tidak guna satu anak pusat"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3314,7 +3385,7 @@
 "Tidak dapat meneruskan, membatalkan.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3323,89 +3394,89 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "Adakah anda pasti untuk meneruskan"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "pemeriksaan dibatalkan.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 #, fuzzy
 msgid " contains a file system with errors"
 msgstr "%s mengandungi sistem fail %s\n"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " telah tidak dinyahlekap dengan bersih"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr ""
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr ""
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr ""
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr ""
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr ""
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", pemeriksaan dipaksa.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, fuzzy, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: bersih, %u/%u fail, %u/%u blok"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 #, fuzzy
 msgid " (check deferred; on battery)"
-msgstr " (periksa selepas lekapan akan datang)"
+msgstr "Ditangguhkan"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (periksa selepas lekapan akan datang)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (diperiksa daiam lekapan %ld)"
 
-#: e2fsck/unix.c:618
-#, c-format
+#: e2fsck/unix.c:621
+#, fuzzy, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
-msgstr ""
+msgstr "RALAT: tidak dapat buka %s untuk penulisan"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Versi EA tidak sah.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 #, fuzzy
 #| msgid "Invalid resize parameter: %s\n"
 msgid "Invalid readahead buffer size.\n"
-msgstr "Tidak dapat memperoleh saiz buffer paip"
+msgstr "Penimbal mengandungi aksara-aksara tidak sah."
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Pilihan lanjutan tidak diketahui: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3413,84 +3484,95 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr ""
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 #, fuzzy
 #| msgid "Invalid resize parameter: %s\n"
 msgid "\treadahead_kb=<buffer size>\n"
-msgstr "Tidak dapat memperoleh saiz buffer paip"
+msgstr "Saiz penimbal FIFO (dalam kb)"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
 "\t%s\n"
 msgstr ""
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Ralat mengesahkan penghurai fail %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
+#, fuzzy
 msgid "Invalid completion information file descriptor"
-msgstr ""
+msgstr "Ralat mendapatkan maklumat untuk penerang fail: %s"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr ""
 
-#: e2fsck/unix.c:903
-#, c-format
+#: e2fsck/unix.c:915
+#, fuzzy, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
-msgstr ""
+msgstr "Pilihan “%s” tidak lagi disokong dalam versi gnome-terminal ini."
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1695 misc/tune2fs.c:1990 misc/tune2fs.c:2008
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Tidak dapat menghurai '%s'"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 #, fuzzy
 msgid "The -n and -D options are incompatible."
 msgstr "pilihan -l dan -s tidak sepadan"
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 #, fuzzy
 msgid "The -n and -c options are incompatible."
 msgstr "pilihan -l dan -s tidak sepadan"
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 #, fuzzy
 msgid "The -n and -l/-L options are incompatible."
 msgstr "pilihan -l dan -s tidak sepadan"
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 #, fuzzy
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "pilihan -l dan -s tidak sepadan"
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 #, fuzzy
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "pilihan -l dan -s tidak sepadan"
 
 #: e2fsck/unix.c:1095
+#, fuzzy, c-format
+msgid "while opening %s for flushing"
+msgstr "Ralat mengosongkan sambungan: %s\n"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, fuzzy, c-format
+msgid "while trying to flush %s"
+msgstr "ketika cuba untuk melaksana '%s'"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, fuzzy, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
 "\n"
-msgstr "`%s' adalah bukan integer positif yang sah"
+msgstr "integer diluar julat: %s"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -3498,31 +3580,31 @@
 "\n"
 msgstr "%s: hujah tidak sah untuk %s%c escape"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 #, fuzzy
 msgid "while checking MMP block"
 msgstr "Pengiraan bitmap MMP tidak sepadan"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, 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:1282
+#: e2fsck/unix.c:1302
 #, fuzzy
 msgid "while reading MMP block"
 msgstr "Pengiraan bitmap MMP tidak sepadan"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2696 misc/mke2fs.c:2747 misc/tune2fs.c:2713
-#: misc/tune2fs.c:2758 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3530,192 +3612,199 @@
 "\n"
 msgstr ""
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2736 misc/tune2fs.c:2747
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "ketika cuba untuk memadam %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2762 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 #, fuzzy
 msgid "while trying to setup undo file\n"
-msgstr "ketika cuba untuk stat %s"
+msgstr "Ralat berlaku bila membaca fail"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr ""
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "ketika cuba memulakan program"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, fuzzy, c-format
 msgid "\tUsing %s, %s\n"
-msgstr "ditandatangan menggunakan %s, "
+msgstr ""
+"[%s] panjang titik perpuluhan (dalam lokal) tidak disokong: >%s<\n"
+"Anda mungkin menghadapi masalah bila menggunakan %s! %s\n"
+")"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr ""
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s mencuba backup blok...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "Superblok tidak sah,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Pemerihal kumpulan kelihatan buruk..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, fuzzy, c-format
 msgid "%s: %s while using the backup blocks"
-msgstr "%s: %s mencuba backup blok...\n"
+msgstr "Menggunakan nama sandar: %s"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, fuzzy, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "ketika membaca superblok jurnal"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 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:1582
+#: e2fsck/unix.c:1603
+#, fuzzy
 msgid "Could this be a zero-length partition?\n"
-msgstr ""
+msgstr "rujukan simbolik panjang-sifar"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr ""
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr ""
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
+#, fuzzy
 msgid "Possibly non-existent device?\n"
-msgstr ""
+msgstr "rujukan ke subpola tidak-wujud"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
+#, fuzzy
 msgid "Get a newer version of e2fsck!"
-msgstr ""
+msgstr "Versi baru (%s) telah dipasang."
 
-#: e2fsck/unix.c:1749
+#: e2fsck/unix.c:1770
 #, fuzzy, c-format
 msgid "while checking journal for %s"
 msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
 
-#: e2fsck/unix.c:1752
+#: e2fsck/unix.c:1773
 #, fuzzy
 #| msgid "Cannot proceed without a @r.\n"
 msgid "Cannot proceed with file system check"
 msgstr "tak dapat membaca maklumat sistem fail bagi %s"
 
-#: e2fsck/unix.c:1763
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr ""
 
-#: e2fsck/unix.c:1775
+#: e2fsck/unix.c:1796
 #, fuzzy, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "Bendera bagi %s ditetapkan sebagai "
 
-#: e2fsck/unix.c:1781
+#: e2fsck/unix.c:1802
 #, fuzzy, c-format
 #| msgid "Journal superblock not found!\n"
 msgid "Journal checksum error found in %s\n"
-msgstr "Superblok jurnal tidak dijumpai!\n"
+msgstr "%s: hasil tambah semak teruk (dijangka %u, temui %u)\n"
 
-#: e2fsck/unix.c:1785
+#: e2fsck/unix.c:1806
 #, fuzzy, c-format
 #| msgid "Journal removed\n"
 msgid "Journal corrupted in %s\n"
-msgstr "%s adalah bukan peranti jurnal.\n"
+msgstr "Menambah jurnal ke peranti %s: "
 
-#: e2fsck/unix.c:1789
+#: e2fsck/unix.c:1810
 #, fuzzy, c-format
 #| msgid "while recovering ext3 journal of %s"
 msgid "while recovering journal of %s"
 msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
 
-#: e2fsck/unix.c:1811
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s tidak mempunyai ciri disokong:"
 
-#: e2fsck/unix.c:1826
+#: e2fsck/unix.c:1847
 #, fuzzy, c-format
 #| msgid "%s has unsupported feature(s):"
 msgid "%s has unsupported encoding: %0x\n"
-msgstr "%s tidak mempunyai ciri disokong:"
+msgstr "Pengekodan \"%s\" tidak disokong"
 
-#: e2fsck/unix.c:1876
+#: e2fsck/unix.c:1897
 #, fuzzy, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "ketika menetapkan inod blok buruk"
 
-#: e2fsck/unix.c:1879
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr ""
 
-#: e2fsck/unix.c:1919
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Mencipta jurnal (%d blok): "
 
-#: e2fsck/unix.c:1929
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr " Selesai.\n"
 
-#: e2fsck/unix.c:1931
+#: e2fsck/unix.c:1954
 #, fuzzy
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
 msgstr "Sistemfail telah mempunyai jurnal.\n"
 
-#: e2fsck/unix.c:1937
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "dibatalkan"
 
-#: e2fsck/unix.c:1939
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: e2fsck dibatalkan.\n"
 
-#: e2fsck/unix.c:1966
+#: e2fsck/unix.c:1989
+#, fuzzy
 msgid "Restarting e2fsck from the beginning...\n"
-msgstr ""
+msgstr "Teruskan dari permulaan?"
 
-#: e2fsck/unix.c:1970
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "ketika mengulangtetap konteks"
 
-#: e2fsck/unix.c:2029
+#: e2fsck/unix.c:2052
 #, fuzzy, c-format
 #| msgid ""
 #| "\n"
@@ -3723,16 +3812,16 @@
 msgid ""
 "\n"
 "%s: ***** FILE SYSTEM ERRORS CORRECTED *****\n"
-msgstr "%s mengandungi sistem fail %s\n"
+msgstr "%s: Ralat ditemui dalam fail. Menghenti paksa.\n"
 
-#: e2fsck/unix.c:2031
+#: e2fsck/unix.c:2054
 #, fuzzy, c-format
 msgid "%s: File system was modified.\n"
 msgstr ""
 "\n"
 "%s: ***** SISTEM FAIL TELAH DIUBAHSUAI *****\n"
 
-#: e2fsck/unix.c:2035 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3741,13 +3830,13 @@
 "\n"
 "%s: ***** SISTEM FAIL TELAH DIUBAHSUAI *****\n"
 
-#: e2fsck/unix.c:2040
+#: e2fsck/unix.c:2063
 #, fuzzy, c-format
 #| msgid "%s: ***** REBOOT LINUX *****\n"
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** ULANGBOOT LINUX *****\n"
 
-#: e2fsck/unix.c:2050 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3755,55 +3844,55 @@
 "\n"
 msgstr ""
 
-#: e2fsck/util.c:196 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "yY"
 
-#: e2fsck/util.c:197 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "tTnN"
 
-#: e2fsck/util.c:198
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "aA"
 
-#: e2fsck/util.c:202
+#: e2fsck/util.c:197
 #, fuzzy
 msgid " ('a' enables 'yes' to all) "
-msgstr "Semua"
+msgstr "Ya untuk se_mua"
 
-#: e2fsck/util.c:219
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<y>"
 
-#: e2fsck/util.c:221
+#: e2fsck/util.c:216
 #, fuzzy
 msgid "<n>"
-msgstr "Tiada"
+msgstr "Tidak tersedia"
 
-#: e2fsck/util.c:223
+#: e2fsck/util.c:218
 #, fuzzy
 msgid " (y/n)"
-msgstr "Teruskan juga? (y,t)"
+msgstr "[y|T]"
 
-#: e2fsck/util.c:246
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "dibatalkan!\n"
 
-#: e2fsck/util.c:279
+#: e2fsck/util.c:274
 #, fuzzy
 msgid "yes to all\n"
-msgstr "Semua"
+msgstr "Ya untuk se_mua"
 
-#: e2fsck/util.c:281
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "ya\n"
 
-#: e2fsck/util.c:283
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "tidak\n"
 
-#: e2fsck/util.c:293
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3812,7 +3901,7 @@
 "%s? tidak\n"
 "\n"
 
-#: e2fsck/util.c:297
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3821,40 +3910,40 @@
 "%s? ya\n"
 "\n"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "ya"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "tidak"
 
-#: e2fsck/util.c:317
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr ""
 
-#: e2fsck/util.c:322
+#: e2fsck/util.c:317
 #, fuzzy
 msgid "reading inode and block bitmaps"
 msgstr "ketika membaca bitmap"
 
-#: e2fsck/util.c:334
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr ""
 
-#: e2fsck/util.c:346
+#: e2fsck/util.c:341
 #, fuzzy
 msgid "writing block and inode bitmaps"
-msgstr "ketika menulis jadual inod"
+msgstr "Peta bit inode tidak sama"
 
-#: e2fsck/util.c:351
+#: e2fsck/util.c:346
 #, fuzzy, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "ketika menulis bitmap blok"
 
-#: e2fsck/util.c:363
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3863,37 +3952,37 @@
 "\t(i.e., without -a or -p options)\n"
 msgstr ""
 
-#: e2fsck/util.c:444
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, fuzzy, c-format
-msgid "Memory used: %luk/%luk (%luk/%luk), "
+msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Memori digunakan: %dk/%dk (%dk/%dk), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, fuzzy, c-format
-msgid "Memory used: %lu, "
-msgstr "Diguna"
+msgid "Memory used: %lluk, "
+msgstr "Ingatan: %ldMB dari %ldMB digunakan"
 
-#: e2fsck/util.c:455
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "masa: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:460
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "masa lepas: %6.3f\n"
 
-#: e2fsck/util.c:495 e2fsck/util.c:509
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, fuzzy, c-format
 msgid "while reading inode %lu in %s"
 msgstr "ketika membaca inod jurnal"
 
-#: e2fsck/util.c:523 e2fsck/util.c:536
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, fuzzy, c-format
 msgid "while writing inode %lu in %s"
-msgstr "ketika menulis inod jurnal"
+msgstr "ketika menulis jadual inod"
 
-#: e2fsck/util.c:792
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr ""
 
@@ -3926,12 +4015,12 @@
 #: misc/badblocks.c:337
 #, fuzzy
 msgid "Testing with random pattern: "
-msgstr "Gagal untuk mendapatkan data rawak."
+msgstr "Pengujian"
 
 #: misc/badblocks.c:355
 #, fuzzy
 msgid "Testing with pattern 0x"
-msgstr "Corak"
+msgstr "Cuba, ..."
 
 #: misc/badblocks.c:387 misc/badblocks.c:460
 msgid "during seek"
@@ -3945,7 +4034,7 @@
 #: misc/badblocks.c:485
 #, fuzzy
 msgid "during ext2fs_sync_device"
-msgstr "ketika mencari"
+msgstr "Peranti tidak dapat digunakan ketika kemas kini."
 
 #: misc/badblocks.c:505 misc/badblocks.c:767
 msgid "while beginning bad block list iteration"
@@ -3995,176 +4084,189 @@
 msgstr ""
 
 #: misc/badblocks.c:803
+#, fuzzy
 msgid ""
 "\n"
 "Interrupt caught, cleaning up\n"
-msgstr ""
+msgstr "Membersihkan..."
 
 #: misc/badblocks.c:886
 #, c-format
 msgid "during test data write, block %lu"
 msgstr ""
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s dilekapkan; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr ""
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 #, fuzzy
 msgid "it's not safe to run badblocks!\n"
 msgstr "blok buruk dipaksa juga.\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, fuzzy, c-format
 msgid "%s is apparently in use by the system; "
-msgstr "%s mengandungi sistem fail %s\n"
+msgstr "G_una fon lebar tetap sistem (%s)"
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "blok buruk dipaksa juga.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "%s tidak sah - %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr ""
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr ""
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr ""
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr ""
 
+#: misc/badblocks.c:1207
+#, fuzzy, c-format
+#| msgid "invalid block size - %s"
+msgid "Invalid block size: %d\n"
+msgstr "saiz blok tidak sah - %s"
+
 #: misc/badblocks.c:1213
+#, fuzzy, c-format
+#| msgid "Invalid blocksize parameter: %s\n"
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Hanya %d blok tersedia"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
 msgstr ""
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr ""
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "blok terakhir"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "blok pertama"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, fuzzy, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "blok permulaan tidak sah (%lu): mesti kurang dari %lu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, fuzzy, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "blok permulaan tidak sah (%lu): mesti kurang dari %lu"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 #, fuzzy
 msgid "while creating in-memory bad blocks list"
 msgstr "ketika membaca dalam senarai blok buruk dari fail"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 #, fuzzy
 msgid "input file - bad format"
-msgstr "Jika FAIL adalah '-', baca masukan piawai."
+msgstr "Format fail rosak."
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr ""
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr ""
 
 #: misc/chattr.c:89
 #, fuzzy, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
 msgstr "Penggunaan: %s [-RVf] [-+=AacDdijsSu] [-v versi] fail...\n"
 
-#: misc/chattr.c:160
+#: misc/chattr.c:162
 #, fuzzy, c-format
 #| msgid "bad version - %s\n"
 msgid "bad project - %s\n"
-msgstr "versi buruk - %s\n"
+msgstr "URI tidak elok: %s"
 
-#: misc/chattr.c:174
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "versi buruk - %s\n"
 
-#: misc/chattr.c:220 misc/lsattr.c:127
+#: misc/chattr.c:221 misc/lsattr.c:127
 #, c-format
 msgid "while trying to stat %s"
 msgstr "ketika cuba untuk stat %s"
 
-#: misc/chattr.c:227
+#: misc/chattr.c:228
 #, c-format
 msgid "while reading flags on %s"
 msgstr "ketika membaca penanda pada %s"
 
-#: misc/chattr.c:232 misc/chattr.c:244
+#: misc/chattr.c:233 misc/chattr.c:245
 #, c-format
 msgid "Flags of %s set as "
 msgstr "Bendera bagi %s ditetapkan sebagai "
 
-#: misc/chattr.c:253
+#: misc/chattr.c:254
 #, c-format
 msgid "while setting flags on %s"
 msgstr "ketika menetapkan penanda pada %s"
 
-#: misc/chattr.c:261
+#: misc/chattr.c:262
 #, c-format
 msgid "Version of %s set as %lu\n"
 msgstr "Versi %s ditetapkan sebagai %lu\n"
 
-#: misc/chattr.c:265
+#: misc/chattr.c:266
 #, c-format
 msgid "while setting version on %s"
 msgstr "ketika menetapkan versi pada %s"
 
-#: misc/chattr.c:272
+#: misc/chattr.c:273
 #, fuzzy, c-format
 #| msgid "Version of %s set as %lu\n"
 msgid "Project of %s set as %lu\n"
 msgstr "Versi %s ditetapkan sebagai %lu\n"
 
-#: misc/chattr.c:276
+#: misc/chattr.c:277
 #, fuzzy, c-format
 #| msgid "while setting version on %s"
 msgid "while setting project on %s"
-msgstr "ketika menetapkan versi pada %s"
+msgstr "ketika menetapkan penanda pada %s"
 
-#: misc/chattr.c:298
+#: misc/chattr.c:299
 msgid "Couldn't allocate path variable in chattr_dir_proc"
 msgstr ""
 
-#: misc/chattr.c:338
+#: misc/chattr.c:339
 msgid "= is incompatible with - and +\n"
 msgstr "= tidak sepadan dengan - dan +\n"
 
-#: misc/chattr.c:346
+#: misc/chattr.c:347
 msgid "Must use '-v', =, - or +\n"
 msgstr "Mesti menggunakan '-v', =, - atau +\n"
 
@@ -4173,171 +4275,184 @@
 msgid "while reading inode %u"
 msgstr "ketika membaca inod root"
 
-#: misc/create_inode.c:90 misc/create_inode.c:288 misc/create_inode.c:353
-#: misc/create_inode.c:391
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 #, fuzzy
 msgid "while expanding directory"
-msgstr "direktori"
+msgstr "Ralat berlaku semasa memuatkan direktori"
 
 #: misc/create_inode.c:97
 #, fuzzy, c-format
 #| msgid "while opening %s"
 msgid "while linking \"%s\""
-msgstr "ketika membuka %s"
+msgstr "Hubungikan..."
 
-#: misc/create_inode.c:105 misc/create_inode.c:132 misc/create_inode.c:322
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, fuzzy, c-format
 msgid "while writing inode %u"
 msgstr "ketika menulis jadual inod"
 
-#: misc/create_inode.c:152 misc/create_inode.c:176
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, fuzzy, c-format
 msgid "while listing attributes of \"%s\""
-msgstr "tak dapat menyenaraikan direktori tersedia-tersenarai: %s"
+msgstr "Ralat menyenaraikan dir pada '%s': %s"
 
-#: misc/create_inode.c:163
+#: misc/create_inode.c:165
 #, fuzzy, c-format
 msgid "while opening inode %u"
-msgstr "ketika membuka %s"
+msgstr "ketika melakukan pengesanan inod"
 
-#: misc/create_inode.c:169 misc/create_inode.c:196 misc/create_inode.c:1043
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, fuzzy, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "ketika membaca inod jurnal"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 #, fuzzy
 msgid "while allocating memory"
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/create_inode.c:189 misc/create_inode.c:205
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, fuzzy, c-format
 #| msgid "while reading flags on %s"
 msgid "while reading attribute \"%s\" of \"%s\""
-msgstr "ketika membaca penanda pada %s"
+msgstr ""
+"Terdapat ralat ketika pembacaan CD:\n"
+"\n"
+"%s"
 
-#: misc/create_inode.c:214
+#: misc/create_inode.c:223
 #, fuzzy, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "ketika menulis inod jurnal"
 
-#: misc/create_inode.c:224
+#: misc/create_inode.c:233
 #, fuzzy, c-format
 #| msgid "while doing inode scan"
 msgid "while closing inode %u"
 msgstr "ketika melakukan pengesanan inod"
 
-#: misc/create_inode.c:275
+#: misc/create_inode.c:283
 #, fuzzy, c-format
 #| msgid "while allocating buffers"
 msgid "while allocating inode \"%s\""
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/create_inode.c:294
+#: misc/create_inode.c:302
 #, fuzzy, c-format
 msgid "while creating inode \"%s\""
-msgstr "ketika mencipta direktori root"
+msgstr "Ralat ketika mencipta fail %s."
 
-#: misc/create_inode.c:360
+#: misc/create_inode.c:368
 #, fuzzy, c-format
 #| msgid "while reading flags on %s"
 msgid "while creating symlink \"%s\""
-msgstr "ketika mencipta /lost+found"
+msgstr "Terdapat ralat ketika mencipta pautan simbolik di dalam %s."
 
-#: misc/create_inode.c:378 misc/create_inode.c:963
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, fuzzy, c-format
 msgid "while looking up \"%s\""
-msgstr "ketika menetapkan superblok"
+msgstr "Ralat semasa mencari takrifan"
 
-#: misc/create_inode.c:398
+#: misc/create_inode.c:406
 #, fuzzy, c-format
 #| msgid "while creating root dir"
 msgid "while creating directory \"%s\""
-msgstr "mencipta direktori %s"
+msgstr "Ralat ketika mencipta direktori %s."
 
-#: misc/create_inode.c:627
+#: misc/create_inode.c:636
 #, fuzzy, c-format
 #| msgid "while opening %s"
 msgid "while opening \"%s\" to copy"
 msgstr "ketika membuka %s"
 
-#: misc/create_inode.c:805
-#, c-format
+#: misc/create_inode.c:828
+#, fuzzy, c-format
 msgid "while changing working directory to \"%s\""
-msgstr ""
+msgstr "Semasa menukar %s:"
 
-#: misc/create_inode.c:815
+#: misc/create_inode.c:838
 #, fuzzy, c-format
 #| msgid "while creating root dir"
 msgid "while scanning directory \"%s\""
-msgstr "ketika menetapkan versi pada %s"
+msgstr "Mengimbas %s"
 
-#: misc/create_inode.c:825
+#: misc/create_inode.c:848
 #, fuzzy, c-format
 #| msgid "while trying to stat %s"
 msgid "while lstat \"%s\""
 msgstr "tak dapat lstat %s"
 
-#: misc/create_inode.c:875
+#: misc/create_inode.c:898
 #, fuzzy, c-format
 msgid "while creating special file \"%s\""
-msgstr "tak boleh mencipta fail istimewa %s"
+msgstr "Ralat ketika mencipta fail %s."
 
-#: misc/create_inode.c:884
+#: misc/create_inode.c:907
 #, fuzzy
 msgid "malloc failed"
 msgstr "malloc() gagal. Tidak dapat memperuntukkan memori yang cukup."
 
-#: misc/create_inode.c:892
+#: misc/create_inode.c:915
 #, fuzzy, c-format
 #| msgid "while trying to resize %s"
 msgid "while trying to read link \"%s\""
-msgstr "ketika cuba untuk memadam %s"
+msgstr "Ralat berlaku bila membaca fail"
 
-#: misc/create_inode.c:899
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr ""
 
-#: misc/create_inode.c:910
+#: misc/create_inode.c:933
 #, fuzzy, c-format
 msgid "while writing symlink\"%s\""
-msgstr "ketika menulis jadual inod"
+msgstr "Ralat semasa menulis ke `%s'"
 
-#: misc/create_inode.c:921
+#: misc/create_inode.c:944
 #, fuzzy, c-format
 msgid "while writing file \"%s\""
-msgstr "ketika menulis superblok"
+msgstr "Ralat semasa menulis '%s': %s"
 
-#: misc/create_inode.c:934
+#: misc/create_inode.c:957
 #, fuzzy, c-format
 #| msgid "while opening %s"
 msgid "while making dir \"%s\""
-msgstr "%s: Ketidakkonsistenan luar dugaan bila membuat direktori"
+msgstr "ketika mencipta direktori root"
 
-#: misc/create_inode.c:952
+#: misc/create_inode.c:975
 #, fuzzy
 msgid "while changing directory"
-msgstr "penukaran hakmilik %s"
+msgstr "Ralat ketika mengubah kata laluan NIS."
 
-#: misc/create_inode.c:958
+#: misc/create_inode.c:981
 #, fuzzy, c-format
 msgid "ignoring entry \"%s\""
-msgstr "Masukan EXIF '%s' "
+msgstr "[%s] Fail konfigurasi: mengabaikan masukan tidak diketahui %s=%s. %s\n"
 
-#: misc/create_inode.c:971
+#: misc/create_inode.c:994
 #, fuzzy, c-format
 #| msgid "while setting version on %s"
 msgid "while setting inode for \"%s\""
 msgstr "ketika menetapkan inod blok buruk"
 
-#: misc/create_inode.c:978
+#: misc/create_inode.c:1001
 #, fuzzy, c-format
 #| msgid "while setting flags on %s"
 msgid "while setting xattrs for \"%s\""
 msgstr "ketika menetapkan versi pada %s"
 
-#: misc/create_inode.c:1004
+#: misc/create_inode.c:1027
 #, fuzzy
 #| msgid "while starting inode scan"
 msgid "while saving inode data"
-msgstr "ketika memulakan pengesanan inod"
+msgstr "Ralat ketika menyimpan tangkap layar"
+
+#: misc/create_inode.c:1077
+#, fuzzy
+msgid "while copying xattrs on root directory"
+msgstr "Ralat berlaku semasa menetapkan direktori root"
 
 #: misc/dumpe2fs.c:56
 #, c-format
@@ -4351,7 +4466,7 @@
 #: misc/dumpe2fs.c:168
 #, fuzzy
 msgid "clusters"
-msgstr " %d gugusan,"
+msgstr "Kelompok"
 
 #: misc/dumpe2fs.c:219
 #, c-format
@@ -4361,12 +4476,12 @@
 #: misc/dumpe2fs.c:226
 #, fuzzy, c-format
 msgid " csum 0x%04x"
-msgstr "(0x%04x, '%s'): "
+msgstr "Tidak diketahui (0x%04x)<br>"
 
 #: misc/dumpe2fs.c:228
 #, fuzzy, c-format
 msgid " (EXPECTED 0x%04x)"
-msgstr "(0x%04x, '%s'): "
+msgstr "Tidak diketahui (0x%04x)<br>"
 
 #: misc/dumpe2fs.c:233
 #, c-format
@@ -4394,16 +4509,16 @@
 
 #: misc/dumpe2fs.c:249
 msgid " Group descriptor at "
-msgstr " Penghurai kumpulan di"
+msgstr " Penghurai kumpulan di "
 
 #: misc/dumpe2fs.c:255
 msgid "  Block bitmap at "
-msgstr "  Bitmap block di"
+msgstr "  Blok peta bit di "
 
 #: misc/dumpe2fs.c:260 misc/dumpe2fs.c:271
 #, fuzzy, c-format
 msgid ", csum 0x%08x"
-msgstr "(0x%x, '%s') "
+msgstr "Eksponen: 0x"
 
 #: misc/dumpe2fs.c:263
 msgid ","
@@ -4429,7 +4544,7 @@
 "  Inode table at "
 msgstr ""
 "\n"
-"  Jadual inode di"
+"  Jadual inode di "
 
 #: misc/dumpe2fs.c:279
 #, c-format
@@ -4456,64 +4571,65 @@
 msgid "while printing bad block list"
 msgstr "ketika menetapkan inod blok buruk"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Blok buruk: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:373
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "ketika membaca inod jurnal"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 #, fuzzy
 msgid "while opening journal inode"
 msgstr "ketika membaca inod jurnal"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 #, fuzzy
 msgid "while reading journal super block"
 msgstr "ketika membaca superblok jurnal"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 #, fuzzy
 msgid "Journal superblock magic number invalid!\n"
 msgstr "MMP: nombor magic tidak sah"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:216
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "ketika membaca superblok jurnal"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr ""
 
-#: misc/dumpe2fs.c:468
+#: misc/dumpe2fs.c:477
 #, fuzzy
 msgid "failed to alloc MMP buffer\n"
-msgstr "ketika mengumpukkan penimbal"
+msgstr "gagal memperuntuk penimbal imej bersaiz %u bait"
 
-#: misc/dumpe2fs.c:479
+#: misc/dumpe2fs.c:488
 #, fuzzy, c-format
 #| msgid "Checking blocks %lu to %lu\n"
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "Memeriksa blok %lu ke %lu\n"
 
-#: misc/dumpe2fs.c:507 misc/mke2fs.c:800 misc/tune2fs.c:2027
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
+#, fuzzy
 msgid "Couldn't allocate memory to parse options!\n"
-msgstr ""
+msgstr "BMP: Gagal sediakan memori."
 
-#: misc/dumpe2fs.c:533
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Parameter superblok tidak sah: %s\n"
 
-#: misc/dumpe2fs.c:548
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Parameter saiz blok tidak sah: %s\n"
 
-#: misc/dumpe2fs.c:559
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4527,246 +4643,246 @@
 "\tblocksize=<blocksize>\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:649 misc/mke2fs.c:1889
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, fuzzy, c-format
 msgid "\tUsing %s\n"
-msgstr "ditandatangan menggunakan %s, "
+msgstr "Tiada nama kumpulan dinyatakan, menggunakan %s.\n"
 
-#: misc/dumpe2fs.c:694 misc/e2image.c:1629 misc/tune2fs.c:2913
-#: resize/main.c:416
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr ""
 
-#: misc/dumpe2fs.c:716
+#: misc/dumpe2fs.c:732
 #, fuzzy, c-format
 msgid "%s: MMP feature not enabled.\n"
-msgstr "%s tidak mempunyai ciri disokong:"
+msgstr "Ciri ini diaktifkan!"
 
-#: misc/dumpe2fs.c:747
+#: misc/dumpe2fs.c:763
 #, fuzzy, c-format
 #| msgid "while trying to run '%s'"
 msgid "while trying to read '%s' bitmaps\n"
-msgstr "ketika cuba untuk membuka titiklekap %s"
+msgstr "Ralat berlaku bila membaca fail"
 
-#: misc/dumpe2fs.c:756
+#: misc/dumpe2fs.c:772
 #, fuzzy
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
-msgstr "%s: e2fsck dibatalkan.\n"
+msgstr "Main Sekarang!"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
-msgid "Usage: %s [ -r|Q ] [ -f ] [ -b superblock ] [ -B blocksize][ -fr ] device image-file\n"
+msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
 msgstr ""
 
-#: misc/e2image.c:110
-#, fuzzy, c-format
-msgid "       %s -I device image-file\n"
-msgstr "_Kerangka pada fail imej:"
-
 #: misc/e2image.c:111
+#, fuzzy, c-format
+msgid "       %s -I device image-file\n"
+msgstr "\"%s\" adalah sebuah fail peranti"
+
+#: misc/e2image.c:112
 #, c-format
-msgid "       %s -ra  [  -cfnp  ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
+msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr ""
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 #, fuzzy
 msgid "while allocating buffer"
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, fuzzy, c-format
 msgid "Writing block %llu\n"
 msgstr "ketika menulis bitmap blok"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, fuzzy, c-format
 msgid "error writing block %llu"
 msgstr "ketika menulis bitmap blok"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 #, fuzzy
 msgid "error in generic_write()"
-msgstr "Penghurai ASN1: Ralat menghurai generik."
+msgstr "Ralat libmtp generik"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr ""
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 #, fuzzy
 msgid "Couldn't allocate header buffer\n"
-msgstr "Tak dapat memperuntukkan ruang penimbal"
+msgstr "Tak dapat memperuntukkan memori untuk penimbal konteks"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "ketika menulis superblok"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "ketika menulis jadual inod"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "ketika menulis bitmap blok"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "ketika menulis inod bitmap"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr ""
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr ""
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, fuzzy, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "inode (%llu) mesti kurang dari %u"
 
-#: misc/e2image.c:599 misc/e2image.c:639
-#, fuzzy
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
-msgstr ""
-"Ini adalah perisian bebas; lihat sumber untuk syarat menyalin.  TIADA\n"
-"jaminan disediakan; tidak juga untuk KEBOLEHDAGANGAN atau KEUPAYAAN UNTUK SESUATU TUJUAN KHUSUS.\n"
+msgstr "Menyalin "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr ""
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, fuzzy, c-format
 msgid " %s remaining at %.2f MB/s"
-msgstr ""
-" untuk %.2f%% dari %.2f %s\n"
-"\n"
+msgstr "%.2f Mb/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, fuzzy, c-format
 msgid "error reading block %llu"
 msgstr "e2label: ralat membaca superblok\n"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr ""
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, fuzzy, c-format
 msgid "at %.2f MB/s"
-msgstr ""
-" untuk %.2f%% dari %.2f %s\n"
-"\n"
+msgstr "%.2f Mb/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 #, fuzzy
 msgid "while allocating l1 table"
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 #, fuzzy
 msgid "while allocating l2 cache"
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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:1161
+#: misc/e2image.c:1168
 #, fuzzy
 msgid "while allocating ext2_qcow2_image"
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 #, fuzzy
 msgid "while initializing ext2_qcow2_image"
 msgstr "ketika memulakan superblok jurnal"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr ""
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 #, fuzzy
 msgid "while allocating block bitmap"
 msgstr "ketika menulis bitmap blok"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 #, fuzzy
 msgid "while allocating scramble block bitmap"
 msgstr "ketika menulis bitmap blok"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 #, fuzzy
 msgid "Scanning inodes...\n"
-msgstr "Inod"
+msgstr "Mengimbas"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 #, fuzzy
 msgid "Can't allocate block buffer"
 msgstr "Tak dapat memperuntukkan ruang penimbal"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+#, fuzzy
+msgid "while getting next inode"
+msgstr ""
+"Hampir siap.\n"
+"Tapi, akan ambil masa sikit."
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, fuzzy, c-format
 msgid "while iterating over inode %u"
 msgstr "ketika mengosongkan inod jurnal"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr ""
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 #, fuzzy
 msgid "error reading bitmaps"
 msgstr ""
 "\n"
 "%s: %s: ralat membaca bitmap: %s\n"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 #, fuzzy
 msgid "while opening device file"
-msgstr "ketika membuka %s"
+msgstr "Satu ralat berlaku ketika membuka fail."
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 #, fuzzy
 #| msgid "while writing inode table"
 msgid "while restoring the image table"
-msgstr "ketika menulis jadual inod"
+msgstr "Ralat memulihkan imej cakera"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr ""
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr ""
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr ""
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr ""
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr ""
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 #, fuzzy
 msgid "checking if mounted"
-msgstr " Dilekapkan pada\n"
+msgstr "Memeriksa"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4774,58 +4890,58 @@
 "Use -f option if you really want to do that.\n"
 msgstr ""
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr ""
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 #, fuzzy
 msgid "Can not stat output\n"
-msgstr "ketika cuba untuk stat %s"
+msgstr "Nombor Statistik."
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, fuzzy, c-format
 msgid "Image (%s) is compressed\n"
-msgstr "Imej"
+msgstr "Saiz Imej Termampat"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, fuzzy, c-format
 msgid "Image (%s) is encrypted\n"
-msgstr "_Kerangka pada fail imej:"
+msgstr "%s Berkemungkinan Tersulit"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, fuzzy, c-format
 msgid "Image (%s) is corrupted\n"
-msgstr "_Kerangka pada fail imej:"
+msgstr "Fail %s telah rosak semasa muat naik."
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr ""
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr ""
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr ""
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 #, fuzzy
 msgid "while allocating check_buf"
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr ""
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr ""
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, fuzzy, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Penggunaan: %s [-r] [-t]\n"
@@ -4848,9 +4964,9 @@
 #: misc/e2label.c:72
 #, fuzzy, c-format
 msgid "e2label: not an ext2 filesystem\n"
-msgstr "sistemfail"
+msgstr "Sistem Fail"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3117
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr ""
@@ -4865,7 +4981,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: ralat menulis superblok\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1687
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr ""
@@ -4876,165 +4992,165 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Penggunaan: %s <fail transaksi> <sistemfail>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr ""
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 #, fuzzy
 msgid "UUID does not match.\n"
-msgstr "Volum %s tidak sepadan %s"
+msgstr "(TIDAK SEPADAN)"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr ""
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr ""
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr ""
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 #, fuzzy
 #| msgid "while reading journal superblock"
 msgid "while reading filesystem superblock."
 msgstr "ketika membaca superblok jurnal"
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 #, fuzzy
 #| msgid "while writing superblock"
 msgid "while fetching superblock"
 msgstr "ketika menulis superblok"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr ""
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, fuzzy, c-format
 msgid "illegal offset - %s"
 msgstr "%s: pilihan salah -- %c\n"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr ""
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, fuzzy, c-format
 msgid "while opening undo file `%s'\n"
-msgstr "ketika membuka %s"
+msgstr "Ralat bila membuka fail xbase."
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 #, fuzzy
 #| msgid "while reading root inode"
 msgid "while reading undo file"
 msgstr "Ralat apabila membaca fail."
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, fuzzy, c-format
 #| msgid "%s: too many devices\n"
 msgid "%s: Not an undo file.\n"
 msgstr "Undur fail yang rosak"
 
-#: misc/e2undo.c:396
-#, c-format
+#: misc/e2undo.c:400
+#, fuzzy, c-format
 msgid "%s: Header checksum doesn't match.\n"
-msgstr ""
+msgstr "Kepala DIB: pengenkod tidak sepadan kedalaman bit."
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, fuzzy, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "Undur fail yang rosak"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr ""
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr ""
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr ""
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, fuzzy, c-format
 #| msgid "Error while determining whether %s is mounted.\n"
 msgid "Error while determining whether %s is mounted."
 msgstr "Ralat ketika menentukan sama ada %s telah dilekapkan.\n"
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr ""
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, fuzzy, c-format
 #| msgid "while opening %s"
 msgid "while opening `%s'"
 msgstr "ketika membuka %s"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 #, fuzzy
 msgid "specified offset is too large"
-msgstr "kod bagi token %s terlalu besar"
+msgstr "nombor token terlalu besar"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 #, fuzzy
 #| msgid "while reading bitmaps"
 msgid "while reading keys"
 msgstr "ketika membaca bitmap"
 
-#: misc/e2undo.c:519
-#, c-format
+#: misc/e2undo.c:523
+#, fuzzy, c-format
 msgid "%s: wrong key magic at %llu\n"
-msgstr ""
+msgstr "Nilai salah untuk kekunci \"%s\". Sepatutnya Koordinat"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr ""
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, fuzzy, c-format
 #| msgid "From block %lu to %lu\n"
 msgid "%s: block %llu is too long."
 msgstr "%s: fail terlalu panjang"
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, fuzzy, c-format
 msgid "while fetching block %llu."
 msgstr "ketika menulis bitmap blok"
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr ""
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, fuzzy, c-format
 msgid "while writing block %llu."
 msgstr "ketika menulis bitmap blok"
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr ""
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr ""
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr ""
@@ -5047,7 +5163,7 @@
 #: misc/findsuper.c:155
 #, fuzzy, c-format
 msgid "skipbytes should be a number, not %s\n"
-msgstr "\t\tNombor CRL (%s): "
+msgstr "Ruang ini haruslah disi dengan nombor."
 
 #: misc/findsuper.c:162
 #, fuzzy, c-format
@@ -5057,7 +5173,7 @@
 #: misc/findsuper.c:169
 #, fuzzy, c-format
 msgid "startkb should be a number, not %s\n"
-msgstr "\t\tNombor CRL (%s): "
+msgstr "Ruang ini haruslah disi dengan nombor."
 
 #: misc/findsuper.c:175
 #, c-format
@@ -5081,24 +5197,24 @@
 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:265
 #, fuzzy, c-format
 msgid ""
 "\n"
 "%11Lu: finished with errno %d\n"
-msgstr "Program tempatan [%d] selesai."
+msgstr "Buka %s gagal. Errno = %d, "
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "AMARAN: tidak dapat membuka %s: %s\n"
 
-#: misc/fsck.c:353
-#, c-format
+#: misc/fsck.c:354
+#, fuzzy, c-format
 msgid "WARNING: bad format on line %d of %s\n"
-msgstr ""
+msgstr "Amaran gFTP: Melangkah baris %d pada fail tandabuku: %s\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5106,125 +5222,132 @@
 "\n"
 msgstr ""
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck: %s: tidak dijumpai\n"
 
-#: misc/fsck.c:601
-#, c-format
+#: misc/fsck.c:602
+#, fuzzy, c-format
 msgid "%s: wait: No more child process?!?\n"
-msgstr ""
+msgstr "Gagal melakukan proses anak (%s)"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr ""
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr ""
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Selesai dengan %s (status keluar %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr ""
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
 msgstr ""
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
+#, fuzzy
 msgid "Couldn't allocate memory for filesystem types\n"
-msgstr ""
+msgstr "Tak dapat memperuntukkan memori untuk penimbal konteks"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr ""
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr ""
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
+#, fuzzy
 msgid "Checking all file systems.\n"
-msgstr ""
+msgstr "Tunjuk semu_a sistem fail"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "--menunggu-- (lalu %d)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr ""
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s: terlalu banyak peranti\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: terlalu banyak hujah\n"
 
-#: misc/fuse2fs.c:3745
+#: misc/fuse2fs.c:3746
 #, fuzzy
 msgid "Mounting read-only.\n"
-msgstr "Mod lihat (baca sahaja)"
+msgstr "Baca-Sahaja"
 
-#: misc/fuse2fs.c:3769
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3781 misc/fuse2fs.c:3795
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3797 misc/tune2fs.c:3013
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3804
+#: misc/fuse2fs.c:3793
+#, fuzzy, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3812
+#: misc/fuse2fs.c:3817
 #, fuzzy, c-format
 msgid "%s: Writing to the journal is not supported.\n"
-msgstr "ketika menulis superblok jurnal"
+msgstr "Menulis ke jurnal (%s)"
 
-#: misc/fuse2fs.c:3827
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3836
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3840
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr ""
 
-#: misc/fuse2fs.c:3844
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr ""
 
@@ -5243,14 +5366,19 @@
 #, fuzzy, c-format
 #| msgid "While reading version on %s"
 msgid "While reading project on %s"
-msgstr "ketika membaca penanda pada %s"
+msgstr "Ketika membaca versi pada %s"
 
 #: misc/lsattr.c:102
 #, c-format
 msgid "While reading version on %s"
 msgstr "Ketika membaca versi pada %s"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+#, fuzzy
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "Tak dapat memperuntukkan memori untuk penimbal konteks"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5263,36 +5391,36 @@
 "\t[-jnqvDFSV] device [blocks-count]\n"
 msgstr ""
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Melaksana arahan: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "ketika cuba untuk melaksana '%s'"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 #, fuzzy
 msgid "while processing list of bad blocks from program"
 msgstr "ketika membaca dalam senarai blok buruk dari fail"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr ""
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr ""
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Menghentikan....\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5300,101 +5428,107 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 #, fuzzy
 msgid "while marking bad blocks as used"
 msgstr "ketika memeriksa kewarasan blok inode buruk"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 #, fuzzy
 #| msgid "while writing journal inode"
 msgid "while writing reserved inodes"
 msgstr "ketika menulis inod jurnal"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
-msgstr "Menulis jadual inode:"
+msgstr "Menulis jadual inode: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
 "Could not write %d blocks in inode table starting at %llu: %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2809 misc/mke2fs.c:3214
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "selesai                         \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "ketika mencipta direktori root"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "ketika membaca inod root"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 #, fuzzy
 msgid "while setting root inode ownership"
-msgstr "ketika menetapkan inod blok buruk"
+msgstr "ketika membaca inod root"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "ketika mencipta /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 #, fuzzy
 msgid "while looking up /lost+found"
-msgstr "ketika mencipta /lost+found"
+msgstr "Ralat semasa mencari takrifan"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 #, fuzzy
 msgid "while expanding /lost+found"
 msgstr "ketika mencipta /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "ketika menetapkan inod blok buruk"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Kehabisan memori ketika memadam sektor %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Amaran: tidak dapat membaca blok 0: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Amaran: tidak dapat memadam sektor %d: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+#, fuzzy
+#| msgid "while writing journal inode"
+msgid "while splitting the journal size"
+msgstr "ketika membaca inod jurnal"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "ketika memulakan superblok jurnal"
 
-#: misc/mke2fs.c:620
-msgid "Zeroing journal device: "
-msgstr "Mengosongkan peranti jurnal:"
-
 #: misc/mke2fs.c:632
+msgid "Zeroing journal device: "
+msgstr "Mengosongkan peranti jurnal: "
+
+#: misc/mke2fs.c:644
 #, fuzzy, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "Menggunakan saiz blok peranti jurnal: %d\n"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "ketika menulis superblok jurnal"
 
-#: misc/mke2fs.c:665
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr ""
 
-#: misc/mke2fs.c:673
+#: misc/mke2fs.c:684
 #, fuzzy, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5403,166 +5537,168 @@
 "amaran: %u blok tidak digunakan.\n"
 "\n"
 
-#: misc/mke2fs.c:678
-#, c-format
-msgid "Filesystem label=%s\n"
+#: misc/mke2fs.c:688
+#, fuzzy, c-format
+#| msgid "Filesystem label=%s\n"
+msgid "Filesystem label=%.*s\n"
 msgstr "Label sistemfail=%s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:692
 #, fuzzy, c-format
 msgid "OS type: %s\n"
 msgstr "Jenis OS:"
 
-#: misc/mke2fs.c:683
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Saiz blok=%u (log=%u)\n"
 
-#: misc/mke2fs.c:686
+#: misc/mke2fs.c:697
 #, fuzzy, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Saiz pecahan=%u (log=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Saiz pecahan=%u (log=%u)\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr ""
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:705
 #, fuzzy, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "inode (%llu) mesti kurang dari %u"
 
-#: misc/mke2fs.c:696
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr ""
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Blok data pertama=%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:712
 #, fuzzy, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Blok direktori kosong %u (#%d) dalam inode %u\n"
 
-#: misc/mke2fs.c:703
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Blok sistemfail maksimum=%lu\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "kumpulan blok %u\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "kumpulan blok %u\n"
 
-#: misc/mke2fs.c:711
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr ""
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr ""
 
-#: misc/mke2fs.c:716
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u inod setiap kumpulan\n"
 
-#: misc/mke2fs.c:725
+#: misc/mke2fs.c:736
 #, fuzzy, c-format
 #| msgid "Filesystem label=%s\n"
 msgid "Filesystem UUID: %s\n"
-msgstr "Label sistemfail=%s\n"
+msgstr "Sistem fail %s pada %s tidak rosak."
 
-#: misc/mke2fs.c:726
+#: misc/mke2fs.c:737
+#, fuzzy
 msgid "Superblock backups stored on blocks: "
-msgstr ""
+msgstr "Folder yang mana sandar disimpan"
 
-#: misc/mke2fs.c:822
+#: misc/mke2fs.c:833
 #, fuzzy, c-format
 msgid "%s requires '-O 64bit'\n"
-msgstr "Pilihan \"%s\" memerlukan hujah"
+msgstr "%i pakej memerlukan %s"
 
-#: misc/mke2fs.c:828
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr ""
 
-#: misc/mke2fs.c:841
+#: misc/mke2fs.c:852
 #, fuzzy, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "saiz blok tidak sah - %s"
 
-#: misc/mke2fs.c:855
+#: misc/mke2fs.c:866
 #, fuzzy, c-format
 msgid "Invalid hash seed: %s\n"
-msgstr "%s: pilihan yang tidak sah -- %c\n"
+msgstr "Data tidak sah - %s cincangan tidak sepadan untuk fail:"
 
-#: misc/mke2fs.c:867
+#: misc/mke2fs.c:878
 #, fuzzy, c-format
 msgid "Invalid offset: %s\n"
-msgstr "Offset rayauan diluar julat"
+msgstr "Ralat menjangkau ke ofset %s"
 
-#: misc/mke2fs.c:881 misc/tune2fs.c:2055
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, fuzzy, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "jarakmasa `%s' tidak sah"
 
-#: misc/mke2fs.c:898
+#: misc/mke2fs.c:909
 #, fuzzy, c-format
 #| msgid "Invalid superblock parameter: %s\n"
 msgid "Invalid # of backup superblocks: %s\n"
-msgstr "%s: Tak dapat backup fail ini"
+msgstr "Permintaan backup tidak sah"
 
-#: misc/mke2fs.c:920
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Parameter stride tidak sah: %s\n"
 
-#: misc/mke2fs.c:935
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Parameter lebar stripe tidak sah: %s\n"
 
-#: misc/mke2fs.c:958
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Parameter ulangsaiz tidak sah: %s\n"
 
-#: misc/mke2fs.c:965
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr ""
 
-#: misc/mke2fs.c:989
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:1015 misc/mke2fs.c:1024
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, fuzzy, c-format
 msgid "Invalid root_owner: '%s'\n"
-msgstr "Pemilik tidak sah"
+msgstr "UTF-8 tidak sah pada pemilik bagi skema"
 
-#: misc/mke2fs.c:1069
+#: misc/mke2fs.c:1080
 #, fuzzy, c-format
 msgid "Invalid encoding: %s"
-msgstr "pengekodan tidak diketahui `%s'"
+msgstr "%s: pengekodan tidak sah."
 
-#: misc/mke2fs.c:1087
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5591,7 +5727,7 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1114
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5599,52 +5735,52 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1125
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, fuzzy, c-format
 msgid "error: Invalid encoding flag: %s\n"
-msgstr "RALAT DALAMAN pada %s:%d: regex hilang atau tidak sah"
+msgstr "%s: pengekodan tidak sah.⏎\n"
 
-#: misc/mke2fs.c:1131
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr ""
 
-#: misc/mke2fs.c:1179
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
 "\t%s\n"
 msgstr ""
 
-#: misc/mke2fs.c:1192 misc/tune2fs.c:1068
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Tetapan pilihan sistemfail tidak sah: %s\n"
 
-#: misc/mke2fs.c:1204 misc/tune2fs.c:417
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Tetapan pilihan lekapan tidak sah: %s\n"
 
-#: misc/mke2fs.c:1340
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
 "Your mke2fs.conf file does not define the %s filesystem type.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1344
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1348
+#: misc/mke2fs.c:1361
 #, fuzzy
 msgid "Aborting...\n"
 msgstr "Menghentikan....\n"
 
-#: misc/mke2fs.c:1389
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5652,157 +5788,171 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1571
+#: misc/mke2fs.c:1591
+#, fuzzy
 msgid "Couldn't allocate memory for new PATH.\n"
-msgstr ""
+msgstr "Tak dapat memperuntukkan memori bagi pengepala"
 
-#: misc/mke2fs.c:1608
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr ""
 
-#: misc/mke2fs.c:1641
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "saiz blok tidak sah - %s"
 
-#: misc/mke2fs.c:1645
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr ""
 
-#: misc/mke2fs.c:1661
+#: misc/mke2fs.c:1681
 #, fuzzy, c-format
 msgid "invalid cluster size - %s"
 msgstr "saiz pecahan tidak sah - %s"
 
-#: misc/mke2fs.c:1674
+#: misc/mke2fs.c:1694
+#, fuzzy
 msgid "'-R' is deprecated, use '-E' instead"
-msgstr ""
+msgstr "atribut telah lapuk. Guna revspec sebagai ganti."
 
-#: misc/mke2fs.c:1688 misc/tune2fs.c:1784
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "kelakuan ralat buruk - %s"
 
-#: misc/mke2fs.c:1700
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr ""
 
-#: misc/mke2fs.c:1705
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr ""
 
-#: misc/mke2fs.c:1713
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Nombor tidak sah untuk saiz flex_bg"
 
-#: misc/mke2fs.c:1719
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr ""
 
-#: misc/mke2fs.c:1724
+#: misc/mke2fs.c:1744
 #, fuzzy, c-format
 #| msgid "inodes (%llu) must be less than %u"
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "inod (%llu) mesti kurang dari %u"
 
-#: misc/mke2fs.c:1734
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:1744
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "saiz inode tidak sah - %s"
 
-#: misc/mke2fs.c:1757
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr ""
 
-#: misc/mke2fs.c:1768
+#: misc/mke2fs.c:1790
 #, fuzzy
 msgid "in malloc for bad_blocks_filename"
 msgstr "ketika memeriksa kewarasan blok inode buruk"
 
-#: misc/mke2fs.c:1777
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:1786
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr ""
 
-#: misc/mke2fs.c:1801
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "nombor inode buruk - %s"
 
-#: misc/mke2fs.c:1814
+#: misc/mke2fs.c:1836
 #, fuzzy
 #| msgid "while allocating buffers"
 msgid "while allocating fs_feature string"
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/mke2fs.c:1831
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "tahap semakan buruk - %s"
 
-#: misc/mke2fs.c:1836
+#: misc/mke2fs.c:1858
 #, fuzzy, c-format
 #| msgid "while trying to resize %s"
 msgid "while trying to create revision %d"
 msgstr "Ketika cuba menambah kumpulan #%d"
 
-#: misc/mke2fs.c:1850
+#: misc/mke2fs.c:1872
+#, fuzzy
 msgid "The -t option may only be used once"
-msgstr ""
+msgstr "pilihan -T hanya boleh digunakan dengan tindakan nama semula\n"
 
-#: misc/mke2fs.c:1858
+#: misc/mke2fs.c:1880
+#, fuzzy
 msgid "The -T option may only be used once"
-msgstr ""
+msgstr "pilihan -T hanya boleh digunakan dengan tindakan nama semula\n"
 
-#: misc/mke2fs.c:1914 misc/mke2fs.c:3298
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, fuzzy, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "ketika cuba untuk membuka titiklekap %s"
 
-#: misc/mke2fs.c:1920
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr ""
 
-#: misc/mke2fs.c:1926
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Menggunakan saiz blok peranti jurnal: %d\n"
 
-#: misc/mke2fs.c:1937
+#: misc/mke2fs.c:1959
 #, fuzzy, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "nombor peranti major tidak sah %s"
 
-#: misc/mke2fs.c:1967
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "sistemfail"
 
-#: misc/mke2fs.c:1985 resize/main.c:497
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "Fail %s tidak wujud dan tiada saiz dinyatakan.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Mencipta fail biasa %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr ""
 
-#: misc/mke2fs.c:1991
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
 msgstr ""
 
-#: misc/mke2fs.c:1998
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5810,140 +5960,145 @@
 "\tto re-read your partition table.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2015
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr ""
 
-#: misc/mke2fs.c:2035
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr ""
 
-#: misc/mke2fs.c:2085
+#: misc/mke2fs.c:2114
 #, fuzzy
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "Cdrdao %1 tidak menyokong overburning."
 
-#: misc/mke2fs.c:2090
+#: misc/mke2fs.c:2119
 #, fuzzy
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "Cdrdao %1 tidak menyokong overburning."
 
-#: misc/mke2fs.c:2095
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2100
+#: misc/mke2fs.c:2129
 #, fuzzy
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "Cdrdao %1 tidak menyokong overburning."
 
-#: misc/mke2fs.c:2110
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr ""
 
-#: misc/mke2fs.c:2116
+#: misc/mke2fs.c:2145
 #, fuzzy
 msgid "while trying to determine physical sector size"
 msgstr "ketika cuba untuk memadam %s"
 
-#: misc/mke2fs.c:2148
+#: misc/mke2fs.c:2177
 #, fuzzy
 msgid "while setting blocksize; too small for device\n"
 msgstr "ketika menetapkan maklumat checksum kumpulan blok"
 
-#: misc/mke2fs.c:2153
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr ""
 
-#: misc/mke2fs.c:2177
+#: misc/mke2fs.c:2206
 #, 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:2191
+#: misc/mke2fs.c:2220
 #, 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:2213
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr ""
 
-#: misc/mke2fs.c:2220
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:2228
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:2238
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr ""
 
-#: misc/mke2fs.c:2251
+#: misc/mke2fs.c:2280
 #, fuzzy, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "kiraan blok tidak sah - %s"
 
-#: misc/mke2fs.c:2268
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2288
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2294
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr ""
 
-#: misc/mke2fs.c:2314
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr ""
 
-#: misc/mke2fs.c:2317
-#, c-format
+#: misc/mke2fs.c:2355
+#, fuzzy, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
-msgstr ""
+msgstr "Muat naik gagal, \"%s\", telah memindahkan %lu daripada %lu bait"
 
-#: misc/mke2fs.c:2319
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2340
+#: misc/mke2fs.c:2363
+#, 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:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:2344
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr ""
 
-#: misc/mke2fs.c:2352
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2398
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr ""
 
-#: misc/mke2fs.c:2409
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr ""
 
-#: misc/mke2fs.c:2434
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5953,68 +6108,66 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:2449
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr ""
 
-#: misc/mke2fs.c:2465
-msgid ""
-"The encrypt and casefold features are not compatible.\n"
-"They can not be both enabled simultaneously.\n"
-msgstr ""
-
-#: misc/mke2fs.c:2480
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr ""
 
-#: misc/mke2fs.c:2487
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
 msgstr ""
 
-#: misc/mke2fs.c:2495
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\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:2507
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr ""
 
-#: misc/mke2fs.c:2516
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr ""
 
-#: misc/mke2fs.c:2538
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr ""
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr ""
 
-#: misc/mke2fs.c:2565
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr ""
 
-#: misc/mke2fs.c:2580
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr ""
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr ""
 
-#: misc/mke2fs.c:2587
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr ""
 
-#: misc/mke2fs.c:2601
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6022,161 +6175,171 @@
 "\tor lower inode count (-N).\n"
 msgstr ""
 
-#: misc/mke2fs.c:2788
+#: misc/mke2fs.c:2849
 #, fuzzy
 msgid "Discarding device blocks: "
-msgstr "  Blok bebas: "
+msgstr "Blok"
 
-#: misc/mke2fs.c:2804
+#: misc/mke2fs.c:2865
 #, fuzzy
 msgid "failed - "
-msgstr "GAGAL"
+msgstr "Gagal"
 
-#: misc/mke2fs.c:2863
+#: misc/mke2fs.c:2924
 #, fuzzy
 msgid "while initializing quota context"
 msgstr "ketika memulakan superblok jurnal"
 
-#: misc/mke2fs.c:2870
+#: misc/mke2fs.c:2931
 #, fuzzy
 #| msgid "while writing journal inode"
 msgid "while writing quota inodes"
 msgstr "ketika menulis bitmap blok"
 
-#: misc/mke2fs.c:2895
+#: misc/mke2fs.c:2956
 #, fuzzy, c-format
 #| msgid "bad error behavior - %s"
 msgid "bad error behavior in profile - %s"
 msgstr "kelakuan ralat buruk - %s"
 
-#: misc/mke2fs.c:2971
+#: misc/mke2fs.c:3035
 #, fuzzy
 msgid "in malloc for android_sparse_params"
 msgstr "ketika memeriksa kewarasan blok inode buruk"
 
-#: misc/mke2fs.c:2985
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "ketika menetapkan superblok"
 
-#: misc/mke2fs.c:3001
+#: misc/mke2fs.c:3065
 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:3008
+#: misc/mke2fs.c:3072
 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:3016
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr ""
 
-#: misc/mke2fs.c:3040
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr ""
 
-#: misc/mke2fs.c:3139
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "OS tidak diketahui - %s"
 
-#: misc/mke2fs.c:3202
+#: misc/mke2fs.c:3266
 #, fuzzy
 msgid "Allocating group tables: "
 msgstr "ketika mengumpukkan penimbal"
 
-#: misc/mke2fs.c:3210
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr ""
 
-#: misc/mke2fs.c:3219
+#: misc/mke2fs.c:3289
+#, fuzzy
+msgid "while unmarking bad blocks"
+msgstr "ketika memeriksa kewarasan blok inode buruk"
+
+#: misc/mke2fs.c:3300
 #, fuzzy
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
 msgstr "ketika menulis bitmap blok"
 
-#: misc/mke2fs.c:3225
+#: misc/mke2fs.c:3309
+#, fuzzy
+msgid "while calculating overhead"
+msgstr "Mengira..."
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr ""
 
-#: misc/mke2fs.c:3266
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr ""
 
-#: misc/mke2fs.c:3279
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr ""
 
-#: misc/mke2fs.c:3291 misc/tune2fs.c:1492
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "jurnal"
 
-#: misc/mke2fs.c:3303
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
-msgstr "Menambah jurnal ke peranti %s:"
+msgstr "Menambah jurnal ke peranti %s: "
 
-#: misc/mke2fs.c:3310
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
 "\twhile trying to add journal to device %s"
 msgstr ""
 
-#: misc/mke2fs.c:3315 misc/mke2fs.c:3344 misc/mke2fs.c:3382
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1521 misc/tune2fs.c:1540
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "selesai\n"
 
-#: misc/mke2fs.c:3321
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr ""
 
-#: misc/mke2fs.c:3331
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
-msgstr "Mencipta jurnal (%u blok):"
+msgstr "Mencipta jurnal (%u blok): "
 
-#: misc/mke2fs.c:3340
+#: misc/mke2fs.c:3444
 #, fuzzy
 msgid ""
 "\n"
 "\twhile trying to create journal"
-msgstr "ketika cuba memulakan program"
+msgstr "ketika membaca inod jurnal"
 
-#: misc/mke2fs.c:3352 misc/tune2fs.c:1133
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
 msgstr ""
 
-#: misc/mke2fs.c:3357
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr ""
 
-#: misc/mke2fs.c:3373
+#: misc/mke2fs.c:3481
 #, fuzzy
 msgid "Copying files into the device: "
-msgstr "Mengosongkan peranti jurnal:"
+msgstr "Menyalin peranti ke imej cakera"
 
-#: misc/mke2fs.c:3379
+#: misc/mke2fs.c:3487
 #, fuzzy
 msgid "while populating file system"
-msgstr "Abai fail tetapan sistem"
+msgstr "Ralat apabila membaca fail."
 
-#: misc/mke2fs.c:3386
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr ""
 
-#: misc/mke2fs.c:3393
+#: misc/mke2fs.c:3501
 #, fuzzy
 msgid "while writing out and closing file system"
 msgstr "Abai fail tetapan sistem"
 
-#: misc/mke2fs.c:3396
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6189,30 +6352,30 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "ketika menetapkan maklumat checksum kumpulan blok"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr ""
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 #, fuzzy
 msgid "Huge files will be zero'ed\n"
-msgstr " %d fail,"
+msgstr "Trak pembuang besar."
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, fuzzy, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Mencipta fail biasa %s\n"
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, fuzzy, c-format
 msgid "with %llu blocks each"
-msgstr "Tetapkan bilangan blok pada setiap tepian"
+msgstr "Saiz blok kod dalam setiap sub-jalur"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, fuzzy, c-format
 msgid "while creating huge file %lu"
-msgstr "ketika mengosongkan inod jurnal"
+msgstr "Ralat ketika mencipta fail %s."
 
 #: misc/mklost+found.c:50
 msgid "Usage: mklost+found\n"
@@ -6236,33 +6399,33 @@
 #: misc/partinfo.c:59
 #, fuzzy, c-format
 msgid "Cannot get geometry of %s: %s"
-msgstr "tidak dapat mengambil maklumat pada fail `%s'"
+msgstr "Tak dapat memperolehi skema bagi %s: %s"
 
 #: misc/partinfo.c:67
 #, fuzzy, c-format
 msgid "Cannot get size of %s: %s"
-msgstr "tidak dapat mengambil maklumat pada fail `%s'"
+msgstr "Tidak memperoleh mesej %s: "
 
 #: misc/partinfo.c:73
 #, c-format
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr ""
 
-#: misc/tune2fs.c:119
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
 msgstr ""
 
-#: misc/tune2fs.c:121
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr ""
 
-#: misc/tune2fs.c:123
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr ""
 
-#: misc/tune2fs.c:136
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6275,286 +6438,304 @@
 "\t[-I new_inode_size] [-z undo_file] device\n"
 msgstr ""
 
-#: misc/tune2fs.c:223
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "Superblok jurnal tidak dijumpai!\n"
 
-#: misc/tune2fs.c:281
+#: misc/tune2fs.c:287
 #, fuzzy
 msgid "while trying to open external journal"
 msgstr "ketika cuba untuk membuka titiklekap %s"
 
-#: misc/tune2fs.c:287 misc/tune2fs.c:2804
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s adalah bukan peranti jurnal.\n"
 
-#: misc/tune2fs.c:296 misc/tune2fs.c:2813
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, fuzzy, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
 "is too high (%d).\n"
 msgstr "ketika membaca superblok jurnal"
 
-#: misc/tune2fs.c:303 misc/tune2fs.c:2820
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
+#, fuzzy
 msgid "Filesystem's UUID not found on journal device.\n"
-msgstr ""
+msgstr "Temui UUID bagi fail silih {device} ialah {uuid}."
 
-#: misc/tune2fs.c:327
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
 msgstr ""
 
-#: misc/tune2fs.c:336
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Jurnal dibuang\n"
 
-#: misc/tune2fs.c:380
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "ketika membaca bitmap"
 
-#: misc/tune2fs.c:388
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "ketika mengosongkan inod jurnal"
 
-#: misc/tune2fs.c:399
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "ketika menulis inod jurnal"
 
-#: misc/tune2fs.c:435 misc/tune2fs.c:458 misc/tune2fs.c:471
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(dan ulangboot selepas itu!)\n"
 
-#: misc/tune2fs.c:486
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr ""
 
-#: misc/tune2fs.c:489
+#: misc/tune2fs.c:499
 #, fuzzy, c-format
 msgid "Please run `resize2fs %s %s"
-msgstr "ketika cuba untuk melaksana '%s'"
+msgstr "Gagal untuk melaksanakan arahan \"%s\": %s\n"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:495
+#: misc/tune2fs.c:505
 #, fuzzy, c-format
 msgid "' to enable 64-bit mode.\n"
-msgstr "enable/disable"
+msgstr "Satu bendera untuk membenarkan mod termaksimum"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:507
 #, fuzzy, c-format
 msgid "' to disable 64-bit mode.\n"
-msgstr "enable/disable"
+msgstr "Benar/lumpuhkan mod karet"
 
-#: misc/tune2fs.c:1035
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1071
-#, c-format
+#: misc/tune2fs.c:1111
+#, fuzzy, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
-msgstr ""
+msgstr "Sistem fail mempunyai ciri baca-sahaja yang tidak disokong"
 
-#: misc/tune2fs.c:1077
-#, c-format
+#: misc/tune2fs.c:1117
+#, fuzzy, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
-msgstr ""
+msgstr "Sistem fail mempunyai ciri yang tidak disokong"
 
-#: misc/tune2fs.c:1086
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1094
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1112
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1125
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
 "read-only.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1143
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1152
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1160
+#: misc/tune2fs.c:1200
 #, fuzzy
 msgid "Error while reading bitmaps\n"
 msgstr "ketika membaca bitmap"
 
-#: misc/tune2fs.c:1169
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr ""
 
-#: misc/tune2fs.c:1174
+#: misc/tune2fs.c:1214
 #, fuzzy
 msgid "while reading MMP block."
 msgstr "Pengiraan bitmap MMP tidak sepadan"
 
-#: misc/tune2fs.c:1206
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr ""
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr ""
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1217
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1228
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:1230
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1236
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1243
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1269
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:1271
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1334
+#: misc/tune2fs.c:1372
+msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
+msgstr ""
+
+#: misc/tune2fs.c:1387
+msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
+msgstr ""
+
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1344
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr ""
 
-#: misc/tune2fs.c:1374
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1395
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1405
-msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
+msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1419
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1437
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1443
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:1485
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "Sistemfail telah mempunyai jurnal.\n"
 
-#: misc/tune2fs.c:1505
+#: misc/tune2fs.c:1583
 #, fuzzy, c-format
 msgid ""
 "\n"
 "\twhile trying to open journal on %s\n"
 msgstr "ketika cuba untuk membuka titiklekap %s"
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Mencipta jurnal pada peranti %s: "
 
-#: misc/tune2fs.c:1517
+#: misc/tune2fs.c:1595
 #, fuzzy, c-format
 msgid "while adding filesystem to journal on %s"
-msgstr "Menambah jurnal ke peranti %s:"
+msgstr "Menambah jurnal ke peranti %s: "
 
-#: misc/tune2fs.c:1523
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
-msgstr "Mencipta inode jurnal:"
+msgstr "Mencipta inode jurnal: "
 
-#: misc/tune2fs.c:1537
+#: misc/tune2fs.c:1615
+#, fuzzy
 msgid ""
 "\n"
 "\twhile trying to create journal file"
-msgstr ""
+msgstr "Ralat berlaku bila membaca fail"
 
-#: misc/tune2fs.c:1575
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1588
+#: misc/tune2fs.c:1670
 #, fuzzy
 #| msgid "while initializing journal superblock"
 msgid "while initializing quota context in support library"
 msgstr "ketika memulakan superblok jurnal"
 
-#: misc/tune2fs.c:1603
+#: misc/tune2fs.c:1686
 #, fuzzy, c-format
 msgid "while updating quota limits (%d)"
 msgstr "ketika menetapkan inod blok buruk"
 
-#: misc/tune2fs.c:1611
+#: misc/tune2fs.c:1696
 #, fuzzy, c-format
 #| msgid "while writing inode table"
 msgid "while writing quota file (%d)"
 msgstr "ketika menulis jadual inod"
 
-#: misc/tune2fs.c:1629
+#: misc/tune2fs.c:1714
 #, fuzzy, c-format
 #| msgid "while reading root inode"
 msgid "while removing quota file (%d)"
 msgstr "ketika membaca inod root"
 
-#: misc/tune2fs.c:1672
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6567,99 +6748,124 @@
 "\n"
 msgstr ""
 
-#: misc/tune2fs.c:1730
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr ""
 
-#: misc/tune2fs.c:1755 misc/tune2fs.c:1768
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "kiraan lekapan buruk - %s"
 
-#: misc/tune2fs.c:1811
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "gid/nama kumpulan buruk - %s"
 
-#: misc/tune2fs.c:1844
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "selamasa buruk - %s"
 
-#: misc/tune2fs.c:1873
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr ""
 
-#: misc/tune2fs.c:1888
+#: misc/tune2fs.c:1978
 #, fuzzy
 msgid "-o may only be specified once"
 msgstr "hanya satu jenis senarai boleh dinyatakan"
 
-#: misc/tune2fs.c:1897
+#: misc/tune2fs.c:1987
 #, fuzzy
 msgid "-O may only be specified once"
 msgstr "hanya satu jenis senarai boleh dinyatakan"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:2004
 #, fuzzy, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "kiraan lekapan buruk - %s"
 
-#: misc/tune2fs.c:1943
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "uid/nama pengguna buruk - %s"
 
-#: misc/tune2fs.c:1960
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "saiz inode buruk - %s"
 
-#: misc/tune2fs.c:1967
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr ""
 
-#: misc/tune2fs.c:2064
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:2069
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
 msgstr[0] ""
 
-#: misc/tune2fs.c:2078
+#: misc/tune2fs.c:2171
 #, fuzzy, c-format
 #| msgid "Setting filetype for @E to %N.\n"
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Menetapkan jenisfail untuk @E ke %N.\n"
 
-#: misc/tune2fs.c:2096
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Stride RAID tidak sah: %s\n"
 
-#: misc/tune2fs.c:2111
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Lebar stripe RAID tidak sah: %s\n"
 
-#: misc/tune2fs.c:2126
+#: misc/tune2fs.c:2219
 #, fuzzy, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Algoritma hash tidak diketahui."
 
-#: misc/tune2fs.c:2132
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr ""
 
-#: misc/tune2fs.c:2151
+#: misc/tune2fs.c:2252
+#, fuzzy, c-format
+msgid "Cannot alter existing encoding\n"
+msgstr "Tidak jumpa pengekodan: %1"
+
+#: misc/tune2fs.c:2258
+#, fuzzy, c-format
+msgid "Invalid encoding: %s\n"
+msgstr "%s: pengekodan tidak sah."
+
+#: misc/tune2fs.c:2264
+#, fuzzy, c-format
+#| msgid "Setting error behavior to %d\n"
+msgid "Setting encoding to '%s'\n"
+msgstr ""
+"%s%s\n"
+"Pengekodan: %s\n"
+"%s"
+
+#: misc/tune2fs.c:2288
+#, fuzzy, c-format
+#| msgid "while setting flags on %s"
+msgid "Setting encoding_flags to '%s'\n"
+msgstr "ketika menetapkan penanda pada %s"
+
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6677,79 +6883,81 @@
 "\tforce_fsck\n"
 "\ttest_fs\n"
 "\t^test_fs\n"
+"\tencoding=<encoding>\n"
+"\tencoding_flags=<flags>\n"
 msgstr ""
 
-#: misc/tune2fs.c:2622
+#: misc/tune2fs.c:2714
 #, fuzzy
 msgid "Failed to read inode bitmap\n"
-msgstr ", Bitmap inode di"
+msgstr "Tidak dapat membaca peta bit inode"
 
-#: misc/tune2fs.c:2627
+#: misc/tune2fs.c:2719
 #, fuzzy
 msgid "Failed to read block bitmap\n"
-msgstr "  Bitmap block di"
+msgstr "Tidak dapat membaca peta bit blok"
 
-#: misc/tune2fs.c:2644 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "blok untuk dipindahkan"
 
-#: misc/tune2fs.c:2647
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr ""
 
-#: misc/tune2fs.c:2653
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr ""
 
-#: misc/tune2fs.c:2658
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr ""
 
-#: misc/tune2fs.c:2690
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
 msgstr ""
 
-#: misc/tune2fs.c:2900
+#: misc/tune2fs.c:2995
 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:2907
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
 "'e2fsck -f %s'\n"
 msgstr ""
 
-#: misc/tune2fs.c:2919
+#: misc/tune2fs.c:3014
 #, fuzzy
 #| msgid "%s is not a journal device.\n"
 msgid "Cannot modify a journal device.\n"
-msgstr "Mencipta jurnal pada peranti %s: "
+msgstr "Mengosongkan peranti jurnal: "
 
-#: misc/tune2fs.c:2932
+#: misc/tune2fs.c:3027
 #, fuzzy, c-format
 msgid "The inode size is already %lu\n"
 msgstr "Menetapkan saiz inod %lu\n"
 
-#: misc/tune2fs.c:2939
+#: misc/tune2fs.c:3034
 #, fuzzy
 msgid "Shrinking inode size is not supported\n"
-msgstr "saiz inode tidak sah - %s"
+msgstr "Pengecutan dalam talian tidak disokong"
 
-#: misc/tune2fs.c:2944
+#: misc/tune2fs.c:3039
 #, fuzzy, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "saiz inode tidak sah - %s"
 
-#: misc/tune2fs.c:2950
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:2998
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6760,198 +6968,203 @@
 "by journal recovery.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3009
+#: misc/tune2fs.c:3103
 #, fuzzy, c-format
 msgid "Recovering journal.\n"
 msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
 
-#: misc/tune2fs.c:3028
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3034
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr ""
 
-#: misc/tune2fs.c:3039
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Menetapkan kelakuan ralat ke %d\n"
 
-#: misc/tune2fs.c:3044
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3049
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr ""
 
-#: misc/tune2fs.c:3056
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr ""
 
-#: misc/tune2fs.c:3063
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr ""
 
-#: misc/tune2fs.c:3069
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr ""
 
-#: misc/tune2fs.c:3076
+#: misc/tune2fs.c:3174
 #, fuzzy, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Memeriksa blok %lu ke %lu\n"
 
-#: misc/tune2fs.c:3081
+#: misc/tune2fs.c:3179
 #, fuzzy
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
 msgstr "Sistemfail telah mempunyai jurnal.\n"
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3094
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
 "Sparse superblock flag set.  %s"
 msgstr ""
 
-#: misc/tune2fs.c:3099
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3107
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr ""
 
-#: misc/tune2fs.c:3113
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr ""
 
-#: misc/tune2fs.c:3145
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr ""
 
-#: misc/tune2fs.c:3163
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3181
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr ""
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr ""
 
-#: misc/tune2fs.c:3196
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3309
 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:3229
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Format UUID tidak sah\n"
 
-#: misc/tune2fs.c:3245
+#: misc/tune2fs.c:3356
 #, fuzzy
 msgid "Need to update journal superblock.\n"
 msgstr "ketika memulakan superblok jurnal"
 
-#: misc/tune2fs.c:3267
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3274
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
 msgstr ""
 
-#: misc/tune2fs.c:3292
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Menetapkan saiz inod %lu\n"
 
-#: misc/tune2fs.c:3296
+#: misc/tune2fs.c:3407
 #, fuzzy
 msgid "Failed to change inode size\n"
-msgstr "saiz inode tidak sah - %s"
+msgstr "Ubah Saiz"
 
-#: misc/tune2fs.c:3310
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Menetapkan saiz stride ke %d\n"
 
-#: misc/tune2fs.c:3315
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Menetapkan lebar stripe ke %d\n"
 
-#: misc/tune2fs.c:3322
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr ""
 
-#: misc/util.c:101
+#: misc/util.c:102
+#, fuzzy
 msgid "<proceeding>\n"
-msgstr ""
+msgstr "Metadata kiriman telah dimuat turun, meneruskan dengan kiriman..."
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, fuzzy, c-format
 #| msgid "Proceed anyway? (y,n) "
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "Teruskan juga? (y,t)"
 
-#: misc/util.c:109
+#: misc/util.c:110
 #, fuzzy
 #| msgid "Proceed anyway? (y,n) "
 msgid "Proceed anyway? (y,N) "
 msgstr "Teruskan juga? (y,t)"
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr ""
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "tidak akan membuat %s disini!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "mke2fs dipaksa juga.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr ""
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
 "Could not find journal device matching %s\n"
 msgstr ""
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -6968,7 +7181,7 @@
 "\n"
 msgstr ""
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -6976,24 +7189,24 @@
 "\n"
 "Sistemfail terlalu kecil untuk jurnal\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 
-#: misc/util.c:262
+#: misc/util.c:293
 #, fuzzy
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
 "Sistemfail terlalu kecil untuk jurnal\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7018,27 +7231,25 @@
 #: misc/uuidd.c:155
 #, fuzzy
 msgid "bad arguments"
-msgstr "Sijil buruk"
+msgstr "Hujah teruk ke arahan pengguna\n"
 
 #: misc/uuidd.c:173
-#, fuzzy
 msgid "connect"
-msgstr "IDENT: connect() gagal"
+msgstr "sambung"
 
 #: misc/uuidd.c:192
-#, fuzzy
 msgid "write"
-msgstr "tidak dapat menulis fail stat"
+msgstr "tulis"
 
 #: misc/uuidd.c:200
 #, fuzzy
 msgid "read count"
-msgstr "Kiraan Perkataan"
+msgstr "kiraan"
 
 #: misc/uuidd.c:206
 #, fuzzy
 msgid "bad response length"
-msgstr "\t\t\tKekangan Panjang Laluan: %d\n"
+msgstr "Respons pengesahihan teruk daripada pelayan."
 
 #: misc/uuidd.c:271
 #, c-format
@@ -7046,14 +7257,14 @@
 msgstr ""
 
 #: misc/uuidd.c:279
-#, c-format
+#, fuzzy, c-format
 msgid "Couldn't create unix stream socket: %s"
-msgstr ""
+msgstr "Tidak dapat mencipta soket: %s"
 
 #: misc/uuidd.c:308
 #, fuzzy, c-format
 msgid "Couldn't bind unix socket %s: %s\n"
-msgstr "Tidak dapat menulis pada soket! %s."
+msgstr "Tidak dapat ikat port %d pada %s: %s (%s)"
 
 #: misc/uuidd.c:316
 #, fuzzy, c-format
@@ -7066,19 +7277,19 @@
 msgstr "Ralat membaca '%s': %s"
 
 #: misc/uuidd.c:362
-#, c-format
+#, fuzzy, c-format
 msgid "operation %d, incoming num = %d\n"
-msgstr ""
+msgstr "%d operasi muat turun aktif"
 
 #: misc/uuidd.c:381
 #, fuzzy, c-format
 msgid "Generated time UUID: %s\n"
-msgstr "masa dalam %s: %ld.%06ld (%ld%%)\n"
+msgstr "Masa (s): "
 
 #: misc/uuidd.c:391
-#, c-format
+#, fuzzy, c-format
 msgid "Generated random UUID: %s\n"
-msgstr ""
+msgstr "Guna nombor rawak terjana-perkakasan"
 
 #: misc/uuidd.c:400
 #, c-format
@@ -7089,38 +7300,38 @@
 #: misc/uuidd.c:421
 #, fuzzy, c-format
 msgid "Generated %d UUID's:\n"
-msgstr "Format UUID tidak sah\n"
+msgstr "Dijana"
 
 #: misc/uuidd.c:433
 #, fuzzy, c-format
 msgid "Invalid operation %d\n"
-msgstr "nilai $ tidak sah: $%d"
+msgstr "%d operasi fail berjalan"
 
 #: misc/uuidd.c:477 misc/uuidd.c:499
 #, fuzzy, c-format
 msgid "Bad number: %s\n"
-msgstr "versi buruk - %s\n"
+msgstr "Nombor ajaib buruk dalam blok-super"
 
 #: misc/uuidd.c:534 misc/uuidd.c:563
 #, fuzzy, c-format
 msgid "Error calling uuidd daemon (%s): %s\n"
-msgstr "Ralat mencipta /@l @d (%s): %m\n"
+msgstr "Ralat memanggil StartServiceByName untuk %s: "
 
 #: misc/uuidd.c:544
 #, fuzzy, c-format
 msgid "%s and subsequent UUID\n"
 msgid_plural "%s and subsequent %d UUIDs\n"
-msgstr[0] "Format UUID tidak sah\n"
+msgstr[0] "Peristiwa berikutn_ya"
 
 #: misc/uuidd.c:548
 #, fuzzy
 msgid "List of UUID's:\n"
-msgstr "Format UUID tidak sah\n"
+msgstr "UUID:"
 
 #: misc/uuidd.c:569
-#, c-format
+#, fuzzy, c-format
 msgid "Unexpected reply length from server %d\n"
-msgstr ""
+msgstr "Balas tidak jangka daripada pelayan"
 
 #: misc/uuidd.c:586
 #, c-format
@@ -7137,11 +7348,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Penggunaan: %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# Loggokan extent:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr ""
@@ -7190,47 +7401,51 @@
 "\n"
 msgstr ""
 
-#: resize/main.c:366
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "ketika membuka %s"
 
-#: resize/main.c:374
+#: resize/main.c:382
 #, fuzzy, c-format
 msgid "while getting stat information for %s"
-msgstr "ketika cuba untuk stat %s"
+msgstr "RaLat semasa mendapatkan maklumat kongsi: %s"
 
-#: resize/main.c:451
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:470
-#, c-format
+#: resize/main.c:482
+#, fuzzy, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
-msgstr ""
+msgstr "Ralat melekapkan sistem fail untuk mengira saiz minimum"
 
-#: resize/main.c:507
+#: resize/main.c:522
 #, fuzzy, c-format
 msgid "Invalid new size: %s\n"
 msgstr "%s: fail saiz tidak sah"
 
-#: resize/main.c:526
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr ""
 
-#: resize/main.c:534
+#: resize/main.c:560
+msgid "New size results in too many block group descriptors.\n"
+msgstr ""
+
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr ""
 
-#: resize/main.c:540
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Panjang stride tidak sah"
 
-#: resize/main.c:564
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7238,83 +7453,88 @@
 "\n"
 msgstr ""
 
-#: resize/main.c:571
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr ""
 
-#: resize/main.c:575
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr ""
 
-#: resize/main.c:581
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr ""
 
-#: resize/main.c:587
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr ""
 
-#: resize/main.c:593
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:600
+#: resize/main.c:639
 #, fuzzy, c-format
 #| msgid "The filesystem already has a journal.\n"
 msgid "The filesystem is already 64-bit.\n"
-msgstr "Sistemfail telah mempunyai jurnal.\n"
+msgstr "64-bit"
 
-#: resize/main.c:605
+#: resize/main.c:644
 #, fuzzy, c-format
 #| msgid "The filesystem already has a journal.\n"
 msgid "The filesystem is already 32-bit.\n"
 msgstr "Sistemfail telah mempunyai jurnal.\n"
 
-#: resize/main.c:613
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr ""
+
+#: resize/main.c:658
 #, fuzzy, c-format
 msgid "Converting the filesystem to 64-bit.\n"
-msgstr "Sistem fail       "
+msgstr "Menukarkan"
 
-#: resize/main.c:615
+#: resize/main.c:660
 #, fuzzy, c-format
 msgid "Converting the filesystem to 32-bit.\n"
-msgstr "Sistem fail       "
+msgstr "32-bit"
 
-#: resize/main.c:617
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr ""
 
-#: resize/main.c:626
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "ketika cuba untuk mengulangsaiz %s"
 
-#: resize/main.c:629
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
 "after the aborted resize operation.\n"
 msgstr ""
 
-#: resize/main.c:635
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
 "\n"
 msgstr ""
 
-#: resize/main.c:650
-#, fuzzy, c-format
+#: resize/main.c:695
+#, c-format
 msgid "while trying to truncate %s"
-msgstr "ketika cuba untuk memadam %s"
+msgstr "ketika cuba untuk memangkas %s"
 
 #: resize/online.c:81
 msgid "kernel does not support online resize with sparse_super2"
@@ -7326,13 +7546,12 @@
 msgstr ""
 
 #: resize/online.c:90
-#, fuzzy
 msgid "On-line shrinking not supported"
-msgstr "Sijil tidak disokong"
+msgstr "Pengecutan dalam talian tidak disokong"
 
 #: resize/online.c:114
 msgid "Filesystem does not support online resizing"
-msgstr ""
+msgstr "Sistem fail tidak menyokong saiz semula dalam talian"
 
 #: resize/online.c:122
 msgid "Not enough reserved gdt blocks for resizing"
@@ -7350,175 +7569,164 @@
 #: resize/online.c:142
 #, c-format
 msgid "Old resize interface requested.\n"
-msgstr ""
+msgstr "Antaramuka mengubah saiz lama diminta.\n"
 
 #: resize/online.c:161 resize/online.c:178
 msgid "Permission denied to resize filesystem"
-msgstr ""
+msgstr "Kebenaran ditolak untuk mengubah saiz sistem fail"
 
 #: resize/online.c:164 resize/online.c:184
 msgid "While checking for on-line resizing support"
 msgstr ""
 
 #: resize/online.c:181
+#, fuzzy
 msgid "Kernel does not support online resizing"
-msgstr ""
+msgstr "Sistem fail tidak menyokong saiz semula dalam talian"
 
 #: resize/online.c:220
 #, c-format
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr ""
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Ketika cuba memanjangkan kumpulan terakhir"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Ketika cuba menambah kumpulan #%d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr ""
 
-#: resize/resize2fs.c:759
-#, fuzzy, c-format
-#| msgid "inodes (%llu) must be less than %u"
+#: resize/resize2fs.c:769
+#, c-format
 msgid "inodes (%llu) must be less than %u\n"
-msgstr "inode (%llu) mesti kurang dari %u"
+msgstr "inode (%llu) mesti kurang dari %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "blok dikhaskan"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "blok meta-data"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
-#, fuzzy
-#| msgid "meta-data blocks"
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
-msgstr "blok meta-data"
+msgstr "blok meta baharu"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr ""
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr ""
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:11
-#, fuzzy
-msgid "EXT2FS Library version 1.45.3"
-msgstr "Versi pustaka tasn1 terlalu lama."
+msgid "EXT2FS Library version 1.46.5"
+msgstr "Pustaka EXT2FS versi 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
-#, fuzzy
 msgid "Wrong magic number for ext2_filsys structure"
-msgstr "Nombor ajaib yang salah --- RESERVED_15"
+msgstr "Nombor ajaib yang salah untuk struktur ext2_filsys"
 
 #: lib/ext2fs/ext2_err.c:13
 msgid "Wrong magic number for badblocks_list structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur badblocks_list"
 
 #: lib/ext2fs/ext2_err.c:14
 msgid "Wrong magic number for badblocks_iterate structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur badblocks_iterate"
 
 #: lib/ext2fs/ext2_err.c:15
 msgid "Wrong magic number for inode_scan structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur inode_scan"
 
 #: lib/ext2fs/ext2_err.c:16
 msgid "Wrong magic number for io_channel structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur io_channel"
 
 #: lib/ext2fs/ext2_err.c:17
 msgid "Wrong magic number for unix io_channel structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur io_channel unix"
 
 #: lib/ext2fs/ext2_err.c:18
 msgid "Wrong magic number for io_manager structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur io_manager"
 
 #: lib/ext2fs/ext2_err.c:19
 msgid "Wrong magic number for block_bitmap structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur block_bitmap"
 
 #: lib/ext2fs/ext2_err.c:20
 msgid "Wrong magic number for inode_bitmap structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur inode_bitmap"
 
 #: lib/ext2fs/ext2_err.c:21
 msgid "Wrong magic number for generic_bitmap structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur generic_bitmap"
 
 #: lib/ext2fs/ext2_err.c:22
 msgid "Wrong magic number for test io_channel structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur io_channel ujian"
 
 #: lib/ext2fs/ext2_err.c:23
 msgid "Wrong magic number for directory block list structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur senarai blok direktori"
 
 #: lib/ext2fs/ext2_err.c:24
-#, fuzzy
 msgid "Wrong magic number for icount structure"
-msgstr "Nombor ajaib yang salah --- RESERVED_15"
+msgstr "Nombor ajaib yang salah untuk struktur icount"
 
 #: lib/ext2fs/ext2_err.c:25
 msgid "Wrong magic number for Powerquest io_channel structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur Powerquest io_channel"
 
 #: lib/ext2fs/ext2_err.c:26
 msgid "Wrong magic number for ext2 file structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur fail ext2"
 
 #: lib/ext2fs/ext2_err.c:27
 msgid "Wrong magic number for Ext2 Image Header"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk Pengepala Imej Ext2"
 
 #: lib/ext2fs/ext2_err.c:28
 msgid "Wrong magic number for inode io_channel structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur io_channel inode"
 
 #: lib/ext2fs/ext2_err.c:29
 msgid "Wrong magic number for ext4 extent handle"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:30
-#, fuzzy
 msgid "Bad magic number in super-block"
-msgstr "ketika membaca superblok jurnal"
+msgstr "Nombor ajaib buruk dalam blok-super"
 
 #: lib/ext2fs/ext2_err.c:31
-#, fuzzy
 msgid "Filesystem revision too high"
-msgstr ""
-"\n"
-"Sistemfail terlalu kecil untuk jurnal\n"
+msgstr "Semakan sistem fail terlalu tinggi"
 
 #: lib/ext2fs/ext2_err.c:32
 msgid "Attempt to write to filesystem opened read-only"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:33
-#, fuzzy
 msgid "Can't read group descriptors"
-msgstr ", Penerangan kumpulan di "
+msgstr "Tidak dapat membaca penerangan kumpulan"
 
 #: lib/ext2fs/ext2_err.c:34
-#, fuzzy
 msgid "Can't write group descriptors"
-msgstr ", Penerangan kumpulan di "
+msgstr "Tidak dapat menulis penerangan kumpulan"
 
 #: lib/ext2fs/ext2_err.c:35
 msgid "Corrupt group descriptor: bad block for block bitmap"
@@ -7533,52 +7741,40 @@
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:38
-#, fuzzy
 msgid "Can't write an inode bitmap"
-msgstr ", Bitmap inode di"
+msgstr "Tidak dapat menulis peta bit inode"
 
 #: lib/ext2fs/ext2_err.c:39
-#, fuzzy
 msgid "Can't read an inode bitmap"
-msgstr ", Bitmap inode di"
+msgstr "Tidak dapat membaca peta bit inode"
 
 #: lib/ext2fs/ext2_err.c:40
-#, fuzzy
 msgid "Can't write a block bitmap"
-msgstr "  Bitmap block di"
+msgstr "Tidak dapat menulis peta bit blok"
 
 #: lib/ext2fs/ext2_err.c:41
-#, fuzzy
 msgid "Can't read a block bitmap"
-msgstr "  Bitmap block di"
+msgstr "Tidak dapat membaca peta bit blok"
 
 #: lib/ext2fs/ext2_err.c:42
-#, fuzzy
 msgid "Can't write an inode table"
-msgstr ""
-"\n"
-"  Jadual inode di"
+msgstr "Tidak dapat menulis jadual inode"
 
 #: lib/ext2fs/ext2_err.c:43
-#, fuzzy
 msgid "Can't read an inode table"
-msgstr ""
-"\n"
-"  Jadual inode di"
+msgstr "Tidak dapat membaca jadual inode"
 
 #: lib/ext2fs/ext2_err.c:44
 msgid "Can't read next inode"
-msgstr ""
+msgstr "Tidak dapat membaca inode seterusnya"
 
 #: lib/ext2fs/ext2_err.c:45
-#, fuzzy
 msgid "Filesystem has unexpected block size"
-msgstr "%s: saiz alamat mempunyai nilai %u tidak dijangka\n"
+msgstr "Sistem fail mempunyai saiz blok yang tidak dijangka"
 
 #: lib/ext2fs/ext2_err.c:46
-#, fuzzy
 msgid "EXT2 directory corrupted"
-msgstr "Fail Ext2 sudah wujud"
+msgstr "Direktori EXT2 rosak"
 
 #: lib/ext2fs/ext2_err.c:47
 msgid "Attempt to read block from filesystem resulted in short read"
@@ -7589,34 +7785,28 @@
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:49
-#, fuzzy
 msgid "No free space in the directory"
-msgstr "Tiada ruang bebas dalam data sebaris"
+msgstr "Tiada ruang kosong dalam direktori"
 
 #: lib/ext2fs/ext2_err.c:50
-#, fuzzy
 msgid "Inode bitmap not loaded"
-msgstr ", Bitmap inode di"
+msgstr "Peta bit inode tidak dimuatkan"
 
 #: lib/ext2fs/ext2_err.c:51
-#, fuzzy
 msgid "Block bitmap not loaded"
-msgstr "  Bitmap block di"
+msgstr "Peta bit blok tidak dimuatkan"
 
 #: lib/ext2fs/ext2_err.c:52
-#, fuzzy
 msgid "Illegal inode number"
-msgstr "Nombor tidak sah untuk saiz flex_bg"
+msgstr "Nombor inode tidak sah"
 
 #: lib/ext2fs/ext2_err.c:53
-#, fuzzy
 msgid "Illegal block number"
-msgstr "Nombor tidak sah untuk saiz flex_bg"
+msgstr "Nombor blok tidak sah"
 
 #: lib/ext2fs/ext2_err.c:54
-#, fuzzy
 msgid "Internal error in ext2fs_expand_dir"
-msgstr "Ralat dalaman GnuTLS."
+msgstr "Ralat dalaman dalam ext2fs_expand_dir"
 
 #: lib/ext2fs/ext2_err.c:55
 msgid "Not enough space to build proposed filesystem"
@@ -7655,42 +7845,36 @@
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:64
-#, fuzzy
 msgid "Illegal indirect block found"
-msgstr "ketika membaca inod jurnal"
+msgstr "Blok tidak langsung yang tidak sah dijumpai"
 
 #: lib/ext2fs/ext2_err.c:65
-#, fuzzy
 msgid "Illegal doubly indirect block found"
-msgstr "ketika membaca inod jurnal"
+msgstr "Blok tidak langsung dua kali yang tidak sah dijumpai"
 
 #: lib/ext2fs/ext2_err.c:66
-#, fuzzy
 msgid "Illegal triply indirect block found"
-msgstr "ketika membaca inod jurnal"
+msgstr "Blok tidak langsung tiga kali yang tidak sah dijumpai"
 
 #: lib/ext2fs/ext2_err.c:67
-#, fuzzy
 msgid "Block bitmaps are not the same"
-msgstr "ketika membaca bitmap"
+msgstr "Peta bit blok tidak sama"
 
 #: lib/ext2fs/ext2_err.c:68
-#, fuzzy
 msgid "Inode bitmaps are not the same"
-msgstr "ketika membaca bitmap"
+msgstr "Peta bit inode tidak sama"
 
 #: lib/ext2fs/ext2_err.c:69
 msgid "Illegal or malformed device name"
-msgstr ""
+msgstr "Nama peranti cacat atau tidak sah"
 
 #: lib/ext2fs/ext2_err.c:70
 msgid "A block group is missing an inode table"
-msgstr ""
+msgstr "Satu kumpulan blok kehilangan jadual inode"
 
 #: lib/ext2fs/ext2_err.c:71
-#, fuzzy
 msgid "The ext2 superblock is corrupt"
-msgstr "Superblock jurnal ini rosak"
+msgstr "Superblock ext2 rosak"
 
 #: lib/ext2fs/ext2_err.c:72
 msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap"
@@ -7706,39 +7890,35 @@
 
 #: lib/ext2fs/ext2_err.c:75
 msgid "Too many symbolic links encountered."
-msgstr ""
+msgstr "Terlalu banyak pautan simbolik ditemui."
 
 #: lib/ext2fs/ext2_err.c:76
 msgid "The callback function will not handle this case"
-msgstr ""
+msgstr "Fungsi panggil balik tidak akan mengendalikan kes ini"
 
 #: lib/ext2fs/ext2_err.c:77
-#, fuzzy
 msgid "The inode is from a bad block in the inode table"
-msgstr "ketika menetapkan inod blok buruk"
+msgstr "Inode adalah dari blok buruk dalam jadual inode"
 
 #: lib/ext2fs/ext2_err.c:78
-#, fuzzy
 msgid "Filesystem has unsupported feature(s)"
-msgstr "%s tidak mempunyai ciri disokong:"
+msgstr "Sistem fail mempunyai ciri yang tidak disokong"
 
 #: lib/ext2fs/ext2_err.c:79
-#, fuzzy
 msgid "Filesystem has unsupported read-only feature(s)"
-msgstr "%s tidak mempunyai ciri disokong:"
+msgstr "Sistem fail mempunyai ciri baca-sahaja yang tidak disokong"
 
 #: lib/ext2fs/ext2_err.c:80
 msgid "IO Channel failed to seek on read or write"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:81
-#, fuzzy
 msgid "Memory allocation failed"
-msgstr "Ralat dalaman dalam pengumpukan memori."
+msgstr "Pengumpukan memori gagal"
 
 #: lib/ext2fs/ext2_err.c:82
 msgid "Invalid argument passed to ext2 library"
-msgstr ""
+msgstr "Hujah tidak sah dihantar ke pustaka ext2"
 
 #: lib/ext2fs/ext2_err.c:83
 msgid "Could not allocate block in ext2 filesystem"
@@ -7749,125 +7929,104 @@
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:85
-#, fuzzy
 msgid "Ext2 inode is not a directory"
-msgstr "Fail Ext2 sudah wujud"
+msgstr "Inode Ext2 adalah bukan direktori"
 
 #: lib/ext2fs/ext2_err.c:86
-#, fuzzy
 msgid "Too many references in table"
-msgstr "Terlalu banyak ralat, keluar"
+msgstr "Terlalu banyak rujukan dalam jadual"
 
 #: lib/ext2fs/ext2_err.c:87
-#, fuzzy
 msgid "File not found by ext2_lookup"
-msgstr "Ralat ditemui dalam fail .nanorc"
+msgstr "Fail tidak dijumpai oleh ext2_lookup"
 
 #: lib/ext2fs/ext2_err.c:88
-#, fuzzy
 msgid "File open read-only"
-msgstr "Mod lihat (baca sahaja)"
+msgstr "Fail dibuka baca sahaja"
 
 #: lib/ext2fs/ext2_err.c:89
-#, fuzzy
 msgid "Ext2 directory block not found"
-msgstr "Senarai blok direktori Ext2fs kosong"
+msgstr "Blok direktori Ext2 tidak dijumpai"
 
 #: lib/ext2fs/ext2_err.c:90
-#, fuzzy
 msgid "Ext2 directory already exists"
-msgstr "Fail Ext2 sudah wujud"
+msgstr "Direktori Ext2 sudah wujud"
 
 #: lib/ext2fs/ext2_err.c:91
 msgid "Unimplemented ext2 library function"
-msgstr ""
+msgstr "Fungsi pustaka ext2 tidak diterapkna"
 
 #: lib/ext2fs/ext2_err.c:92
-#, fuzzy
 msgid "User cancel requested"
-msgstr "pengguna"
+msgstr "Pengguna meminta pembatalan"
 
 #: lib/ext2fs/ext2_err.c:93
-#, fuzzy
 msgid "Ext2 file too big"
-msgstr "Fail Ext2 sudah wujud"
+msgstr "Fail Ext2 terlalu besar"
 
 #: lib/ext2fs/ext2_err.c:94
-#, fuzzy
 msgid "Supplied journal device not a block device"
-msgstr "%s adalah bukan peranti khas.\n"
+msgstr "Peranti jurnal yang dinyatakan bukan peranti blok"
 
 #: lib/ext2fs/ext2_err.c:95
-#, fuzzy
 msgid "Journal superblock not found"
-msgstr "Superblok jurnal tidak dijumpai!\n"
+msgstr "Superblok jurnal tidak dijumpai"
 
 #: lib/ext2fs/ext2_err.c:96
 msgid "Journal must be at least 1024 blocks"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:97
-#, fuzzy
 msgid "Unsupported journal version"
-msgstr "jurnal"
+msgstr "Versi jurnal tidak disokong"
 
 #: lib/ext2fs/ext2_err.c:98
-#, fuzzy
 msgid "Error loading external journal"
-msgstr "Ralat memuatkan cecincin kunci."
+msgstr "Ralat memuatkan jurnal luaran"
 
 #: lib/ext2fs/ext2_err.c:99
-#, fuzzy
 msgid "Journal not found"
-msgstr "Superblok jurnal tidak dijumpai!\n"
+msgstr "Jurnal tidak dijumpai"
 
 #: lib/ext2fs/ext2_err.c:100
-#, fuzzy
 msgid "Directory hash unsupported"
-msgstr "Algoritma hash tidak diketahui."
+msgstr "Hash direktori tidak disokong"
 
 #: lib/ext2fs/ext2_err.c:101
-#, fuzzy
 msgid "Illegal extended attribute block number"
-msgstr "Semakan blok atribut lanjutan tidak sepadan dengan blok"
+msgstr "Nombor blok atribut lanjutan tidak sah"
 
 #: lib/ext2fs/ext2_err.c:102
 msgid "Cannot create filesystem with requested number of inodes"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:103
-#, fuzzy
 msgid "E2image snapshot not in use"
-msgstr "Guna%"
+msgstr "Snapshot E2image tidak digunakan"
 
 #: lib/ext2fs/ext2_err.c:104
-#, fuzzy
 msgid "Too many reserved group descriptor blocks"
-msgstr " Penghurai kumpulan di"
+msgstr "Terlalu banyak blok penerangan kumpulan simpanan"
 
 #: lib/ext2fs/ext2_err.c:105
-#, fuzzy
 msgid "Resize inode is corrupt"
-msgstr "Menerima data yang rosak."
+msgstr "Inode saiz semula telah rosak"
 
 #: lib/ext2fs/ext2_err.c:106
 msgid "Tried to set block bmap with missing indirect block"
 msgstr ""
 
 #: lib/ext2fs/ext2_err.c:107
-#, fuzzy
 msgid "TDB: Success"
-msgstr "Berjaya."
+msgstr "TDB: Berjaya"
 
 #: lib/ext2fs/ext2_err.c:108
-#, fuzzy
 msgid "TDB: Corrupt database"
-msgstr "TDB: Tulis tidak dibenarkan"
+msgstr "TDB: Pengkalan data rosak"
 
 #: lib/ext2fs/ext2_err.c:109
-#, fuzzy
 msgid "TDB: IO Error"
-msgstr "tdb_open %s gagal\n"
+msgstr "TDB: Ralat IO"
 
 #: lib/ext2fs/ext2_err.c:110
 msgid "TDB: Locking error"
@@ -7911,15 +8070,15 @@
 
 #: lib/ext2fs/ext2_err.c:120
 msgid "Wrong magic number for 64-bit generic bitmap"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk peta bit umum 64-bit"
 
 #: lib/ext2fs/ext2_err.c:121
 msgid "Wrong magic number for 64-bit block bitmap"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk peta bit blok 64-bit"
 
 #: lib/ext2fs/ext2_err.c:122
 msgid "Wrong magic number for 64-bit inode bitmap"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk peta bit inode 64-bit"
 
 #: lib/ext2fs/ext2_err.c:123
 msgid "Wrong magic number --- RESERVED_13"
@@ -8031,7 +8190,7 @@
 
 #: lib/ext2fs/ext2_err.c:150
 msgid "MMP: device currently active"
-msgstr ""
+msgstr "MMP: peranti sedang aktif"
 
 #: lib/ext2fs/ext2_err.c:151
 msgid "MMP: e2fsck being run"
@@ -8043,11 +8202,11 @@
 
 #: lib/ext2fs/ext2_err.c:153
 msgid "MMP: undergoing an unknown operation"
-msgstr ""
+msgstr "MMP: menjalani operasi yang tidak diketahui"
 
 #: lib/ext2fs/ext2_err.c:154
 msgid "MMP: filesystem still in use"
-msgstr ""
+msgstr "MMP: sistem fail masih digunakan"
 
 #: lib/ext2fs/ext2_err.c:155
 msgid "MMP: open with O_DIRECT failed"
@@ -8107,15 +8266,15 @@
 
 #: lib/ext2fs/ext2_err.c:169
 msgid "Extended attribute has an invalid name length"
-msgstr ""
+msgstr "Atribut lanjutan mempunyai panjang nama yang tidak sah"
 
 #: lib/ext2fs/ext2_err.c:170
 msgid "Extended attribute has an invalid value length"
-msgstr ""
+msgstr "Atribut lanjutan mempunyai panjang nilai yang tidak sah"
 
 #: lib/ext2fs/ext2_err.c:171
 msgid "Extended attribute has an incorrect hash"
-msgstr ""
+msgstr "Atribut lanjutan mempunyai hash yang salah"
 
 #: lib/ext2fs/ext2_err.c:172
 msgid "Extended attribute block has a bad header"
@@ -8147,7 +8306,7 @@
 
 #: lib/ext2fs/ext2_err.c:179
 msgid "Wrong magic number for extended attribute structure"
-msgstr ""
+msgstr "Nombor ajaib yang salah untuk struktur sifat lanjutan"
 
 #: lib/ext2fs/ext2_err.c:180
 msgid "Inode seems to contain garbage"
@@ -8155,7 +8314,7 @@
 
 #: lib/ext2fs/ext2_err.c:181
 msgid "Extended attribute has an invalid value offset"
-msgstr ""
+msgstr "Atribut lanjutan mempunyai nilai anjakan yang tidak sah"
 
 #: lib/ext2fs/ext2_err.c:182
 msgid "Journal flags inconsistent"
@@ -8189,6 +8348,22 @@
 msgid "Inode containing extended attribute value is corrupted"
 msgstr ""
 
+#: lib/ext2fs/ext2_err.c:190
+msgid "Group descriptors not loaded"
+msgstr "Penerangan kumpulan tidak dimuatkan"
+
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr ""
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "Operasi tidak disokong pada jurnal luaran"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Versi profil 0.0"
@@ -8231,11 +8406,11 @@
 
 #: lib/support/prof_err.c:21
 msgid "Can't set value on section node"
-msgstr ""
+msgstr "Tidak dapat tetapkan nilai pada node seksyen"
 
 #: lib/support/prof_err.c:22
 msgid "Invalid argument passed to profile library"
-msgstr ""
+msgstr "Pilihan tidak sah dihantar ke pustaka profil"
 
 #: lib/support/prof_err.c:23
 msgid "Attempt to modify read-only profile"
@@ -8313,68 +8488,58 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr ""
 
-#: lib/support/plausible.c:118
+#: lib/support/plausible.c:119
 #, c-format
-msgid "\tlast mounted on %s on %s"
-msgstr "\tterakhir dilekapkan pada %s pada %s"
+msgid "\tlast mounted on %.*s on %s"
+msgstr "\tterakhir dilekapkan pada %.*s pada %s"
 
-#: lib/support/plausible.c:121
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tterakhir dilekapkan pada %s"
 
-#: lib/support/plausible.c:124
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tdicipta pada %s"
 
-#: lib/support/plausible.c:127
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tterakhir diubahsuai pada %s"
 
-#: lib/support/plausible.c:161
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "%s jadual pembahagian dijumpai didalam %s\n"
 
-#: lib/support/plausible.c:191
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "Fail %s tidak wujud dan tiada saiz dinyatakan.\n"
-
-#: lib/support/plausible.c:199
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Mencipta fail biasa %s\n"
-
-#: lib/support/plausible.c:202
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Tidak dapat membuka %s: %s\n"
 
-#: lib/support/plausible.c:205
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
 msgstr ""
 
-#: lib/support/plausible.c:227
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s adalah bukan peranti khas.\n"
 
-#: lib/support/plausible.c:249
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s mengandungi sistem fail %s yang dilabelkan '%s'\n"
 
-#: lib/support/plausible.c:252
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s mengandungi sistem fail %s\n"
 
-#: lib/support/plausible.c:276
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s mengandungi data `%s'\n"
diff --git a/po/nl.po b/po/nl.po
index dae6e3a..0ea4641 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,12 +1,12 @@
 # Dutch translations for e2fsprogs.
-# Copyright (C) 2019 Theodore Tso (msgids)
+# Copyright (C) 2021 Theodore Tso (msgids)
 # This file is distributed under the same license as the e2fsprogs package.
 #
 # «A reality program does actually illustrate it well.  The key to victory
 # lies more in manipulation and cooperation than in exceptional personal skills.»
 #
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008, 2010, 2011, 2012.
-# Benno Schulenberg <benno@vertaalt.nl>, 2013, 2014, 2016, 2017, 2018, 2019, 2020.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013.
+# Benno Schulenberg <benno@vertaalt.nl>, 2014, 2016, 2017, 2018, 2019, 2020, 2021, 2022.
 #
 # Woordgebruik:
 #   block -> blok
@@ -20,6 +20,7 @@
 #   (inode blijft onvertaald)
 #   (extent blijft onvertaald)
 #   (journal blijft onvertaald)
+#   (profile blijft onvertaald)
 #   ('trying to' wordt weggelaten)
 #
 #. The strings in e2fsck's problem.c can be very hard to translate,
@@ -93,10 +94,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs-1.45.3\n"
+"Project-Id-Version: e2fsprogs-1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2019-07-14 20:56-0400\n"
-"PO-Revision-Date: 2020-10-18 15:58+0200\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-19 11:03+0200\n"
 "Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -106,7 +107,7 @@
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Slecht blok %u ligt buiten bereik; genegeerd.\n"
@@ -119,35 +120,35 @@
 msgid "while reading the bad blocks inode"
 msgstr "tijdens lezen van de slechteblokken-inode"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:688 misc/dumpe2fs.c:692 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2796 misc/tune2fs.c:2895 resize/main.c:414
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "tijdens openen van %s"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "tijdens een popen() van %s"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "tijdens lezen van lijst van slechte blokken uit bestand"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "tijdens bijwerken van de inode van een slecht blok"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Waarschuwing: ongeldig blok %u gevonden in inode van slecht blok.  Gewist.\n"
 
-#: e2fsck/dirinfo.c:331
+#: e2fsck/dirinfo.c:332
 msgid "while freeing dir_info tdb file"
 msgstr "tijdens vrijgeven van 'dir_info' TDB-bestand"
 
@@ -179,15 +180,15 @@
 msgid "Error writing block %lu (%s).  "
 msgstr "Fout tijdens schrijven van blok %lu (%s).  "
 
-#: e2fsck/emptydir.c:57
+#: e2fsck/emptydir.c:56
 msgid "empty dirblocks"
 msgstr "lege mapblokken"
 
-#: e2fsck/emptydir.c:62
+#: e2fsck/emptydir.c:61
 msgid "empty dir map"
 msgstr "lege maptabel"
 
-#: e2fsck/emptydir.c:98
+#: e2fsck/emptydir.c:97
 #, c-format
 msgid "Empty directory block %u (#%d) in inode %u\n"
 msgstr "Leeg mapblok %u (#%d) in inode %u.\n"
@@ -197,12 +198,12 @@
 msgid "%s: %s filename nblocks blocksize\n"
 msgstr "Gebruik van %s:  %s bestandsnaam blokkenaantal blokgrootte\n"
 
-#: e2fsck/extend.c:44
+#: e2fsck/extend.c:45
 #, c-format
 msgid "Illegal number of blocks!\n"
 msgstr "Ongeldig aantal blokken!\n"
 
-#: e2fsck/extend.c:50
+#: e2fsck/extend.c:51
 #, c-format
 msgid "Couldn't allocate block buffer (size=%d)\n"
 msgstr "Kan geen blokbuffer reserveren (grootte=%d).\n"
@@ -221,64 +222,36 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "ioctl(BLKFLSBUF) wordt niet ondersteund!  Kan buffers niet leegmaken.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Gebruik:  %s [-F] [-I inodebufferblokken] apparaat\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "tijdens openen van %s om deze leeg te maken"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:383
-#, c-format
-msgid "while trying to flush %s"
-msgstr "tijdens leegmaken van %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "tijdens openen van '%s'"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "tijdens openen voor inode-scan"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "tijdens halen van volgende inode"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "%u inodes gescand.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "lezen van journal-superblok...\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: geen geldig journal-superblok gevonden\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: journal is te kort\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3792
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: onjuiste fast-commit blokken\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: herstellen van journal...\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: geen herstelling van journal bij alleen-lezen\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "tijdens heropenen van %s"
@@ -448,56 +421,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<gereserveerde inode 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "normaal bestand"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "map"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "byte-apparaat"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "blok-apparaat"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "benoemde pijp"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "symbolische koppeling"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "socket"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "onbekend bestandstype met modus 0%o"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "indirect blok"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "dubbel-indirect blok"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "drievoudig-indirect blok"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "translator-blok"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "blok #"
 
@@ -517,117 +490,125 @@
 msgid "unknown quota type"
 msgstr "onbekend quotatype"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "bitkaart van meervoudig-geclaimde inodes"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:826
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "**interne programmafout**: kan geen 'dup_blk' voor %llu vinden\n"
 
-#: e2fsck/pass1b.c:952
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "### teruggekeerd van clone_file_block()"
 
-#: e2fsck/pass1b.c:976
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "**interne programmafout**: kan de record van EA-blokken voor %llu niet opvragen"
 
-#: e2fsck/pass1b.c:988
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "**interne programmafout**: kan de record van EA-inodes voor %u niet opvragen"
 
-#: e2fsck/pass1.c:357
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "tijdens hashen van item met e_value_inum = %u"
 
-#: e2fsck/pass1.c:775 e2fsck/pass2.c:1007
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr "tijdens lezen van mapblok"
 
-#: e2fsck/pass1.c:1224
-msgid "in-use inode map"
-msgstr "bitkaart van gebruikte inodes"
-
-#: e2fsck/pass1.c:1235
-msgid "directory inode map"
-msgstr "bitkaart van mappen"
-
-#: e2fsck/pass1.c:1245
-msgid "regular file inode map"
-msgstr "bitkaart van normale bestanden"
-
-#: e2fsck/pass1.c:1254 misc/e2image.c:1282
-msgid "in-use block map"
-msgstr "bitkaart van gebruikte blokken"
-
-#: e2fsck/pass1.c:1263
-msgid "metadata block map"
-msgstr "bitkaart van blokken met metagegevens"
-
-#: e2fsck/pass1.c:1325
-msgid "opening inode scan"
-msgstr "tijdens starten van inode-scan"
-
-#: e2fsck/pass1.c:1363
+#: e2fsck/pass1.c:1169
 msgid "getting next inode from scan"
 msgstr "tijdens halen van volgende inode"
 
-#: e2fsck/pass1.c:2067
+#: e2fsck/pass1.c:1221
+msgid "in-use inode map"
+msgstr "bitkaart van gebruikte inodes"
+
+#: e2fsck/pass1.c:1232
+msgid "directory inode map"
+msgstr "bitkaart van mappen"
+
+#: e2fsck/pass1.c:1242
+msgid "regular file inode map"
+msgstr "bitkaart van normale bestanden"
+
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
+msgid "in-use block map"
+msgstr "bitkaart van gebruikte blokken"
+
+#: e2fsck/pass1.c:1260
+msgid "metadata block map"
+msgstr "bitkaart van blokken met metagegevens"
+
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "bitkaart van 'casefold' inodes"
+
+#: e2fsck/pass1.c:1336
+msgid "opening inode scan"
+msgstr "tijdens starten van inode-scan"
+
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
 msgstr "Stap 1"
 
-#: e2fsck/pass1.c:2128
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "lezen van indirecte blokken van inode %u"
 
-#: e2fsck/pass1.c:2179
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
 msgstr "bitkaart van slechte inodes"
 
-#: e2fsck/pass1.c:2219
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
 msgstr "inode staat in kaart van slechte blokken"
 
-#: e2fsck/pass1.c:2239
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
 msgstr "bitkaart van imagic-inodes"
 
-#: e2fsck/pass1.c:2270
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr "kaart van meervoudig-geclaimde blokken"
 
-#: e2fsck/pass1.c:2395
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "kaart van blokken met uitgebreide kenmerken"
 
-#: e2fsck/pass1.c:3640
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): verwachtte %6lu, kreeg fysiek %6lu (blokkenaantal %lld)\n"
 
-#: e2fsck/pass1.c:4060
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "blok-bitkaart"
 
-#: e2fsck/pass1.c:4066
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "inode-bitkaart"
 
-#: e2fsck/pass1.c:4072
+#: e2fsck/pass1.c:4162
 msgid "inode table"
 msgstr "inodetabel"
 
-#: e2fsck/pass2.c:307
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr "Stap 2"
 
-#: e2fsck/pass2.c:1079 e2fsck/pass2.c:1246
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "NLS is defect."
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "Kan niet verdergaan."
 
@@ -643,11 +624,11 @@
 msgid "Pass 3"
 msgstr "Stap 3"
 
-#: e2fsck/pass3.c:344
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr "bitkaart van inode-lusdetectie"
 
-#: e2fsck/pass4.c:277
+#: e2fsck/pass4.c:289
 msgid "Pass 4"
 msgstr "Stap 4"
 
@@ -663,187 +644,195 @@
 msgid "check_block_bitmap_checksum: Memory allocation error"
 msgstr "check_block_bitmap_checksum: Onvoldoende geheugen beschikbaar"
 
-#: e2fsck/problem.c:52
+#: e2fsck/problem.c:53
 msgid "(no prompt)"
 msgstr "(geen prompt)"
 
-#: e2fsck/problem.c:53
+#: e2fsck/problem.c:54
 msgid "Fix"
 msgstr "Repareren"
 
-#: e2fsck/problem.c:54
+#: e2fsck/problem.c:55
 msgid "Clear"
 msgstr "Wissen"
 
-#: e2fsck/problem.c:55
+#: e2fsck/problem.c:56
 msgid "Relocate"
 msgstr "Herplaatsen"
 
-#: e2fsck/problem.c:56
+#: e2fsck/problem.c:57
 msgid "Allocate"
 msgstr "Plaatsen"
 
-#: e2fsck/problem.c:57
+#: e2fsck/problem.c:58
 msgid "Expand"
 msgstr "Uitbreiden"
 
-#: e2fsck/problem.c:58
+#: e2fsck/problem.c:59
 msgid "Connect to /lost+found"
 msgstr "Verbinden met /lost+found"
 
-#: e2fsck/problem.c:59
+#: e2fsck/problem.c:60
 msgid "Create"
 msgstr "Aanmaken"
 
-#: e2fsck/problem.c:60
+#: e2fsck/problem.c:61
 msgid "Salvage"
 msgstr "Bergen"
 
-#: e2fsck/problem.c:61
+#: e2fsck/problem.c:62
 msgid "Truncate"
 msgstr "Afkappen"
 
-#: e2fsck/problem.c:62
+#: e2fsck/problem.c:63
 msgid "Clear inode"
 msgstr "Inode wissen"
 
-#: e2fsck/problem.c:63
+#: e2fsck/problem.c:64
 msgid "Abort"
 msgstr "Afbreken"
 
-#: e2fsck/problem.c:64
+#: e2fsck/problem.c:65
 msgid "Split"
 msgstr "Splitsen"
 
-#: e2fsck/problem.c:65
+#: e2fsck/problem.c:66
 msgid "Continue"
 msgstr "Doorgaan"
 
-#: e2fsck/problem.c:66
+#: e2fsck/problem.c:67
 msgid "Clone multiply-claimed blocks"
 msgstr "Meervoudig-geclaimde blokken klonen"
 
-#: e2fsck/problem.c:67
+#: e2fsck/problem.c:68
 msgid "Delete file"
 msgstr "Bestand verwijderen"
 
-#: e2fsck/problem.c:68
+#: e2fsck/problem.c:69
 msgid "Suppress messages"
 msgstr "Berichten onderdrukken"
 
-#: e2fsck/problem.c:69
+#: e2fsck/problem.c:70
 msgid "Unlink"
 msgstr "Losmaken"
 
-#: e2fsck/problem.c:70
+#: e2fsck/problem.c:71
 msgid "Clear HTree index"
 msgstr "'htree'-index wissen"
 
-#: e2fsck/problem.c:71
+#: e2fsck/problem.c:72
 msgid "Recreate"
 msgstr "Heraanmaken"
 
-#: e2fsck/problem.c:72
+#: e2fsck/problem.c:73
 msgid "Optimize"
 msgstr "Optimaliseren"
 
-#: e2fsck/problem.c:81
+#: e2fsck/problem.c:74
+msgid "Clear flag"
+msgstr "Vlag wissen"
+
+#: e2fsck/problem.c:83
 msgid "(NONE)"
 msgstr "(GEEN)"
 
-#: e2fsck/problem.c:82
+#: e2fsck/problem.c:84
 msgid "FIXED"
 msgstr "GEREPAREERD"
 
-#: e2fsck/problem.c:83
+#: e2fsck/problem.c:85
 msgid "CLEARED"
 msgstr "GEWIST"
 
-#: e2fsck/problem.c:84
+#: e2fsck/problem.c:86
 msgid "RELOCATED"
 msgstr "HERPLAATST"
 
-#: e2fsck/problem.c:85
+#: e2fsck/problem.c:87
 msgid "ALLOCATED"
 msgstr "GEPLAATST"
 
-#: e2fsck/problem.c:86
+#: e2fsck/problem.c:88
 msgid "EXPANDED"
 msgstr "UITGEBREID"
 
-#: e2fsck/problem.c:87
+#: e2fsck/problem.c:89
 msgid "RECONNECTED"
 msgstr "HERVERBONDEN"
 
-#: e2fsck/problem.c:88
+#: e2fsck/problem.c:90
 msgid "CREATED"
 msgstr "AANGEMAAKT"
 
-#: e2fsck/problem.c:89
+#: e2fsck/problem.c:91
 msgid "SALVAGED"
 msgstr "GEBORGEN"
 
-#: e2fsck/problem.c:90
+#: e2fsck/problem.c:92
 msgid "TRUNCATED"
 msgstr "AFGEKAPT"
 
-#: e2fsck/problem.c:91
+#: e2fsck/problem.c:93
 msgid "INODE CLEARED"
 msgstr "INODE GEWIST"
 
-#: e2fsck/problem.c:92
+#: e2fsck/problem.c:94
 msgid "ABORTED"
 msgstr "AFGEBROKEN"
 
-#: e2fsck/problem.c:93
+#: e2fsck/problem.c:95
 msgid "SPLIT"
 msgstr "GESPLITST"
 
-#: e2fsck/problem.c:94
+#: e2fsck/problem.c:96
 msgid "CONTINUING"
 msgstr "VERDERGAAND"
 
-#: e2fsck/problem.c:95
+#: e2fsck/problem.c:97
 msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
 msgstr "MEERVOUDIG-GECLAIMDE BLOKKEN GEKLOOND"
 
-#: e2fsck/problem.c:96
+#: e2fsck/problem.c:98
 msgid "FILE DELETED"
 msgstr "BESTAND VERWIJDERD"
 
-#: e2fsck/problem.c:97
+#: e2fsck/problem.c:99
 msgid "SUPPRESSED"
 msgstr "ONDERDRUKT"
 
-#: e2fsck/problem.c:98
+#: e2fsck/problem.c:100
 msgid "UNLINKED"
 msgstr "LOSGEMAAKT"
 
-#: e2fsck/problem.c:99
+#: e2fsck/problem.c:101
 msgid "HTREE INDEX CLEARED"
 msgstr "'HTREE'-INDEX GEWIST"
 
-#: e2fsck/problem.c:100
+#: e2fsck/problem.c:102
 msgid "WILL RECREATE"
 msgstr "ZAL HERAANMAKEN"
 
-#: e2fsck/problem.c:101
+#: e2fsck/problem.c:103
 msgid "WILL OPTIMIZE"
 msgstr "ZAL OPTIMALISEREN"
 
+#: e2fsck/problem.c:104
+msgid "FLAG CLEARED"
+msgstr "VLAG IS GEWIST"
+
 #. @-expanded: block bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:115
+#: e2fsck/problem.c:118
 msgid "@b @B for @g %g is not in @g.  (@b %b)\n"
 msgstr "blok-bitkaart voor groep %g zit niet in groep  (blok %b)\n"
 
 #. @-expanded: inode bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:119
+#: e2fsck/problem.c:122
 msgid "@i @B for @g %g is not in @g.  (@b %b)\n"
 msgstr "inode-bitkaart voor groep %g zit niet in groep  (blok %b)\n"
 
 #. @-expanded: inode table for group %g is not in group.  (block %b)\n
 #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
-#: e2fsck/problem.c:124
+#: e2fsck/problem.c:127
 msgid ""
 "@i table for @g %g is not in @g.  (@b %b)\n"
 "WARNING: SEVERE DATA LOSS POSSIBLE.\n"
@@ -860,7 +849,7 @@
 #. @-expanded:  or\n
 #. @-expanded:     e2fsck -b 32768 <device>\n
 #. @-expanded: \n
-#: e2fsck/problem.c:130
+#: e2fsck/problem.c:133
 msgid ""
 "\n"
 "The @S could not be read or does not describe a valid ext2/ext3/ext4\n"
@@ -885,7 +874,7 @@
 #. @-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
-#: e2fsck/problem.c:141
+#: e2fsck/problem.c:144
 msgid ""
 "The @f size (according to the @S) is %b @bs\n"
 "The physical size of the @v is %c @bs\n"
@@ -898,7 +887,7 @@
 #. @-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
-#: e2fsck/problem.c:148
+#: e2fsck/problem.c:151
 msgid ""
 "@S @b_size = %b, fragsize = %c.\n"
 "This version of e2fsck does not support fragment sizes different\n"
@@ -909,18 +898,18 @@
 "fragmentgrootte die verschilt van de blokgrootte.\n"
 
 #. @-expanded: superblock blocks_per_group = %b, should have been %c\n
-#: e2fsck/problem.c:155
+#: e2fsck/problem.c:158
 msgid "@S @bs_per_group = %b, should have been %c\n"
 msgstr "Superblok: blokken_per_groep = %b, zou %c moeten zijn.\n"
 
 #. @-expanded: superblock first_data_block = %b, should have been %c\n
-#: e2fsck/problem.c:160
+#: e2fsck/problem.c:163
 msgid "@S first_data_@b = %b, should have been %c\n"
 msgstr "Superblok: eerste_gegevens_blok = %b, zou %c moeten zijn.\n"
 
 #. @-expanded: filesystem did not have a UUID; generating one.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:165
+#: e2fsck/problem.c:168
 msgid ""
 "@f did not have a UUID; generating one.\n"
 "\n"
@@ -928,7 +917,7 @@
 "Bestandssysteem heeft geen UUID; er wordt eentje aangemaakt.\n"
 "\n"
 
-#: e2fsck/problem.c:171
+#: e2fsck/problem.c:174
 #, no-c-format
 msgid ""
 "Note: if several inode or block bitmap blocks or part\n"
@@ -946,50 +935,50 @@
 "\n"
 
 #. @-expanded: Corruption found in superblock.  (%s = %N).\n
-#: e2fsck/problem.c:180
+#: e2fsck/problem.c:183
 msgid "Corruption found in @S.  (%s = %N).\n"
 msgstr "Beschadiging gevonden in het superblok:  %s = %N.\n"
 
 #. @-expanded: Error determining size of the physical device: %m\n
-#: e2fsck/problem.c:186
+#: e2fsck/problem.c:189
 #, no-c-format
 msgid "Error determining size of the physical @v: %m\n"
 msgstr "Fout tijdens bepalen van de grootte van fysiek apparaat: %m\n"
 
 #. @-expanded: inode count in superblock is %i, should be %j.\n
-#: e2fsck/problem.c:191
+#: e2fsck/problem.c:194
 msgid "@i count in @S is %i, @s %j.\n"
 msgstr "Inodetal in superblok is %i, zou %j moeten zijn.\n"
 
-#: e2fsck/problem.c:195
+#: e2fsck/problem.c:198
 msgid "The Hurd does not support the filetype feature.\n"
 msgstr "De Hurd ondersteunt de bestandstypenfunctie niet.\n"
 
 #. @-expanded: superblock has an invalid journal (inode %i).\n
-#: e2fsck/problem.c:201
+#: e2fsck/problem.c:204
 #, no-c-format
 msgid "@S has an @n @j (@i %i).\n"
 msgstr "Superblok heeft een ongeldig journal (inode %i).\n"
 
 #. @-expanded: External journal has multiple filesystem users (unsupported).\n
-#: e2fsck/problem.c:206
+#: e2fsck/problem.c:209
 msgid "External @j has multiple @f users (unsupported).\n"
 msgstr ""
 "Het externe journal heeft meerdere bestandssysteem-gebruikers;\n"
 "dit wordt niet ondersteund.\n"
 
 #. @-expanded: Can't find external journal\n
-#: e2fsck/problem.c:211
+#: e2fsck/problem.c:214
 msgid "Can't find external @j\n"
 msgstr "Kan geen extern journal vinden.\n"
 
 #. @-expanded: External journal has bad superblock\n
-#: e2fsck/problem.c:216
+#: e2fsck/problem.c:219
 msgid "External @j has bad @S\n"
 msgstr "Het externe journal heeft een slecht superblok.\n"
 
 #. @-expanded: External journal does not support this filesystem\n
-#: e2fsck/problem.c:221
+#: e2fsck/problem.c:224
 msgid "External @j does not support this @f\n"
 msgstr "Het externe journal ondersteunt dit bestandssysteem niet.\n"
 
@@ -997,7 +986,7 @@
 #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal 
 #. @-expanded: format.\n
 #. @-expanded: It is also possible the journal superblock is corrupt.\n
-#: e2fsck/problem.c:226
+#: e2fsck/problem.c:229
 msgid ""
 "@f @j @S is unknown type %N (unsupported).\n"
 "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n"
@@ -1008,80 +997,80 @@
 "niet ondersteunt.  Het kan ook zijn dat het journal-superblok beschadigd is.\n"
 
 #. @-expanded: journal superblock is corrupt.\n
-#: e2fsck/problem.c:235
+#: e2fsck/problem.c:238
 msgid "@j @S is corrupt.\n"
 msgstr "Het superblok van het journal is beschadigd.\n"
 
 #. @-expanded: superblock has_journal flag is clear, but a journal is present.\n
-#: e2fsck/problem.c:240
+#: e2fsck/problem.c:243
 msgid "@S has_@j flag is clear, but a @j is present.\n"
 msgstr "Journal-vlag in superblok is niet gezet, maar er is wel een journal.\n"
 
 #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n
-#: e2fsck/problem.c:245
+#: e2fsck/problem.c:248
 msgid "@S needs_recovery flag is set, but no @j is present.\n"
 msgstr "Herstellingsvlag in superblok is gezet, maar er is geen journal.\n"
 
 #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n
-#: e2fsck/problem.c:250
+#: e2fsck/problem.c:253
 msgid "@S needs_recovery flag is clear, but @j has data.\n"
 msgstr "Herstellingsvlag in superblok is niet gezet, maar het journal bevat gegevens.\n"
 
 #. @-expanded: Clear journal
-#: e2fsck/problem.c:255
+#: e2fsck/problem.c:258
 msgid "Clear @j"
 msgstr "Journal wissen"
 
 #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem.  
-#: e2fsck/problem.c:260 e2fsck/problem.c:796
+#: e2fsck/problem.c:263 e2fsck/problem.c:799
 msgid "@f has feature flag(s) set, but is a revision 0 @f.  "
 msgstr "Bestandssysteem is een versie 0, maar heeft functievlag(gen) gezet.  "
 
 #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n
-#: e2fsck/problem.c:265
+#: e2fsck/problem.c:268
 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
 msgstr "%s van verweesde inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
 
 #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:270
+#: e2fsck/problem.c:273
 msgid "@I %B (%b) found in @o @i %i.\n"
 msgstr "Ongeldig %B (%b) gevonden in verweesde inode %i.\n"
 
 #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:275
+#: e2fsck/problem.c:278
 msgid "Already cleared %B (%b) found in @o @i %i.\n"
 msgstr "Reeds-gewist %B (%b) gevonden in verweesde inode %i.\n"
 
 #. @-expanded: illegal orphaned inode %i in superblock.\n
-#: e2fsck/problem.c:281
+#: e2fsck/problem.c:284
 #, no-c-format
 msgid "@I @o @i %i in @S.\n"
 msgstr "Ongeldige verweesde inode %i in superblok.\n"
 
 #. @-expanded: illegal inode %i in orphaned inode list.\n
-#: e2fsck/problem.c:287
+#: e2fsck/problem.c:290
 #, no-c-format
 msgid "@I @i %i in @o @i list.\n"
 msgstr "Ongeldige inode %i in lijst van verweesde inodes.\n"
 
 #. @-expanded: journal superblock has an unknown read-only feature flag set.\n
-#: e2fsck/problem.c:292
+#: e2fsck/problem.c:295
 msgid "@j @S has an unknown read-only feature flag set.\n"
 msgstr "Journal-superblok heeft een onbekende alleen-lezen-functievlag gezet.\n"
 
 #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n
-#: e2fsck/problem.c:297
+#: e2fsck/problem.c:300
 msgid "@j @S has an unknown incompatible feature flag set.\n"
 msgstr "Journal-superblok heeft een onbekende en incompatibele functievlag gezet.\n"
 
 #. @-expanded: journal version not supported by this e2fsck.\n
-#: e2fsck/problem.c:302
+#: e2fsck/problem.c:305
 msgid "@j version not supported by this e2fsck.\n"
 msgstr "Journal-versie wordt niet ondersteund door deze e2fsck.\n"
 
 #. @-expanded: Moving journal from /%s to hidden inode.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:308
+#: e2fsck/problem.c:311
 #, no-c-format
 msgid ""
 "Moving @j from /%s to hidden @i.\n"
@@ -1092,7 +1081,7 @@
 
 #. @-expanded: Error moving journal: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:314
+#: e2fsck/problem.c:317
 #, no-c-format
 msgid ""
 "Error moving @j: %m\n"
@@ -1104,7 +1093,7 @@
 #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n
 #. @-expanded: Clearing fields beyond the V1 journal superblock...\n
 #. @-expanded: \n
-#: e2fsck/problem.c:319
+#: e2fsck/problem.c:322
 msgid ""
 "Found @n V2 @j @S fields (from V1 @j).\n"
 "Clearing fields beyond the V1 @j @S...\n"
@@ -1115,12 +1104,12 @@
 "\n"
 
 #. @-expanded: Run journal anyway
-#: e2fsck/problem.c:325
+#: e2fsck/problem.c:328
 msgid "Run @j anyway"
 msgstr "Journal toch afspelen"
 
 #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n
-#: e2fsck/problem.c:330
+#: e2fsck/problem.c:333
 msgid "Recovery flag not set in backup @S, so running @j anyway.\n"
 msgstr ""
 "Reservekopieën van het superblok kennen geen herstellingsvlag;\n"
@@ -1128,7 +1117,7 @@
 
 #. @-expanded: Backing up journal inode block information.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:335
+#: e2fsck/problem.c:338
 msgid ""
 "Backing up @j @i @b information.\n"
 "\n"
@@ -1138,7 +1127,7 @@
 
 #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n
 #. @-expanded: is %N; should be zero.  
-#: e2fsck/problem.c:341
+#: e2fsck/problem.c:344
 msgid ""
 "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n"
 "is %N; @s zero.  "
@@ -1147,18 +1136,18 @@
 "maar 's_reserved_gdt_blocks' is %N; zou nul moeten zijn.  "
 
 #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero.  
-#: e2fsck/problem.c:347
+#: e2fsck/problem.c:350
 msgid "Resize_@i not enabled, but the resize @i is non-zero.  "
 msgstr "Functie 'resize_inode' is uitgeschakeld, maar de 'resize'-inode is niet nul.  "
 
 #. @-expanded: Resize inode not valid.  
-#: e2fsck/problem.c:352
+#: e2fsck/problem.c:355
 msgid "Resize @i not valid.  "
 msgstr "Ongeldige 'resize'-inode.  "
 
 #. @-expanded: superblock last mount time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:357
+#: e2fsck/problem.c:360
 msgid ""
 "@S last mount time (%t,\n"
 "\tnow = %T) is in the future.\n"
@@ -1168,7 +1157,7 @@
 
 #. @-expanded: superblock last write time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:362
+#: e2fsck/problem.c:365
 msgid ""
 "@S last write time (%t,\n"
 "\tnow = %T) is in the future.\n"
@@ -1177,14 +1166,14 @@
 "    in de toekomst (nu = %T).\n"
 
 #. @-expanded: superblock hint for external superblock should be %X.  
-#: e2fsck/problem.c:368
+#: e2fsck/problem.c:371
 #, no-c-format
 msgid "@S hint for external superblock @s %X.  "
 msgstr "De superblokhint voor een extern superblok dient %X te zijn.  "
 
 #. @-expanded: Adding dirhash hint to filesystem.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:373
+#: e2fsck/problem.c:376
 msgid ""
 "Adding dirhash hint to @f.\n"
 "\n"
@@ -1193,39 +1182,39 @@
 "\n"
 
 #. @-expanded: group descriptor %g checksum is %04x, should be %04y.  
-#: e2fsck/problem.c:378
+#: e2fsck/problem.c:381
 msgid "@g descriptor %g checksum is %04x, should be %04y.  "
 msgstr "Van groepsbeschrijver %g is de controlesom %04x, zou %04y moeten zijn.  "
 
 #. @-expanded: group descriptor %g marked uninitialized without feature set.\n
-#: e2fsck/problem.c:384
+#: e2fsck/problem.c:387
 #, no-c-format
 msgid "@g descriptor %g marked uninitialized without feature set.\n"
 msgstr "Groepsbeschrijver %g is gemarkeerd als ongeïnitialiseerd zonder functies.\n"
 
 #. @-expanded: group descriptor %g has invalid unused inodes count %b.  
-#: e2fsck/problem.c:389
+#: e2fsck/problem.c:392
 msgid "@g descriptor %g has invalid unused inodes count %b.  "
 msgstr "Groepsbeschrijver %g heeft een ongeldig aantal (%b) ongebruikte inodes.  "
 
 #. @-expanded: Last group block bitmap uninitialized.  
-#: e2fsck/problem.c:394
+#: e2fsck/problem.c:397
 msgid "Last @g @b @B uninitialized.  "
 msgstr "Blok-bitkaart van laatste groepsbeschrijver is ongeïnitialiseerd.  "
 
-#: e2fsck/problem.c:400
+#: e2fsck/problem.c:403
 #, no-c-format
 msgid "Journal transaction %i was corrupt, replay was aborted.\n"
 msgstr "Journal-transactie %i is beschadigd; het afspelen is afgebroken.\n"
 
-#: e2fsck/problem.c:405
+#: e2fsck/problem.c:408
 msgid "The test_fs flag is set (and ext4 is available).  "
 msgstr "De functievlag 'test_fs' is gezet (en ext4 is beschikbaar).  "
 
 #. @-expanded: superblock last mount time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:410
+#: e2fsck/problem.c:413
 msgid ""
 "@S last mount time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1236,7 +1225,7 @@
 #. @-expanded: superblock last write time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:416
+#: e2fsck/problem.c:419
 msgid ""
 "@S last write time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1245,103 +1234,103 @@
 "    (Maar minder dan een dag; vermoedelijk is de hardwareklok onjuist ingesteld.)\n"
 
 #. @-expanded: One or more block group descriptor checksums are invalid.  
-#: e2fsck/problem.c:422
+#: e2fsck/problem.c:425
 msgid "One or more @b @g descriptor checksums are invalid.  "
 msgstr "Een of meer groepsbeschrijvers hebben een ongeldige controlesom.  "
 
 #. @-expanded: Setting free inodes count to %j (was %i)\n
-#: e2fsck/problem.c:427
+#: e2fsck/problem.c:430
 msgid "Setting free @is count to %j (was %i)\n"
 msgstr "Het aantal vrije inodes is op %j gezet (was %i)\n"
 
 #. @-expanded: Setting free blocks count to %c (was %b)\n
-#: e2fsck/problem.c:432
+#: e2fsck/problem.c:435
 msgid "Setting free @bs count to %c (was %b)\n"
 msgstr "Het aantal vrije blokken is op %c gezet (was %b)\n"
 
 #. @-expanded: Hiding %U quota inode %i (%Q).\n
-#: e2fsck/problem.c:437
+#: e2fsck/problem.c:440
 msgid "Hiding %U @q @i %i (%Q).\n"
 msgstr "De %U quota-inode %i (%Q) wordt verborgen.\n"
 
 #. @-expanded: superblock has invalid MMP block.  
-#: e2fsck/problem.c:442
+#: e2fsck/problem.c:445
 msgid "@S has invalid MMP block.  "
 msgstr "Superblok heeft ongeldig MMP-blok.  "
 
 #. @-expanded: superblock has invalid MMP magic.  
-#: e2fsck/problem.c:447
+#: e2fsck/problem.c:450
 msgid "@S has invalid MMP magic.  "
 msgstr "Superblok heeft ongeldig magisch getal voor MMP.  "
 
-#: e2fsck/problem.c:453
+#: e2fsck/problem.c:456
 #, no-c-format
 msgid "ext2fs_open2: %m\n"
 msgstr "ext2fs_open2(): %m\n"
 
-#: e2fsck/problem.c:459
+#: e2fsck/problem.c:462
 #, no-c-format
 msgid "ext2fs_check_desc: %m\n"
 msgstr "ext2fs_check_desc(): %m\n"
 
 #. @-expanded: superblock metadata_csum supersedes uninit_bg; both feature bits cannot be set 
 #. @-expanded: simultaneously.
-#: e2fsck/problem.c:465
+#: e2fsck/problem.c:468
 msgid "@S metadata_csum supersedes uninit_bg; both feature bits cannot be set simultaneously."
 msgstr "Superblok 'metadata_csum' overstijgt 'uninit_bg'; de twee functiebits kunnen niet tegelijk gezet zijn."
 
 #. @-expanded: superblock MMP block checksum does not match.  
-#: e2fsck/problem.c:471
+#: e2fsck/problem.c:474
 msgid "@S MMP @b checksum does not match.  "
 msgstr "Controlesom (in superblok) van MMP-blok komt niet overeen.  "
 
 #. @-expanded: superblock 64bit filesystem needs extents to access the whole disk.  
-#: e2fsck/problem.c:476
+#: e2fsck/problem.c:479
 msgid "@S 64bit @f needs extents to access the whole disk.  "
 msgstr "Superblok van 64-bits bestandssysteem heeft extents nodig om gehele schijf te kunnen bereiken.  "
 
-#: e2fsck/problem.c:481
+#: e2fsck/problem.c:484
 msgid "First_meta_bg is too big.  (%N, max value %g).  "
 msgstr "Waarde van 'first_meta_bg' is te groot (%N, maximum is %g).  "
 
 #. @-expanded: External journal superblock checksum does not match superblock.  
-#: e2fsck/problem.c:486
+#: e2fsck/problem.c:489
 msgid "External @j @S checksum does not match @S.  "
 msgstr "Controlesom van superblok (in extern journal) komt niet overeen met superblok.  "
 
 #. @-expanded: superblock metadata_csum_seed is not necessary without metadata_csum.
-#: e2fsck/problem.c:491
+#: e2fsck/problem.c:494
 msgid "@S metadata_csum_seed is not necessary without metadata_csum."
 msgstr "Superblok 'metadata_csum_seed' is onnodig zonder 'metadata_csum'."
 
-#: e2fsck/problem.c:497
+#: e2fsck/problem.c:500
 #, no-c-format
 msgid "Error initializing quota context in support library: %m\n"
 msgstr "Fout tijdens initialiseren van quota-context in ondersteunende bibliotheek: %m\n"
 
 #. @-expanded: Bad required extra isize in superblock (%N).  
-#: e2fsck/problem.c:502
+#: e2fsck/problem.c:505
 msgid "Bad required extra isize in @S (%N).  "
 msgstr "Ongeldige vereiste extra inode-grootte in superblok (%N).  "
 
 #. @-expanded: Bad desired extra isize in superblock (%N).  
-#: e2fsck/problem.c:507
+#: e2fsck/problem.c:510
 msgid "Bad desired extra isize in @S (%N).  "
 msgstr "Ongeldige gewenste extra inode-grootte in superblok (%N).  "
 
 #. @-expanded: Invalid %U quota inode %i.  
-#: e2fsck/problem.c:512
+#: e2fsck/problem.c:515
 msgid "Invalid %U @q @i %i.  "
 msgstr "Ongeldige %U quota-inode %i.  "
 
 #. @-expanded: superblock would have too many inodes (%N).\n
-#: e2fsck/problem.c:517
+#: e2fsck/problem.c:520
 msgid "@S would have too many inodes (%N).\n"
 msgstr "Superblok zou te veel inodes (%N) bevatten.\n"
 
 #. @-expanded: Resize_inode and meta_bg features are enabled. Those features are\n
 #. @-expanded: not compatible. Resize inode should be disabled.  
-#: e2fsck/problem.c:522
+#: e2fsck/problem.c:525
 msgid ""
 "Resize_@i and meta_bg features are enabled. Those features are\n"
 "not compatible. Resize @i should be disabled.  "
@@ -1350,117 +1339,117 @@
 "niet samen.  Functie 'resize_inode' zou uitgeschakeld moeten worden.  "
 
 #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n
-#: e2fsck/problem.c:530
+#: e2fsck/problem.c:533
 msgid "Pass 1: Checking @is, @bs, and sizes\n"
 msgstr "Stap 1: Controle van inodes, blokken, en groottes\n"
 
 #. @-expanded: root inode is not a directory.  
-#: e2fsck/problem.c:534
+#: e2fsck/problem.c:537
 msgid "@r is not a @d.  "
 msgstr "De hoofd-inode is geen map.  "
 
 #. @-expanded: root inode has dtime set (probably due to old mke2fs).  
-#: e2fsck/problem.c:539
+#: e2fsck/problem.c:542
 msgid "@r has dtime set (probably due to old mke2fs).  "
 msgstr "De verwijderingstijd van de hoofd-inode is niet nul (waarschijnlijk veroorzaakt door een oude mke2fs).  "
 
 #. @-expanded: Reserved inode %i (%Q) has invalid mode.  
-#: e2fsck/problem.c:544
+#: e2fsck/problem.c:547
 msgid "Reserved @i %i (%Q) has @n mode.  "
 msgstr "Gereserveerde inode %i %Q heeft een ongeldige modus.  "
 
 #. @-expanded: deleted inode %i has zero dtime.  
-#: e2fsck/problem.c:550
+#: e2fsck/problem.c:553
 #, no-c-format
 msgid "@D @i %i has zero dtime.  "
 msgstr "De verwijderingstijd van verwijderde inode %i is nul.  "
 
 #. @-expanded: inode %i is in use, but has dtime set.  
-#: e2fsck/problem.c:556
+#: e2fsck/problem.c:559
 #, no-c-format
 msgid "@i %i is in use, but has dtime set.  "
 msgstr "Inode %i is in gebruik, maar heeft een ingevulde verwijderingstijd.  "
 
 #. @-expanded: inode %i is a zero-length directory.  
-#: e2fsck/problem.c:562
+#: e2fsck/problem.c:565
 #, no-c-format
 msgid "@i %i is a @z @d.  "
 msgstr "Inode %i is een map met lengte nul.  "
 
 #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:567
+#: e2fsck/problem.c:570
 msgid "@g %g's @b @B at %b @C.\n"
 msgstr "De blok-bitkaart van groep %g botst bij %b met een bestandssysteemblok.\n"
 
 #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:572
+#: e2fsck/problem.c:575
 msgid "@g %g's @i @B at %b @C.\n"
 msgstr "De inode-bitkaart van groep %g botst bij %b met een bestandssysteemblok.\n"
 
 #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:577
+#: e2fsck/problem.c:580
 msgid "@g %g's @i table at %b @C.\n"
 msgstr "De inodetabel van groep %g botst bij %b met een bestandssysteemblok.\n"
 
 #. @-expanded: group %g's block bitmap (%b) is bad.  
-#: e2fsck/problem.c:582
+#: e2fsck/problem.c:585
 msgid "@g %g's @b @B (%b) is bad.  "
 msgstr "De blok-bitkaart %b van groep %g is ongeldig.  "
 
 #. @-expanded: group %g's inode bitmap (%b) is bad.  
-#: e2fsck/problem.c:587
+#: e2fsck/problem.c:590
 msgid "@g %g's @i @B (%b) is bad.  "
 msgstr "De inode-bitkaart %b van groep %g is ongeldig.  "
 
 #. @-expanded: inode %i, i_size is %Is, should be %N.  
-#: e2fsck/problem.c:592
+#: e2fsck/problem.c:595
 msgid "@i %i, i_size is %Is, @s %N.  "
 msgstr "Inode %i, 'i_size' is %Is, zou %N moeten zijn.  "
 
 #. @-expanded: inode %i, i_blocks is %Ib, should be %N.  
-#: e2fsck/problem.c:597
+#: e2fsck/problem.c:600
 msgid "@i %i, i_@bs is %Ib, @s %N.  "
 msgstr "Inode %i, 'i_blocks' is %Ib, zou %N moeten zijn.  "
 
 #. @-expanded: illegal %B (%b) in inode %i.  
-#: e2fsck/problem.c:602
+#: e2fsck/problem.c:605
 msgid "@I %B (%b) in @i %i.  "
 msgstr "Ongeldig %B (%b) in inode %i.  "
 
 #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i.  
-#: e2fsck/problem.c:607
+#: e2fsck/problem.c:610
 msgid "%B (%b) overlaps @f metadata in @i %i.  "
 msgstr "%B (%b) overlapt metadata van bestandssysteem in inode %i.  "
 
 #. @-expanded: inode %i has illegal block(s).  
-#: e2fsck/problem.c:613
+#: e2fsck/problem.c:616
 #, no-c-format
 msgid "@i %i has illegal @b(s).  "
 msgstr "Inode %i bevat ongeldig(e) blok(ken).  "
 
 #. @-expanded: Too many illegal blocks in inode %i.\n
-#: e2fsck/problem.c:619
+#: e2fsck/problem.c:622
 #, no-c-format
 msgid "Too many illegal @bs in @i %i.\n"
 msgstr "Te veel ongeldige blokken in inode %i.\n"
 
 #. @-expanded: illegal %B (%b) in bad block inode.  
-#: e2fsck/problem.c:624
+#: e2fsck/problem.c:627
 msgid "@I %B (%b) in bad @b @i.  "
 msgstr "Ongeldig %B (%b) in slechteblokken-inode.  "
 
 #. @-expanded: Bad block inode has illegal block(s).  
-#: e2fsck/problem.c:629
+#: e2fsck/problem.c:632
 msgid "Bad @b @i has illegal @b(s).  "
 msgstr "Slechteblokken-inode bevat ongeldig(e) blok(ken).  "
 
 #. @-expanded: Duplicate or bad block in use!\n
-#: e2fsck/problem.c:634
+#: e2fsck/problem.c:637
 msgid "Duplicate or bad @b in use!\n"
 msgstr "Een dubbel of slecht blok is in gebruik!\n"
 
 #. @-expanded: Bad block %b used as bad block inode indirect block.  
-#: e2fsck/problem.c:639
+#: e2fsck/problem.c:642
 msgid "Bad @b %b used as bad @b @i indirect @b.  "
 msgstr "Slecht blok %b is in gebruik als indirect blok voor de slechteblokken-inode.  "
 
@@ -1468,7 +1457,7 @@
 #. @-expanded: The bad block inode has probably been corrupted.  You probably\n
 #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n
 #. @-expanded: in the filesystem.\n
-#: e2fsck/problem.c:644
+#: e2fsck/problem.c:647
 msgid ""
 "\n"
 "The bad @b @i has probably been corrupted.  You probably\n"
@@ -1482,7 +1471,7 @@
 
 #. @-expanded: \n
 #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n
-#: e2fsck/problem.c:651
+#: e2fsck/problem.c:654
 msgid ""
 "\n"
 "If the @b is really bad, the @f can not be fixed.\n"
@@ -1493,7 +1482,7 @@
 #. @-expanded: You can remove this block from the bad block list and hope\n
 #. @-expanded: that the block is really OK.  But there are no guarantees.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:656
+#: e2fsck/problem.c:659
 msgid ""
 "You can remove this @b from the bad @b list and hope\n"
 "that the @b is really OK.  But there are no guarantees.\n"
@@ -1504,122 +1493,122 @@
 "\n"
 
 #. @-expanded: The primary superblock (%b) is on the bad block list.\n
-#: e2fsck/problem.c:662
+#: e2fsck/problem.c:665
 msgid "The primary @S (%b) is on the bad @b list.\n"
 msgstr "Het primaire superblok (%b) staat in de lijst van slechte blokken.\n"
 
 #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n
-#: e2fsck/problem.c:667
+#: e2fsck/problem.c:670
 msgid "Block %b in the primary @g descriptors is on the bad @b list\n"
 msgstr "Een groepsbeschrijversblok (%b) staat in de lijst van slechte blokken.\n"
 
 #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n
-#: e2fsck/problem.c:673
+#: e2fsck/problem.c:676
 msgid "Warning: Group %g's @S (%b) is bad.\n"
 msgstr "Waarschuwing: groep %g heeft een slecht superblok (%b).\n"
 
 #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n
-#: e2fsck/problem.c:679
+#: e2fsck/problem.c:682
 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n"
 msgstr "Waarschuwing: groep %g bevat een slecht blok (%b) in de groepsbeschrijvers.\n"
 
 #. @-expanded: Programming error?  block #%b claimed for no reason in process_bad_block.\n
-#: e2fsck/problem.c:685
+#: e2fsck/problem.c:688
 msgid "Programming error?  @b #%b claimed for no reason in process_bad_@b.\n"
 msgstr "Interne fout?: blok %b is zonder reden geclaimd in process_bad_block().\n"
 
 #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n
-#: e2fsck/problem.c:691
+#: e2fsck/problem.c:694
 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n"
 msgstr "Fout tijdens reserveren van %N aaneengsloten blokken in groep %g voor %s: %m\n"
 
 #. @-expanded: error allocating block buffer for relocating %s\n
-#: e2fsck/problem.c:697
+#: e2fsck/problem.c:700
 #, no-c-format
 msgid "@A @b buffer for relocating %s\n"
 msgstr "Fout tijdens reserveren van buffer voor verplaatsen van %s.\n"
 
 # src/delegate.c:368
 #. @-expanded: Relocating group %g's %s from %b to %c...\n
-#: e2fsck/problem.c:702
+#: e2fsck/problem.c:705
 msgid "Relocating @g %g's %s from %b to %c...\n"
 msgstr "Bezig met verplaatsen van groep %g's %s van %b naar %c...\n"
 
 #. @-expanded: Relocating group %g's %s to %c...\n
-#: e2fsck/problem.c:708
+#: e2fsck/problem.c:711
 #, no-c-format
 msgid "Relocating @g %g's %s to %c...\n"
 msgstr "Bezig met verplaatsen van groep %g's %s naar %c...\n"
 
 #. @-expanded: Warning: could not read block %b of %s: %m\n
-#: e2fsck/problem.c:713
+#: e2fsck/problem.c:716
 msgid "Warning: could not read @b %b of %s: %m\n"
 msgstr "Waarschuwing: kan blok %b van %s niet lezen: %m\n"
 
 #. @-expanded: Warning: could not write block %b for %s: %m\n
-#: e2fsck/problem.c:718
+#: e2fsck/problem.c:721
 msgid "Warning: could not write @b %b for %s: %m\n"
 msgstr "Waarschuwing: kan blok %b van %s niet schrijven: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:723 e2fsck/problem.c:1871
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "Fout tijdens reserveren van inode-bitkaart (%N): %m\n"
 
 #. @-expanded: error allocating block bitmap (%N): %m\n
-#: e2fsck/problem.c:728
+#: e2fsck/problem.c:731
 msgid "@A @b @B (%N): %m\n"
 msgstr "Fout tijdens reserveren van blok-bitkaart (%N): %m\n"
 
 #. @-expanded: error allocating icount link information: %m\n
-#: e2fsck/problem.c:734
+#: e2fsck/problem.c:737
 #, no-c-format
 msgid "@A icount link information: %m\n"
 msgstr "Fout tijdens reserveren van 'icount'-link-informatie: %m\n"
 
 #. @-expanded: error allocating directory block array: %m\n
-#: e2fsck/problem.c:740
+#: e2fsck/problem.c:743
 #, no-c-format
 msgid "@A @d @b array: %m\n"
 msgstr "Fout tijdens reserveren van blokreeks voor map: %m\n"
 
 #. @-expanded: Error while scanning inodes (%i): %m\n
-#: e2fsck/problem.c:746
+#: e2fsck/problem.c:749
 #, no-c-format
 msgid "Error while scanning @is (%i): %m\n"
 msgstr "Fout tijdens scannen van inodes (%i): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i: %m\n
-#: e2fsck/problem.c:752
+#: e2fsck/problem.c:755
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i: %m\n"
 msgstr "Fout tijdens langslopen van blokken van inode %i: %m\n"
 
 #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n
-#: e2fsck/problem.c:757
+#: e2fsck/problem.c:760
 msgid "Error storing @i count information (@i=%i, count=%N): %m\n"
 msgstr "Fout tijdens opslaan van inodetal (inode=%i, aantal=%N): %m\n"
 
 #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n
-#: e2fsck/problem.c:762
+#: e2fsck/problem.c:765
 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n"
 msgstr "Fout tijdens opslaan van mapblokkeninformatie (inode=%i, blok=%b, aantal=%N): %m\n"
 
 #. @-expanded: Error reading inode %i: %m\n
-#: e2fsck/problem.c:769
+#: e2fsck/problem.c:772
 #, no-c-format
 msgid "Error reading @i %i: %m\n"
 msgstr "Fout tijdens lezen van inode %i: %m\n"
 
 #. @-expanded: inode %i has imagic flag set.  
-#: e2fsck/problem.c:778
+#: e2fsck/problem.c:781
 #, no-c-format
 msgid "@i %i has imagic flag set.  "
 msgstr "Inode %i heeft de imagic-vlag gezet.  "
 
 #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n
 #. @-expanded: or append-only flag set.  
-#: e2fsck/problem.c:784
+#: e2fsck/problem.c:787
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n"
@@ -1629,143 +1618,143 @@
 "onveranderbaar- of de alleen-toevoegenvlag gezet.  "
 
 #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size.  
-#: e2fsck/problem.c:791
+#: e2fsck/problem.c:794
 #, no-c-format
 msgid "Special (@v/socket/fifo) @i %i has non-zero size.  "
 msgstr "Speciale inode %i (apparaat/socket/fifo) heeft niet lengte nul.  "
 
 #. @-expanded: journal inode is not in use, but contains data.  
-#: e2fsck/problem.c:801
+#: e2fsck/problem.c:804
 msgid "@j @i is not in use, but contains data.  "
 msgstr "Journal-inode is niet in gebruik, maar bevat gegevens.  "
 
 #. @-expanded: journal is not regular file.  
-#: e2fsck/problem.c:806
+#: e2fsck/problem.c:809
 msgid "@j is not regular file.  "
 msgstr "Journal is geen normaal bestand.  "
 
 #. @-expanded: inode %i was part of the orphaned inode list.  
-#: e2fsck/problem.c:812
+#: e2fsck/problem.c:815
 #, no-c-format
 msgid "@i %i was part of the @o @i list.  "
 msgstr "Inode %i was deel van de lijst van verweesde inodes.  "
 
 #. @-expanded: inodes that were part of a corrupted orphan linked list found.  
-#: e2fsck/problem.c:818
+#: e2fsck/problem.c:821
 msgid "@is that were part of a corrupted orphan linked list found.  "
 msgstr "Inodes gevonden die deel waren van een beschadigde lijst van verweesde inodes.  "
 
 #. @-expanded: error allocating refcount structure (%N): %m\n
-#: e2fsck/problem.c:823
+#: e2fsck/problem.c:826
 msgid "@A refcount structure (%N): %m\n"
 msgstr "Fout tijdens reserveren van 'refcount'-structuur (%N): %m\n"
 
 #. @-expanded: Error reading extended attribute block %b for inode %i.  
-#: e2fsck/problem.c:828
+#: e2fsck/problem.c:831
 msgid "Error reading @a @b %b for @i %i.  "
 msgstr "Fout tijdens lezen van blok %b met uitgebreide kenmerken voor inode %i.  "
 
 #. @-expanded: inode %i has a bad extended attribute block %b.  
-#: e2fsck/problem.c:833
+#: e2fsck/problem.c:836
 msgid "@i %i has a bad @a @b %b.  "
 msgstr "Inode %i bevat een slecht blok %b met uitgebreide kenmerken.  "
 
 #. @-expanded: Error reading extended attribute block %b (%m).  
-#: e2fsck/problem.c:838
+#: e2fsck/problem.c:841
 msgid "Error reading @a @b %b (%m).  "
 msgstr "Fout tijdens lezen van blok %b met uitgebreide kenmerken: %m  "
 
 #. @-expanded: extended attribute block %b has reference count %r, should be %N.  
-#: e2fsck/problem.c:843
+#: e2fsck/problem.c:846
 msgid "@a @b %b has reference count %r, @s %N.  "
 msgstr "Blok %b met uitgebreide kenmerken heeft verwijzingstal %r, zou %N moeten zijn.  "
 
 #. @-expanded: Error writing extended attribute block %b (%m).  
-#: e2fsck/problem.c:848
+#: e2fsck/problem.c:851
 msgid "Error writing @a @b %b (%m).  "
 msgstr "Fout tijdens schrijven van blok %b met uitgebreide kenmerken: %m  "
 
 #. @-expanded: extended attribute block %b has h_blocks > 1.  
-#: e2fsck/problem.c:853
+#: e2fsck/problem.c:856
 msgid "@a @b %b has h_@bs > 1.  "
 msgstr "Blok %b met uitgebreide kenmerken heeft h_blocks > 1.  "
 
 #. @-expanded: error allocating extended attribute region allocation structure.  
-#: e2fsck/problem.c:858
+#: e2fsck/problem.c:861
 msgid "@A @a region allocation structure.  "
 msgstr "Fout tijdens reserveren van structuur voor reservering van uitgebreidekenmerkenregio.  "
 
 #. @-expanded: extended attribute block %b is corrupt (allocation collision).  
-#: e2fsck/problem.c:863
+#: e2fsck/problem.c:866
 msgid "@a @b %b is corrupt (allocation collision).  "
 msgstr "Blok %b met uitgebreide kenmerken is beschadigd (reserveringsoverlap).  "
 
 #. @-expanded: extended attribute block %b is corrupt (invalid name).  
-#: e2fsck/problem.c:868
+#: e2fsck/problem.c:871
 msgid "@a @b %b is corrupt (@n name).  "
 msgstr "Blok %b met uitgebreide kenmerken is beschadigd (ongeldige naam).  "
 
 #. @-expanded: extended attribute block %b is corrupt (invalid value).  
-#: e2fsck/problem.c:873
+#: e2fsck/problem.c:876
 msgid "@a @b %b is corrupt (@n value).  "
 msgstr "Blok %b met uitgebreide kenmerken is beschadigd (ongeldige waarde).  "
 
 #. @-expanded: inode %i is too big.  
-#: e2fsck/problem.c:879
+#: e2fsck/problem.c:882
 #, no-c-format
 msgid "@i %i is too big.  "
 msgstr "Inode %i is te groot.  "
 
 #. @-expanded: %B (%b) causes directory to be too big.  
-#: e2fsck/problem.c:883
+#: e2fsck/problem.c:886
 msgid "%B (%b) causes @d to be too big.  "
 msgstr "%B (%b) maakt map te groot.  "
 
-#: e2fsck/problem.c:888
+#: e2fsck/problem.c:891
 msgid "%B (%b) causes file to be too big.  "
 msgstr "%B (%b) maakt bestand te groot.  "
 
-#: e2fsck/problem.c:893
+#: e2fsck/problem.c:896
 msgid "%B (%b) causes symlink to be too big.  "
 msgstr "%B (%b) maakt symbolische koppeling te groot.  "
 
 #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n
-#: e2fsck/problem.c:899
+#: e2fsck/problem.c:902
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set on @f without htree support.\n"
 msgstr "Inode %i heeft de 'INDEX_FL'-vlag gezet op een bestandssysteem zonder 'htree'-ondersteuning.\n"
 
 #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n
-#: e2fsck/problem.c:905
+#: e2fsck/problem.c:908
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
 msgstr "Inode %i heeft de 'INDEX_FL'-vlag gezet maar het is geen map.\n"
 
 #. @-expanded: HTREE directory inode %i has an invalid root node.\n
-#: e2fsck/problem.c:911
+#: e2fsck/problem.c:914
 #, no-c-format
 msgid "@h %i has an @n root node.\n"
 msgstr "Inode %i van 'htree'-map heeft een ongeldige wortelknoop.\n"
 
 #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n
-#: e2fsck/problem.c:916
+#: e2fsck/problem.c:919
 msgid "@h %i has an unsupported hash version (%N)\n"
 msgstr "Inode %i van 'htree'-map gebruikt een niet-ondersteunde hash-versie (%N).\n"
 
 #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n
-#: e2fsck/problem.c:922
+#: e2fsck/problem.c:925
 #, no-c-format
 msgid "@h %i uses an incompatible htree root node flag.\n"
 msgstr "Inode %i van 'htree'-map gebruikt een incompatibele wortelknoopvlag.\n"
 
 #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n
-#: e2fsck/problem.c:927
+#: e2fsck/problem.c:930
 msgid "@h %i has a tree depth (%N) which is too big\n"
 msgstr "Inode %i van 'htree'-map heeft een te grote boomdiepte (%N).\n"
 
 #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n
 #. @-expanded: filesystem metadata.  
-#: e2fsck/problem.c:933
+#: e2fsck/problem.c:936
 msgid ""
 "Bad @b @i has an indirect @b (%b) that conflicts with\n"
 "@f metadata.  "
@@ -1774,55 +1763,55 @@
 "is met de metagegevens van het bestandssysteem.  "
 
 #. @-expanded: Resize inode (re)creation failed: %m.
-#: e2fsck/problem.c:940
+#: e2fsck/problem.c:943
 #, no-c-format
 msgid "Resize @i (re)creation failed: %m."
 msgstr "Aanmaken van 'resize'-inode is mislukt: %m"
 
 #. @-expanded: inode %i has a extra size (%IS) which is invalid\n
-#: e2fsck/problem.c:945
+#: e2fsck/problem.c:948
 msgid "@i %i has a extra size (%IS) which is @n\n"
 msgstr "Inode %i heeft een ongeldige extra grootte (%IS).\n"
 
 #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n
-#: e2fsck/problem.c:950
+#: e2fsck/problem.c:953
 msgid "@a in @i %i has a namelen (%N) which is @n\n"
 msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige naamlengte (%N).\n"
 
 #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n
-#: e2fsck/problem.c:955
+#: e2fsck/problem.c:958
 msgid "@a in @i %i has a value offset (%N) which is @n\n"
 msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige waardeoffset (%N).\n"
 
 #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n
-#: e2fsck/problem.c:960
+#: e2fsck/problem.c:963
 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n"
 msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldig waardeblok (%N, moet 0 zijn).\n"
 
 #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n
-#: e2fsck/problem.c:965
+#: e2fsck/problem.c:968
 msgid "@a in @i %i has a value size (%N) which is @n\n"
 msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige waardegrootte (%N).\n"
 
 #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n
-#: e2fsck/problem.c:970
+#: e2fsck/problem.c:973
 msgid "@a in @i %i has a hash (%N) which is @n\n"
 msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige hash-waarde (%N).\n"
 
 #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n
-#: e2fsck/problem.c:975
+#: e2fsck/problem.c:978
 msgid "@i %i is a %It but it looks like it is really a directory.\n"
 msgstr "Inode %i is gemarkeerd als een %It, maar lijkt feitelijk een map te zijn.\n"
 
 #. @-expanded: Error while reading over extent tree in inode %i: %m\n
-#: e2fsck/problem.c:981
+#: e2fsck/problem.c:984
 #, no-c-format
 msgid "Error while reading over @x tree in @i %i: %m\n"
 msgstr "Fout tijdens doorlezen van extents-boom in inode %i: %m\n"
 
 #. @-expanded: Failed to iterate extents in inode %i\n
 #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n
-#: e2fsck/problem.c:986
+#: e2fsck/problem.c:989
 msgid ""
 "Failed to iterate extents in @i %i\n"
 "\t(op %s, blk %b, lblk %c): %m\n"
@@ -1832,7 +1821,7 @@
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:992
+#: e2fsck/problem.c:995
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -1842,7 +1831,7 @@
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n
-#: e2fsck/problem.c:997
+#: e2fsck/problem.c:1000
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, physical @b %b, @n len %N)\n"
@@ -1851,31 +1840,31 @@
 "  (logisch blok %c, fysiek blok %b, ongeldige lengte %N)\n"
 
 #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n
-#: e2fsck/problem.c:1003
+#: e2fsck/problem.c:1006
 #, no-c-format
 msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n"
 msgstr "Inode %i heeft de 'EXTENTS_FL'-vlag gezet op een bestandssysteem zonder 'htree'-ondersteuning.\n"
 
 #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n
-#: e2fsck/problem.c:1009
+#: e2fsck/problem.c:1012
 #, no-c-format
 msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n"
 msgstr "Inode %i heeft extent-opmaak, maar superblok heeft EXTENTS-vlag niet gezet.\n"
 
 #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n
-#: e2fsck/problem.c:1015
+#: e2fsck/problem.c:1018
 #, no-c-format
 msgid "@i %i missing EXTENT_FL, but is in extents format\n"
 msgstr "Inode %i heeft extent-opmaak, maar heeft EXTENT_FL-vlag niet gezet.\n"
 
-#: e2fsck/problem.c:1021
+#: e2fsck/problem.c:1024
 #, no-c-format
 msgid "Fast symlink %i has EXTENT_FL set.  "
 msgstr "Snelle symbolische koppeling %i heeft 'EXTENT_FL'-vlag gezet.  "
 
 #. @-expanded: inode %i has out of order extents\n
 #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1026
+#: e2fsck/problem.c:1029
 msgid ""
 "@i %i has out of order extents\n"
 "\t(@n logical @b %c, physical @b %b, len %N)\n"
@@ -1884,39 +1873,39 @@
 "  (ongeldig logisch blok %c, fysiek blok %b, lengte %N)\n"
 
 #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n
-#: e2fsck/problem.c:1030
+#: e2fsck/problem.c:1033
 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n"
 msgstr "Inode %i heeft een ongeldige extent-knoop (blk %b, lblk %c)\n"
 
 #. @-expanded: Error converting subcluster block bitmap: %m\n
-#: e2fsck/problem.c:1036
+#: e2fsck/problem.c:1039
 #, no-c-format
 msgid "Error converting subcluster @b @B: %m\n"
 msgstr "Fout tijdens converteren van subclusterblokken-bitkaart: %m\n"
 
 #. @-expanded: quota inode is not a regular file.  
-#: e2fsck/problem.c:1041
+#: e2fsck/problem.c:1044
 msgid "@q @i is not a regular file.  "
 msgstr "Quota-inode is geen normaal bestand.  "
 
 #. @-expanded: quota inode is not in use, but contains data.  
-#: e2fsck/problem.c:1046
+#: e2fsck/problem.c:1049
 msgid "@q @i is not in use, but contains data.  "
 msgstr "Quota-inode is niet in gebruik, maar bevat gegevens.  "
 
 #. @-expanded: quota inode is visible to the user.  
-#: e2fsck/problem.c:1051
+#: e2fsck/problem.c:1054
 msgid "@q @i is visible to the user.  "
 msgstr "Quota-inode is zichtbaar voor de gebruiker.  "
 
 #. @-expanded: The bad block inode looks invalid.  
-#: e2fsck/problem.c:1056
+#: e2fsck/problem.c:1059
 msgid "The bad @b @i looks @n.  "
 msgstr "De slechteblokken-inode lijkt ongeldig.  "
 
 #. @-expanded: inode %i has zero length extent\n
 #. @-expanded: \t(invalid logical block %c, physical block %b)\n
-#: e2fsck/problem.c:1061
+#: e2fsck/problem.c:1064
 msgid ""
 "@i %i has zero length extent\n"
 "\t(@n logical @b %c, physical @b %b)\n"
@@ -1925,26 +1914,26 @@
 "  (ongeldig logisch blok %c, fysiek blok %b)\n"
 
 #. @-expanded: inode %i seems to contain garbage.  
-#: e2fsck/problem.c:1067
+#: e2fsck/problem.c:1070
 #, no-c-format
 msgid "@i %i seems to contain garbage.  "
 msgstr "Inode %i schijnt rommel te bevatten.  "
 
 #. @-expanded: inode %i passes checks, but checksum does not match inode.  
-#: e2fsck/problem.c:1073
+#: e2fsck/problem.c:1076
 #, no-c-format
 msgid "@i %i passes checks, but checksum does not match @i.  "
 msgstr "Inode %i komt door de tests, maar controlesom komt niet overeen met inode.  "
 
 #. @-expanded: inode %i extended attribute is corrupt (allocation collision).  
-#: e2fsck/problem.c:1079
+#: e2fsck/problem.c:1082
 #, no-c-format
 msgid "@i %i @a is corrupt (allocation collision).  "
 msgstr "Uitgebreid kenmerk van inode %i is beschadigd (reserveringsoverlap).  "
 
 #. @-expanded: inode %i extent block passes checks, but checksum does not match extent\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1087
+#: e2fsck/problem.c:1090
 msgid ""
 "@i %i extent block passes checks, but checksum does not match extent\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
@@ -1953,13 +1942,13 @@
 "  (logisch blok %c, fysiek blok %b, lengte %N).\n"
 
 #. @-expanded: inode %i extended attribute block %b passes checks, but checksum does not match block.  
-#: e2fsck/problem.c:1096
+#: e2fsck/problem.c:1099
 msgid "@i %i @a @b %b passes checks, but checksum does not match @b.  "
 msgstr "Uitgebreidkenmerkblok van inode %i komt door de tests, maar controlesom komt niet overeen met blok.  "
 
 #. @-expanded: Interior extent node level %N of inode %i:\n
 #. @-expanded: Logical start %b does not match logical start %c at next level.  
-#: e2fsck/problem.c:1101
+#: e2fsck/problem.c:1104
 msgid ""
 "Interior @x node level %N of @i %i:\n"
 "Logical start %b does not match logical start %c at next level.  "
@@ -1969,7 +1958,7 @@
 
 #. @-expanded: inode %i, end of extent exceeds allowed value\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1107
+#: e2fsck/problem.c:1110
 msgid ""
 "@i %i, end of extent exceeds allowed value\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
@@ -1978,37 +1967,37 @@
 "  (logisch blok %c, fysiek blok %b, lengte %N)\n"
 
 #. @-expanded: inode %i has inline data, but superblock is missing INLINE_DATA feature\n
-#: e2fsck/problem.c:1113
+#: e2fsck/problem.c:1116
 #, no-c-format
 msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
 msgstr "Inode %i bevat inline gegevens, maar superblok heeft INLINE_DATA-vlag niet gezet.\n"
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag on filesystem without inline data support.\n
-#: e2fsck/problem.c:1119
+#: e2fsck/problem.c:1122
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"
 msgstr "Inode %i heeft de 'INLINE_DATA_FL'-vlag gezet op een bestandssysteem zonder ondersteuning voor inline gegevens.\n"
 
 #. @-expanded: inode %i block %b conflicts with critical metadata, skipping block checks.\n
-#: e2fsck/problem.c:1127
+#: e2fsck/problem.c:1130
 #, no-c-format
 msgid "@i %i block %b conflicts with critical metadata, skipping block checks.\n"
 msgstr "Blok %b van inode %i conflicteert met kritieke metadata; blokcontroles worden overgeslagen.\n"
 
 #. @-expanded: directory inode %i block %b should be at block %c.  
-#: e2fsck/problem.c:1132
+#: e2fsck/problem.c:1135
 msgid "@d @i %i @b %b should be at @b %c.  "
 msgstr "In map-inode %i zou blok %b blok %c moeten zijn.  "
 
 #. @-expanded: directory inode %i has extent marked uninitialized at block %c.  
-#: e2fsck/problem.c:1138
+#: e2fsck/problem.c:1141
 #, no-c-format
 msgid "@d @i %i has @x marked uninitialized at @b %c.  "
 msgstr "Map-inode %i bevat een ongeïnitialiseerde extent in blok %c.  "
 
 #. @-expanded: inode %i logical block %b (physical block %c) violates cluster allocation rules.\n
 #. @-expanded: Will fix in pass 1B.\n
-#: e2fsck/problem.c:1143
+#: e2fsck/problem.c:1146
 msgid ""
 "@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\n"
 "Will fix in pass 1B.\n"
@@ -2017,14 +2006,14 @@
 "Zal worden gerepareerd in stap 1B.\n"
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag but extended attribute not found.  
-#: e2fsck/problem.c:1149
+#: e2fsck/problem.c:1152
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag but @a not found.  "
 msgstr "Inode %i heeft de 'INLINE_DATA_FL'-vlag gezet maar uitgebreid kenmerk is niet gevonden.  "
 
 #. @-expanded: Special (device/socket/fifo) file (inode %i) has extents\n
 #. @-expanded: or inline-data flag set.  
-#: e2fsck/problem.c:1156
+#: e2fsck/problem.c:1159
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo) file (@i %i) has extents\n"
@@ -2034,42 +2023,42 @@
 "extents- of inline-gegevens-vlag gezet.  "
 
 #. @-expanded: inode %i has extent header but inline data flag is set.\n
-#: e2fsck/problem.c:1163
+#: e2fsck/problem.c:1166
 #, no-c-format
 msgid "@i %i has @x header but inline data flag is set.\n"
 msgstr "Inode %i heeft een extents-header maar de inline-gegevens-vlag is gezet.\n"
 
 #. @-expanded: inode %i seems to have inline data but extent flag is set.\n
-#: e2fsck/problem.c:1169
+#: e2fsck/problem.c:1172
 #, no-c-format
 msgid "@i %i seems to have inline data but @x flag is set.\n"
 msgstr "Inode %i schijnt inline gegevens te hebben maar de extents-vlag is gezet.\n"
 
 #. @-expanded: inode %i seems to have block map but inline data and extent flags set.\n
-#: e2fsck/problem.c:1175
+#: e2fsck/problem.c:1178
 #, no-c-format
 msgid "@i %i seems to have @b map but inline data and @x flags set.\n"
 msgstr "Inode %i schijnt een blokkenkaart te hebben maar de inline-gegevens- of de extents-vlag is gezet.\n"
 
 #. @-expanded: inode %i has inline data and extent flags set but i_block contains junk.\n
-#: e2fsck/problem.c:1181
+#: e2fsck/problem.c:1184
 #, no-c-format
 msgid "@i %i has inline data and @x flags set but i_block contains junk.\n"
 msgstr "Inode %i bevat inline gegevens en heeft extent-vlaggen gezet maar 'i_block' bevat rommel.\n"
 
 #. @-expanded: Bad block list says the bad block list inode is bad.  
-#: e2fsck/problem.c:1186
+#: e2fsck/problem.c:1189
 msgid "Bad block list says the bad block list @i is bad.  "
 msgstr "De slechteblokkenlijst zegt dat de slechteblokkenlijst-inode slecht is.  "
 
 #. @-expanded: error allocating extent region allocation structure.  
-#: e2fsck/problem.c:1191
+#: e2fsck/problem.c:1194
 msgid "@A @x region allocation structure.  "
 msgstr "Fout tijdens reserveren van structuur voor reservering van extents-regio.  "
 
 #. @-expanded: inode %i has a duplicate extent mapping\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:1196
+#: e2fsck/problem.c:1199
 msgid ""
 "@i %i has a duplicate @x mapping\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -2077,56 +2066,102 @@
 "Inode %i heeft een gedupliceerde extent-toewijzing\n"
 "  (logisch blok %c, ongeldig fysiek blok %b, lengte %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
-#: e2fsck/problem.c:1201
-msgid "@A memory for encrypted @d list\n"
-msgstr "Fout tijdens reserveren van geheugen voor versleutelde mappenlijst\n"
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
+#: e2fsck/problem.c:1204
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "Fout tijdens reserveren van %N bytes voor versleutelde inode-lijst\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
-#: e2fsck/problem.c:1206
+#: e2fsck/problem.c:1209
 msgid "@i %i @x tree could be more shallow (%b; could be <= %c)\n"
 msgstr "extents-boom van inode %i zou ondieper kunnen (%b; zou <= %c kunnen zijn)\n"
 
 #. @-expanded: inode %i on bigalloc filesystem cannot be block mapped.  
-#: e2fsck/problem.c:1212
+#: e2fsck/problem.c:1215
 #, no-c-format
 msgid "@i %i on bigalloc @f cannot be @b mapped.  "
 msgstr "Inode %i op 'bigalloc'-bestandssysteem kan niet blok-mapped zijn.  "
 
 #. @-expanded: inode %i has corrupt extent header.  
-#: e2fsck/problem.c:1218
+#: e2fsck/problem.c:1221
 #, no-c-format
 msgid "@i %i has corrupt @x header.  "
 msgstr "Inode %i heeft een beschadigde extents-header.  "
 
 #. @-expanded: Timestamp(s) on inode %i beyond 2310-04-04 are likely pre-1970.\n
-#: e2fsck/problem.c:1224
+#: e2fsck/problem.c:1227
 #, no-c-format
 msgid "Timestamp(s) on @i %i beyond 2310-04-04 are likely pre-1970.\n"
 msgstr "Tijdsstempels van inode %i voorbij 4 april 2310 zijn vermoedelijk van vóór 1970.\n"
 
 #. @-expanded: inode %i has illegal extended attribute value inode %N.\n
-#: e2fsck/problem.c:1229
+#: e2fsck/problem.c:1232
 msgid "@i %i has @I @a value @i %N.\n"
 msgstr "Inode %i bevat een ongeldig slecht blok %b met uitgebreide kenmerken.  \n"
 
 #. @-expanded: inode %i has invalid extended attribute. EA inode %N missing EA_INODE flag.\n
-#: e2fsck/problem.c:1235
+#: e2fsck/problem.c:1238
 msgid "@i %i has @n @a. EA @i %N missing EA_INODE flag.\n"
 msgstr "Inode %i heeft een ongeldig uitgebreid kenmerk.  Uitgebreidkenmerk-inode %N heeft EA_INODE-vlag niet gezet.\n"
 
 #. @-expanded: EA inode %N for parent inode %i missing EA_INODE flag.\n
 #. @-expanded:  
-#: e2fsck/problem.c:1240
+#: e2fsck/problem.c:1243
 msgid ""
 "EA @i %N for parent @i %i missing EA_INODE flag.\n"
 " "
 msgstr ""
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "Inode %i bevat een ongeïnitialiseerde extent in blok %c (lengte %N).  "
+
+#. @-expanded: inode %i has the casefold flag set but is not a directory.  
+#: e2fsck/problem.c:1254
+#, c-format
+msgid "@i %i has the casefold flag set but is not a directory.  "
+msgstr "Inode %i heeft de 'casefold'-vlag gezet maar het is geen map.  "
+
+#. @-expanded: directory %p has the casefold flag, but the\n
+#. @-expanded: casefold feature is not enabled.  
+#: e2fsck/problem.c:1259
+#, c-format
+msgid ""
+"@d %p has the casefold flag, but the\n"
+"casefold feature is not enabled.  "
+msgstr ""
+"Map %p heeft de 'casefold'-vlag gezet,\n"
+"maar de 'casefold'-functie is niet ingeschakeld.  "
+
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "Inode %i heeft de 'encrypt'-vlag gezet maar geen uitgebreid kenmerk voor versleuteling.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "Versleutelde inode %i heeft een beschadigd uitgebreid kenmerk voor versleuteling.\n"
+
+#. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
+#: e2fsck/problem.c:1274
+msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
+msgstr ""
+
+#. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
+#: e2fsck/problem.c:1279
+#, c-format
+msgid "@h %i uses SipHash, but should not.  "
+msgstr ""
+
 #. @-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
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2138,46 +2173,46 @@
 "Stap 1B: Opnieuw zoeken naar meervoudig-geclaimde blokken\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1255
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "Meervoudig-geclaimd blok (of blokken) in inode %i:"
 
-#: e2fsck/problem.c:1271
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Fout tijdens scannen van inodes (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "Fout tijdens reserveren van vervangende inode-bitkaart: %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1283
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Fout tijdens langslopen van blokken van inode %i (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1288 e2fsck/problem.c:1663
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Fout tijdens bijstellen van verwijzingstal van blok %b met uitgebreide kenmerken (inode %i): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1298
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Stap 1C: Doorzoeken van mappen naar inodes met meervoudig-geclaimde blokken\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1304
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Stap 1D: Verzoenen van meervoudig-geclaimde blokken\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1309
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2186,18 +2221,18 @@
 "    bevat %r meervoudig-geclaimd(e) blok(ken), gedeeld met %N bestand(en):\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1315
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (inode %i, wijzigingstijd %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<metagegevens van bestandssysteem>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1325
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2207,7 +2242,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1330
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2215,345 +2250,350 @@
 "Meervoudig-geclaimde blokken zijn al gekloond of opnieuw toegekend.\n"
 "\n"
 
-#: e2fsck/problem.c:1344
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Kan bestand niet klonen: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1350
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Stap 1E: Optimalisatie van extents-bomen\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1356
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Optimaliseren van extents-boom %p (%i) is mislukt: %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1361
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Optimaliseren van extents-bomen: "
 
-#: e2fsck/problem.c:1376
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr ""
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1381
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "Extents-boom van inode %i zou korter kunnen (op niveau %b).  "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1386
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "Extents-boom van inode %i zou smaller kunnen (op niveau %b).  "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1393
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Stap 2: Controle van mappenstructuur\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1399
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "Ongeldig inodenummer voor '.' in map-inode %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1404
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "@E heeft een ongeldig inodenummer: %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1409
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "@E bevat een verwijderde of ongebruikte inode %Di.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1414
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "@E is een koppeling naar '.'  "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1419
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "@E verwijst naar een inode (%Di) in een slecht blok.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1424
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "@E is een koppeling naar map %P (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1429
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "@E is een koppeling naar de hoofd-inode.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1434
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "@E bevat ongeldige tekens in de naam.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1440
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "Ontbrekende '.' in map-inode %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "Ontbrekende '..' in map-inode %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "Eerste item '%Dn' (inode=%Di) in map-inode %i (%p) moet '.' zijn.\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "Tweede item '%Dn' (inode=%Di) in map-inode %i moet '..' zijn.\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1461
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "'i_faddr' @F is %IF, moet nul zijn.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1466
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "'i_file_acl' @F is %If, moet nul zijn.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1471
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "'i_size_high' @F is %Id, moet nul zijn.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1476
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "'i_frag' @F is %N, moet nul zijn.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1481
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "'i_fsize' @F is %N, moet nul zijn.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1486
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "Inode %i (%Q) heeft een ongeldige modus (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1491
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "Map-inode %i, %B, positie %N: map is beschadigd\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1496
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "Map-inode %i, %B, positie %N: bestandsnaam is te lang\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1501
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "Map-inode %i bevat een ongereserveerd %B.  "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1507
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "Item '.' in map-inode %i eindigt niet op NULL.\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "Item '..' in map-inode %i eindigt niet op NULL.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "Inode %i (%Q) is een ongeldig byte-apparaat.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "Inode %i (%Q) is een ongeldig blok-apparaat.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1528
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "@E is een duplicaat-'.'-item.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1533
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "@E is een duplicaat-'..'-item.\n"
 
-#: e2fsck/problem.c:1539 e2fsck/problem.c:1898
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "**Interne programmafout**: kan 'dir_info' voor %i niet vinden.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1544
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "@E heeft een 'rec_len' van %Dr, zou %N moeten zijn.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "Fout tijdens reserveren van 'icount'-structuur: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1556
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Fout tijdens langslopen van mapblokken: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1561
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Fout tijdens lezen van mapblok %b (inode %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Fout tijdens schrijven van mapblok %b (inode %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "Fout tijdens reserveren van nieuw mapblok voor inode %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Fout tijdens vrijgeven van inode %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1584
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "Mapitem voor '.' in %p (%i) is groot.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1589
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "Inode %i (%Q) is een ongeldige FIFO.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "Inode %i (%Q) is een ongeldige socket.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1599
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Bestandstype van @E wordt op %N gezet.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1604
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "@E heeft een ongeldig bestandstype (%Dt, zou %N moeten zijn).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1609
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "@E heeft een ingevuld bestandstype.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1614
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "@E heeft een naam met lengte nul.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1619
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Symbolische koppeling %Q (inode %i) is ongeldig.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1624
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "Blok van uitgebreide kenmerken @F is ongeldig (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1629
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
-msgstr "Bestandssysteem bevat grote bestanden, maar heeft in het superblok niet de 'large-file'-vlag gezet.\n"
+msgstr "Bestandssysteem bevat grote bestanden, maar superblok heeft niet de 'LARGE_FILE'-vlag.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1634
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "Probleem in 'htree'-map-inode %d: naar %B wordt niet verwezen.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1639
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "Probleem in 'htree'-map-inode %d: naar %B wordt twee keer verwezen.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1644
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldige minimum hash.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1649
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldige maximum hash.\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1654
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "Ongeldige 'htree'-map-inode %d (%q).  "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "Bestandssysteem bevat grote mappen, maar superblok heeft niet de 'LARGE_DIR'-vlag.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1658
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "Probleem in 'htree'-map-inode %d (%q): ongeldig bloknummer %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1669
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "Probleem in 'htree'-map-inode %d: de wortelknoop is ongeldig.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1674
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldige limiet (%N).\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1679
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldig aantal (%N).\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1684
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeordende hash-tabel.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1689
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldige diepte (%N).\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1694
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Dubbel item '%Dn' in %p (%i) gevonden.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1699
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2565,7 +2605,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1704
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2576,155 +2616,175 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1709
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "'i_blocks_hi' @F is %N, moet nul zijn.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1714
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "Onverwacht blok in 'htree'-map-inode %d (%q)\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1719
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "@E verwijst naar inode %Di in groep %g die gemarkeerd is als _INODE_UNINIT.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1724
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "@E verwijst naar inode %Di in het gebied met ongebruikte inodes van groep %g.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1729
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "'i_file_acl' @F is %N, moet nul zijn.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1735
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "Probleem in 'htree'-map-inode %d: controlesomfout over wortelknoop.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "Probleem in 'htree'-map-inode %d: controlesomfout over wortelknoop.\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "Map-inode %i, %B, positie %N: map heeft geen controlesom.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "Map-inode %i, %B: map voldoet aan eisen maar controlesom klopt niet.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1756
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "Grootte van inline map-inode %i (%N) moet een veelvoud van 4 zijn,\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1762
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Het corrigeren van de grootte van inline map-inode %i is mislukt.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1767
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "Versleuteld item '%Dn' in %p (%i) is te kort.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr ""
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr ""
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "@E bevat ongeldige UTF-8-tekens in de naam.\n"
+
+#. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
+#: e2fsck/problem.c:1831
+msgid "Duplicate filename @E found.  "
+msgstr "Dubbel bestandsnaamitem '%Dn' in %p (%i) gevonden.  "
+
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1774
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Stap 3: Controle van verbindingen tussen mappen\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1779
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "Hoofd-inode is niet gereserveerd.  "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Geen ruimte meer in /lost+found.  "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1790
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "Onverbonden map-inode %i (%p)\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "Onverbonden map-inode %i (was in %q)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1795
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "/lost+found niet gevonden.  "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1800
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "'..' in %Q (%i) is %P (%j), moet %q (%d) zijn.\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "Beschadigde of niet-bestaande /lost+found.  Kan inode niet herverbinden.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1812
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Kan /lost+found niet uitbreiden: %m\n"
 
-#: e2fsck/problem.c:1818
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Kan inode %i niet herverbinden: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1824
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Fout tijdens zoeken van /lost+found: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1830
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_block(): %m tijdens maken van /lost+found\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1836
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_inode(): %m tijdens maken van /lost+found\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1842
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_block(): %m tijdens maken van nieuw mapblok\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1848
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_block(): %m tijdens maken van mapblok voor /lost+found\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1854
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Fout tijdens bijwerken van inodetal van inode %i.\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1860
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2735,7 +2795,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1866
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2745,103 +2805,114 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1877
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Fout tijdens maken van hoofdmap (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1883
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Fout tijdens maken van /lost+found-map (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1888
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "De hoofd-inode is geen map.  Gestopt.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Kan niet verder zonder een hoofd-inode.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/lost+found (inode %i) is geen map\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1909
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/lost+found heeft inline-gegevens\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1914
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
 msgstr ""
+"Kan geen ruimte reserveren voor /lost+found.\n"
+"Verloren bestanden worden in hoofdmap geplaatst."
 
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1919
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
 "\n"
 msgstr ""
+"Onvoldoende ruimte om verloren bestanden te herstellen.\n"
+"Verplaats gegevens vanuit het bestandssysteem en draai 'e2fsck' opnieuw.\n"
+"\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1924
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/lost+found is versleuteld\n"
 
-#: e2fsck/problem.c:1931
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "Recursief geluste map-inode %i (%p)\n"
+
+#: e2fsck/problem.c:2002
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Stap 3A: Optimalisatie van mappen\n"
 
-#: e2fsck/problem.c:1937
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Maken van 'dirs_to_hash-iterator' is mislukt: %m\n"
 
-#: e2fsck/problem.c:1942
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Optimaliseren van map %q (%d) is mislukt: %m\n"
 
-#: e2fsck/problem.c:1947
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Optimaliseren van mappen: "
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Stap 4: Controle van verwijzingsaantallen\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1970
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "Onverbonden inode %i met lengte nul.  "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:1976
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "Onverbonden inode %i.\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:1981
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "Verwijzingsaantal van inode %i is %Il, zou %N moeten zijn.  "
 
 #. @-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
-#: e2fsck/problem.c:1985
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2854,146 +2925,151 @@
 "Deze horen hetzelfde te zijn!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:1992
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "Verwijzingsaantal van uitgebreidkenmerk-inode %i is %N, zou %n moeten zijn.  "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "Map overschrijdt maximum aantal koppelingen, maar superblok heeft DIR_NLINK-vlag niet gezet.\n"
 
+#. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
+#: e2fsck/problem.c:2073
+msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
+msgstr "Map-inode %i heeft verwijzingstal als overloop gezet maar zou exact waarde %N kunnen zijn."
+
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2004
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Stap 5: Controle van groepssamenvattingen\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2009
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr "Opvulling aan het eind van inode-bitkaart is niet gezet. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2014
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
 msgstr "Opvulling aan het eind van blok-bitkaart is niet gezet. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "Blok-bitkaart-verschillen: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "Inode-bitkaart-verschillen: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2063
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Verkeerd aantal vrije inodes voor groep #%g (%i, geteld=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2068
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Verkeerd aantal mappen voor groep #%g (%i, geteld=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Verkeerd aantal inodes (%i, geteld=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2078
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Verkeerd aantal blokken voor groep #%g (%b, geteld=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2083
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Verkeerd aantal blokken (%b, geteld=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2088
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr "PROGRAMMAFOUT in e2fsck: in bestandssysteem %N komen de bitkaart-eindpunten (%b, %c) niet overeen met de berekende eindpunten (%i, %j)\n"
 
-#: e2fsck/problem.c:2094
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "**Interne programmafout**: einde van bitmap is gefoezeld (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Fout tijdens kopiëren naar vervangende inode-bitkaart: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2106
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Fout tijdens kopiëren naar vervangende blok-bitkaart: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2136
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "Blok(ken) van groep %g in gebruik, maar groep is gemarkeerd als BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2142
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "Inode(s) van groep %g in gebruik, maar groep is gemarkeerd als INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2148
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "Inode-bitkaart van groep %g komt niet overeen met controlesom.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2154
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "Blok-bitkaart van groep %g komt niet overeen met controlesom.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2161
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "Journal heraanmaken"
 
-#: e2fsck/problem.c:2166
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "Quota-informatie bijwerken voor quotatype %N"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2172
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Fout bij instellen van blokgroepcontrolesominformatie: %m\n"
 
-#: e2fsck/problem.c:2178
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Fout bij schrijven van bestandssysteeminformatie: %m\n"
 
-#: e2fsck/problem.c:2184
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Fout bij wegschrijven van buffers naar opslagapparaat: %m\n"
 
-#: e2fsck/problem.c:2189
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Fout tijdens schrijven van quota-informatie voor quotatype %N: %m\n"
 
-#: e2fsck/problem.c:2352
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Onbekende foutcode (0x%x)!\n"
 
-#: e2fsck/problem.c:2482 e2fsck/problem.c:2486
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "GENEGEERD"
 
@@ -3003,14 +3079,18 @@
 
 #: e2fsck/scantest.c:79
 #, c-format
-msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
-msgstr "Gebruikt geheugen: %d, verlopen tijd: %6.3f/%6.3f/%6.3f\n"
+msgid "Memory used: %lu, elapsed time: %6.3f/%6.3f/%6.3f\n"
+msgstr "Gebruikt geheugen: %lu, verlopen tijd: %6.3f/%6.3f/%6.3f\n"
 
 #: e2fsck/scantest.c:98
 #, c-format
 msgid "size of inode=%d\n"
 msgstr "grootte van inode is %d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "tijdens openen voor inode-scan"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "tijdens start van inode-scan"
@@ -3029,15 +3109,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "tijdens aanroep van ext2fs_adjust_ea_refcount2() voor inode %u"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "Afkappen van"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Wissen van"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3050,7 +3130,7 @@
 "                 [-l|-L slechteblokkenbestand] [-z ongedaanmakenbestand]\n"
 "                 apparaat\n"
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3068,7 +3148,7 @@
 " -c   Op slechte blokken controleren en deze aan lijst toevoegen.\n"
 " -f   Een controle afdwingen, ook als het bestandssysteem schoon is.\n"
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3086,12 +3166,12 @@
 " -L slechteblokkenbestand   Deze slechteblokkenlijst gebruiken.\n"
 " -z ongedaanmakenbestand    Een ongedaanmakenbestand met deze naam aanmaken.\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %u/%u bestanden (%0d.%d%% niet-aaneengesloten), %llu/%llu blokken\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3106,51 +3186,51 @@
 "\n"
 "%12u inodes gebruikt (%2.2f%% van %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
 msgstr[0] "%12u niet-aaneengesloten bestand (%0d.%d%%)\n"
 msgstr[1] "%12u niet-aaneengesloten bestanden (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
 msgstr[0] "%12u niet-aaneengesloten map (%0d.%d%%)\n"
 msgstr[1] "%12u niet-aaneengesloten mappen (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             aantal inodes met indirecte blokken: %u enkel, %u dubbel, %u triple\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr "             Extents-dieptehistogram: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] "%12llu blok gebruikt (%2.2f%% van %llu)\n"
 msgstr[1] "%12llu blokken gebruikt (%2.2f%% van %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] "%12u slecht blok\n"
 msgstr[1] "%12u slechte blokken\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] "%12u groot bestand\n"
 msgstr[1] "%12u grote bestanden\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3165,96 +3245,96 @@
 "\n"
 "%12u normale bestanden\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
 msgstr[0] "%12u map\n"
 msgstr[1] "%12u mappen\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
 msgstr[0] "%12u byte-apparaat\n"
 msgstr[1] "%12u byte-apparaten\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
 msgstr[0] "%12u blok-apparaat\n"
 msgstr[1] "%12u blok-apparaten\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] "%12u fifo\n"
 msgstr[1] "%12u fifo's\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] "%12u koppeling\n"
 msgstr[1] "%12u koppelingen\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] "%12u symbolische koppeling"
 msgstr[1] "%12u symbolische koppelingen"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
 msgstr[0] " (%u snelle koppeling)\n"
 msgstr[1] " (%u snelle koppelingen)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
 msgstr[0] "%12u socket\n"
 msgstr[1] "%12u sockets\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] "%12u bestand\n"
 msgstr[1] "%12u bestanden\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2986 misc/util.c:129
-#: resize/main.c:354
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "tijdens bepalen of %s aangekoppeld is."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Waarschuwing!  %s is aangekoppeld.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Waarschuwing!  %s is in gebruik.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s is aangekoppeld.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s is in gebruik.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3262,7 +3342,7 @@
 "Kan niet doorgaan.  Gestopt.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3276,85 +3356,85 @@
 "    Als u doorgaat **ZAL** dit tot **ZWARE** beschadigingen leiden.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "Wilt u echt doorgaan"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "De controle is afgebroken.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " bevat een bestandssysteem met fouten"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " is niet goed ontkoppeld"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr " het primaire superblok heeft andere functievlaggen gezet dan de reserveblokken"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " is %u keer aangekoppeld geweest zonder controle"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " is schijnbaar het laatst gecontroleerd in de toekomst"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " is gedurende %u dagen niet gecontroleerd"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
-msgstr ""
+msgstr "controle-interval wordt genegeerd; 'broken_system_clock' is gezet\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", gedwongen controle.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: schoon, %u/%u bestanden, %llu/%llu blokken"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr " (controle is uitgesteld; computer loopt op accu)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (controle bij volgende aankoppeling)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (controle na %ld aankoppelingen)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "FOUT: kan /dev/null niet openen (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Ongeldige versie van uitgebreide kenmerken.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "Ongeldige grootte van vooruitleesbuffer.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Onbekende uitgebreide optie: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3366,15 +3446,15 @@
 "wordt voorafgegaan door een '='-teken.  Geldige uitgebreide opties zijn:\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "    ea_ver=<uitgebreidekenmerkenversie (1 of 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "    readahead_kb=<buffergrootte>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3383,55 +3463,65 @@
 "Syntaxfout in 'e2fsck'-configuratiebestand (%s, regel #%d)\n"
 "    %s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Fout tijdens valideren van bestandsdesriptor %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr "Ongeldige completeringsinformatie voor bestandsdescriptor."
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Slechts één van de opties -a, -p, -n of -y mag worden opgegeven."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "Optie '-t' wordt niet ondersteund door deze versie van e2fsck.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1695 misc/tune2fs.c:1990 misc/tune2fs.c:2008
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Kan apparaat '%s' niet vinden."
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr "Opties '-n' en '-D' gaan niet samen."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr "Opties '-n' en '-c' gaan niet samen."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr "De opties '-n' en '-l' of '-L' gaan niet samen."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Opties '-D' en '-E fixes_only' gaan niet samen."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Opties '-E bmap2extent' en '-E fixes_only' gaan niet samen."
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "tijdens openen van %s om deze leeg te maken"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "tijdens leegmaken van %s"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "De opties '-c' en '-l' of '-L' kunnen niet samen gebruikt worden.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3440,7 +3530,7 @@
 "E2FSCK_JBD_DEBUG -- \"%s\" is geen geheel getal\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3451,16 +3541,16 @@
 "Ongeldig niet-numeriek argument van '-%c': \"%s\"\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "Het MMP-interval is %u seconden, en de totale wachttijd is %u seconden.  Even geduld...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "tijdens controleren van MMP-blok"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3469,13 +3559,13 @@
 "Als u zeker weet dat het bestandssysteem nergens in gebruik is,\n"
 "geef dan deze opdracht: 'tune2fs -f -E clear_mmp %s'\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "tijdens lezen van MMP-blok"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2696 misc/mke2fs.c:2747 misc/tune2fs.c:2713
-#: misc/tune2fs.c:2758 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3487,59 +3577,59 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2736 misc/tune2fs.c:2747
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "tijdens verwijderen van %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2762 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "tijdens aanmaken van 'undo'-bestand\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Fout: de ext2fs-bibliotheek is te oud!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "tijdens programma-initialisatie"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "    gebruik makend van %s, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "voor interactieve reparaties is een terminal vereist"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s reservekopieblokken worden bekeken...\n"
 
 # Gebruik van '--' in deze en volgende string is opzettelijk;
 # één van deze strings wordt ingevuld voor de tweede %s hierboven.
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "Superblok is ongeldig --"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Groepsbeschrijvers zien er slecht uit --"
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: %s tijdens gebruik van de reservekopieblokken"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: er wordt teruggevallen op het eerste superblok\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3549,28 +3639,28 @@
 "(Of het superblok is beschadigd.)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "Is dit misschien een partitie met lengte nul?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "U dient %s-toegang tot het bestandssyteem te hebben, of root te zijn.\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Mogelijk een niet-bestaand apparaat of een swap-apparaat?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "Is bestandssysteem exclusief aangekoppeld of geopend door een ander programma?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "Mogelijk een niet-bestaand apparaat?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3578,79 +3668,79 @@
 "De schijf is schrijfbeveiligd.  Gebruik de optie '-n' om een\n"
 "alleen-lezencontrole van het apparaat uit te voeren.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: Poging om superblok te laden ondanks fouten...\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr "Installeer een nieuwere versie van e2fsck!"
 
-#: e2fsck/unix.c:1749
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "tijdens controle van het journal voor %s"
 
-#: e2fsck/unix.c:1752
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr "Kan niet verdergaan met bestandssysteemcontrole"
 
-#: e2fsck/unix.c:1763
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr ""
 "Waarschuwing: afspelen van journal wordt overgeslagen\n"
 "omdat een alleen-lezencontrole uitgevoerd wordt.\n"
 
-#: e2fsck/unix.c:1775
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "Kan superblokvlaggen van %s niet zetten.\n"
 
-#: e2fsck/unix.c:1781
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Controlesomfout in journal in %s\n"
 
-#: e2fsck/unix.c:1785
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Journal is beschadigd in %s\n"
 
-#: e2fsck/unix.c:1789
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "tijdens afspelen van het journal van %s"
 
-#: e2fsck/unix.c:1811
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "Bestandssysteem %s heeft functies ingeschakeld die niet ondersteund worden:"
 
-#: e2fsck/unix.c:1826
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "Bestandssysteem %s heeft een niet-ondersteunde codering: %0x\n"
 
-#: e2fsck/unix.c:1876
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: %s tijdens lezen van slechteblokken-inode\n"
 
-#: e2fsck/unix.c:1879
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Dit ziet er niet goed uit, maar we zullen doorgaan...\n"
 
-#: e2fsck/unix.c:1919
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Aanmaken van journal (%d blokken): "
 
-#: e2fsck/unix.c:1929
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr " voltooid.\n"
 
-#: e2fsck/unix.c:1931
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3658,24 +3748,24 @@
 "\n"
 "*** journal is opnieuw aangemaakt ***\n"
 
-#: e2fsck/unix.c:1937
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "afgebroken"
 
-#: e2fsck/unix.c:1939
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: 'e2fsck' is geannuleerd.\n"
 
-#: e2fsck/unix.c:1966
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "E2fsck wordt opnieuw gestart vanaf het begin...\n"
 
-#: e2fsck/unix.c:1970
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "tijdens wissen van de context"
 
-#: e2fsck/unix.c:2029
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
@@ -3684,12 +3774,12 @@
 "\n"
 "%s: ***** BESTANDSSYSTEEMFOUTEN ZIJN GECORRIGEERD *****\n"
 
-#: e2fsck/unix.c:2031
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: Het bestandssysteem is veranderd.\n"
 
-#: e2fsck/unix.c:2035 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3698,12 +3788,12 @@
 "\n"
 "%s: ***** BESTANDSSYSTEEM IS VERANDERD *****\n"
 
-#: e2fsck/unix.c:2040
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** HERSTART UW SYSTEEM *****\n"
 
-#: e2fsck/unix.c:2050 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3714,55 +3804,55 @@
 "%s: ********** WAARSCHUWING: bestandssysteem bevat nog fouten **********\n"
 "\n"
 
-#: e2fsck/util.c:196 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "jJyY"
 
-#: e2fsck/util.c:197 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:198
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "aA"
 
-#: e2fsck/util.c:202
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " ('a' betekent 'ja tegen alles') "
 
-#: e2fsck/util.c:219
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<j>"
 
-#: e2fsck/util.c:221
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:223
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (j/n)"
 
-#: e2fsck/util.c:246
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "geannuleerd!\n"
 
-#: e2fsck/util.c:279
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "ja tegen alles\n"
 
 # src/main.c:417 src/main.c:418 src/main.c:483 src/main.c:484 src/main.c:489
 # src/main.c:490 src/main.c:574
-#: e2fsck/util.c:281
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "ja\n"
 
 # src/main.c:417 src/main.c:418 src/main.c:432 src/main.c:483 src/main.c:484
 # src/main.c:489 src/main.c:490 src/main.c:574
-#: e2fsck/util.c:283
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "nee\n"
 
-#: e2fsck/util.c:293
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3771,7 +3861,7 @@
 "%s? nee\n"
 "\n"
 
-#: e2fsck/util.c:297
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3780,38 +3870,38 @@
 "%s? ja\n"
 "\n"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "ja"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "nee"
 
-#: e2fsck/util.c:317
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps(): ongeldige bitkaartblokken voor %s"
 
-#: e2fsck/util.c:322
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "lezen van inode- en blok-bitkaarten"
 
-#: e2fsck/util.c:334
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "tijdens herlezen van bitkaarten voor %s"
 
-#: e2fsck/util.c:346
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "schrijven van blok- en inode-bitkaarten"
 
-#: e2fsck/util.c:351
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "tijdens herschrijven van blok- en inode-bitkaarten voor %s"
 
-#: e2fsck/util.c:363
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3824,37 +3914,37 @@
 "%s: ONVERWACHTE INCONSISTENTIE; voer 'fsck' met de hand uit\n"
 "    (dat wil zeggen: zonder de opties '-a' of '-p').\n"
 
-#: e2fsck/util.c:444
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
-msgid "Memory used: %luk/%luk (%luk/%luk), "
-msgstr "Gebruikt geheugen: %luk/%luk (%luk/%luk), "
+msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
+msgstr "Gebruikt geheugen: %lluk/%lluk (%lluk/%lluk), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
-msgid "Memory used: %lu, "
-msgstr "Gebruikt geheugen: %lu, "
+msgid "Memory used: %lluk, "
+msgstr "Gebruikt geheugen: %lluk, "
 
-#: e2fsck/util.c:455
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "tijd: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:460
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "verlopen tijd: %6.3f\n"
 
-#: e2fsck/util.c:495 e2fsck/util.c:509
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "tijdens lezen van inode %lu in %s"
 
-#: e2fsck/util.c:523 e2fsck/util.c:536
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "tijdens schrijven van inode %lu in %s"
 
-#: e2fsck/util.c:792
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "ONVERWACHTE INCONSISTENTIE: het bestandssysteem wordt gewijzigd terwijl 'fsck' uitgevoerd wordt.\n"
 
@@ -3971,162 +4061,172 @@
 msgid "during test data write, block %lu"
 msgstr "tijdens schrijven van testpatroon, blok %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s is aangekoppeld; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr ""
 "maar 'badblocks' wordt gedwongen uitgevoerd.\n"
 "Hoop dat /etc/mtab onjuist is.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "het is niet veilig om 'badblocks' uit te voeren!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s wordt blijkbaar gebruikt door het systeem; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "maar 'badblocks' wordt gedwongen uitgevoerd.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "ongeldige %s: %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "Te groot aantal (%u) slechte blokken -- maximum is %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "kan geen geheugen reserveren voor testpatroon -- %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "In alleen-lezen-modus mag slechts één testpatroon gegeven worden"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "In alleen-lezen-modus is een willekeurig testpatroon niet toegestaan"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Ongeldige blokgrootte: %d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Ongeldige aantal_blokken_tegelijk: %d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
 msgstr "Kan de apparaatgrootte niet bepalen; geef de grootte handmatig op.\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "tijdens bepalen van apparaatgrootte"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "laatste blok"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "eerste blok"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "ongeldig beginblok: %llu -- moet kleiner dan %llu zijn"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "ongeldig beginblok: %llu -- moet een 32-bits waarde zijn"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "tijdens opstellen van lijst van slechte blokken in geheugen"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "invoerbestand heeft ongeldige opmaak"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "tijdens toevoegen aan lijst van slechte blokken in geheugen"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Controle is voltooid; %u slechte blokken gevonden (%d/%d/%d fouten).\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...\n"
-msgstr "Gebruik:  %s [-pRVf] [-+=AaCcDdeijPSsTtuF] [-v VERSIE] BESTAND...\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "Gebruik:  %s [-RVf] [-+=AaCcDdeijPSsTtuFx] [-p PROJECT] [-v VERSIE] BESTAND...\n"
 
-#: misc/chattr.c:160
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "ongeldig project: %s\n"
 
-#: misc/chattr.c:174
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "ongeldige versie: %s\n"
 
-#: misc/chattr.c:220 misc/lsattr.c:127
+#: misc/chattr.c:221 misc/lsattr.c:127
 #, c-format
 msgid "while trying to stat %s"
 msgstr "tijdens opvragen van de status van %s"
 
-#: misc/chattr.c:227
+#: misc/chattr.c:228
 #, c-format
 msgid "while reading flags on %s"
 msgstr "tijdens lezen van vlaggen op %s"
 
-#: misc/chattr.c:232 misc/chattr.c:244
+#: misc/chattr.c:233 misc/chattr.c:245
 #, c-format
 msgid "Flags of %s set as "
 msgstr "Vlaggen van %s zijn gezet als "
 
-#: misc/chattr.c:253
+#: misc/chattr.c:254
 #, c-format
 msgid "while setting flags on %s"
 msgstr "tijdens zetten van vlaggen op %s"
 
-#: misc/chattr.c:261
+#: misc/chattr.c:262
 #, c-format
 msgid "Version of %s set as %lu\n"
 msgstr "Versie van %s is gezet als %lu\n"
 
-#: misc/chattr.c:265
+#: misc/chattr.c:266
 #, c-format
 msgid "while setting version on %s"
 msgstr "tijdens zetten van versie op %s"
 
-#: misc/chattr.c:272
+#: misc/chattr.c:273
 #, c-format
 msgid "Project of %s set as %lu\n"
 msgstr "Project van %s is gezet als %lu\n"
 
-#: misc/chattr.c:276
+#: misc/chattr.c:277
 #, c-format
 msgid "while setting project on %s"
 msgstr "tijdens instellen van project op %s"
 
-#: misc/chattr.c:298
+#: misc/chattr.c:299
 msgid "Couldn't allocate path variable in chattr_dir_proc"
 msgstr "Kan geen padvariabele reserveren in chattr_dir_proc()"
 
-#: misc/chattr.c:338
+#: misc/chattr.c:339
 msgid "= is incompatible with - and +\n"
 msgstr "'=' gaat niet samen met '-' en '+'\n"
 
-#: misc/chattr.c:346
+#: misc/chattr.c:347
 msgid "Must use '-v', =, - or +\n"
 msgstr "Gebruik '-v', '=', '-' of '+'.\n"
 
@@ -4135,8 +4235,8 @@
 msgid "while reading inode %u"
 msgstr "tijdens lezen van inode %u"
 
-#: misc/create_inode.c:90 misc/create_inode.c:288 misc/create_inode.c:353
-#: misc/create_inode.c:391
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "tijdens uitbreiden van map"
 
@@ -4145,143 +4245,152 @@
 msgid "while linking \"%s\""
 msgstr "tijdens koppelen van \"%s\""
 
-#: misc/create_inode.c:105 misc/create_inode.c:132 misc/create_inode.c:322
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "tijdens schrijven van inode %u"
 
-#: misc/create_inode.c:152 misc/create_inode.c:176
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "tijdens opsommen van kenmerken van \"%s\""
 
-#: misc/create_inode.c:163
+#: misc/create_inode.c:165
 #, c-format
 msgid "while opening inode %u"
 msgstr "tijdens openen van inode %u"
 
-#: misc/create_inode.c:169 misc/create_inode.c:196 misc/create_inode.c:1043
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "tijdens lezen van xattrs voor inode %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "tijdens reserveren van geheugen"
 
-#: misc/create_inode.c:189 misc/create_inode.c:205
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "tijdens lezen van kenmerk \"%s\" van \"%s\""
 
-#: misc/create_inode.c:214
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "tijdens schrijven van kenmerk \"%s\" naar inode %u"
 
-#: misc/create_inode.c:224
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "tijdens sluiten van inode %u"
 
-#: misc/create_inode.c:275
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "tijdens reserveren van geheugen voor inode \"%s\""
 
-#: misc/create_inode.c:294
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "tijdens aanmaken van inode \"%s\""
 
-#: misc/create_inode.c:360
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "tijdens aanmaken van symbolische koppeling \"%s\""
 
-#: misc/create_inode.c:378 misc/create_inode.c:963
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "tijdens opzoeken van \"%s\""
 
-#: misc/create_inode.c:398
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "tijdens aanmaken van map \"%s\""
 
-#: misc/create_inode.c:627
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "tijdens openen van \"%s\" voor kopiëren"
 
-#: misc/create_inode.c:805
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "tijdens veranderen van werkmap naar \"%s\""
 
-#: misc/create_inode.c:815
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "tijdens scannen van map \"%s\""
 
-#: misc/create_inode.c:825
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "tijdens lstat() van \"%s\""
 
-#: misc/create_inode.c:875
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "tijdens aanmaken van speciaal bestand \"%s\""
 
-#: misc/create_inode.c:884
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "onvoldoende geheugen beschikbaar"
 
-#: misc/create_inode.c:892
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "tijdens lezen van koppeling \"%s\""
 
-#: misc/create_inode.c:899
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "symbolische koppeling is groter geworden tussen lstat() en readlink()"
 
-#: misc/create_inode.c:910
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "tijdens schrijven van symbolische koppeling \"%s\""
 
-#: misc/create_inode.c:921
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "tijdens schrijven van bestand \"%s\""
 
-#: misc/create_inode.c:934
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "tijdens aanmaken van map \"%s\""
 
-#: misc/create_inode.c:952
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "tijdens wijzigen van map"
 
-#: misc/create_inode.c:958
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "item \"%s\" wordt genegeerd"
 
-#: misc/create_inode.c:971
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "tijdens instellen van inode voor \"%s\""
 
-#: misc/create_inode.c:978
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "tijdens instellen van uitgebreide kenmerken voor \"%s\""
 
-#: misc/create_inode.c:1004
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "tijdens opslaan van inode-gegevens"
 
+#: misc/create_inode.c:1077
+msgid "while copying xattrs on root directory"
+msgstr "tijdens kopiëren van 'xattrs' voor hoofdmap"
+
 #: misc/dumpe2fs.c:56
 #, c-format
 msgid "Usage: %s [-bfghimxV] [-o superblock=<num>] [-o blocksize=<num>] device\n"
@@ -4398,59 +4507,59 @@
 msgid "while printing bad block list"
 msgstr "tijdens printen van lijst van slechte blokken"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Slechte blokken: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:373
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "tijdens lezen van journal-inode"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr "tijdens openen van journal-inode"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "tijdens lezen van journal-superblok"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Magisch getal van journal-superblok is ongeldig!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:216
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "tijdens lezen van journal-superblok"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Kan magische getallen van journal-superblok niet vinden"
 
-#: misc/dumpe2fs.c:468
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr "reserveren van MMP-buffer is mislukt\n"
 
-#: misc/dumpe2fs.c:479
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "lezen van MMP-blok %llu van '%s'\n"
 
-#: misc/dumpe2fs.c:507 misc/mke2fs.c:800 misc/tune2fs.c:2027
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Kan geen geheugen reserveren om opties te ontleden!\n"
 
-#: misc/dumpe2fs.c:533
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Ongeldig superblok opgegeven: %s\n"
 
-#: misc/dumpe2fs.c:548
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Ongeldige blokgrootte opgegeven: %s\n"
 
-#: misc/dumpe2fs.c:559
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4473,27 +4582,27 @@
 "    superblock=<superbloknummer>\n"
 "    blocksize=<blokgrootte>\n"
 
-#: misc/dumpe2fs.c:649 misc/mke2fs.c:1889
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tgebruik makend van %s\n"
 
-#: misc/dumpe2fs.c:694 misc/e2image.c:1629 misc/tune2fs.c:2913
-#: resize/main.c:416
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Kan geen geldig bestandssysteem-superblok vinden.\n"
 
-#: misc/dumpe2fs.c:716
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
-msgstr ""
+msgstr "%s: MMP-functie is niet ingeschakeld.\n"
 
-#: misc/dumpe2fs.c:747
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "tijdens lezen van '%s'-bitkaarten\n"
 
-#: misc/dumpe2fs.c:756
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4501,198 +4610,202 @@
 "*** Draai 'e2fsck' nu!\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
-msgid "Usage: %s [ -r|Q ] [ -f ] [ -b superblock ] [ -B blocksize][ -fr ] device image-file\n"
-msgstr "Gebruik:  %s [-r|-Q] [-f] [-b superblok] [-B blokgrootte]  apparaat imagebestand\n"
+msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
+msgstr "Gebruik:  %s [-r|-Q] [-f] [-b superblok] [-B blokgrootte] apparaat imagebestand\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "          %s -I apparaat imagebestand\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
-msgid "       %s -ra  [  -cfnp  ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
+msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr "          %s -ra [-cfnp] [-o bronpositie] [-O doelpositie] bron-bs [doel-bs]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "tijdens reserveren van buffer"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "Schrijven van blok %llu\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr "fout tijdens schrijven van blok %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "fout in generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Fout: header-grootte is groter dan wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr "Kan geen header-buffer reserveren.\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "tijdens schrijven van superblok"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "tijdens aanmaken van inodetabel"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "tijdens schrijven van blok-bitkaart"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "tijdens schrijven van inode-bitkaart"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Beschadigd mapblok %llu: onjuiste 'rec_len' (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Beschadigd mapblok %llu: onjuiste 'name_len' (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu / %llu blokken (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "Kopiëren van "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr "Nu stoppen zal het bestandssysteem vernietigen; onderbreek opnieuw als u het zeker weet.\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " nog %s bij %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr "fout tijdens lezen van blok %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Er zijn %llu / %llu blokken gekopieerd (%d%%) in %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "met %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr "tijdens reserveren van l1-tabel"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr "tijdens reserveren van l2-cache"
 
 # XXX  "while putting"??
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 ""
 "Waarschuwing: er zitten nog tabellen in de cache terwijl deze opgeslagen wordt;\n"
 "er zullen gegevens verloren gaan, dus de image kan ongeldig zijn.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr "tijdens reserveren van 'ext2_qcow2_image'"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr "tijdens initialiseren van 'ext2_qcow2_image'"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "**Programmafout**: meerdere opeenvolgende 'refcount'-blokken aangemaakt!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr "tijdens reserveren van blok-bitkaart"
 
 # XXX  maybe 'scrambled'?
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr "tijdens reserveren van gehusselde blok-bitkaart"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr "Scannen van inodes...\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr "Kan geen blokbuffer reserveren"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "tijdens halen van volgende inode"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "tijdens iteratie over inode %u"
 
 # XXX  uppercase QCOW2, add space
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "'raw'- en QCOW2-images kunnen niet geïnstalleerd worden"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "fout tijdens lezen van bitkaarten"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "tijdens openen van apparaatbestand"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr "tijdens het herstellen van de image-tabel"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "Optie '-a' kan alleen gebruikt worden met 'raw'- of QCOW2-images."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "Optie '-b' kan alleen gebruikt worden met 'raw'- of QCOW2-images."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr "Posities zijn alleen toegestaan met 'raw'-images."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr "Verplaatsingsmodus is alleen toegestaan met 'raw'-images."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr "Verplaatsingsmodus vereist 'all-data'-modus"
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "controle op aankoppeling"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4704,57 +4817,57 @@
 "kan resulteren in een inconsistente image die onbruikbaar is voor debugging.\n"
 "Gebruik optie '-f' als u dit echt wilt doen.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "Een QCOW2-image kan niet naar standaarduitvoer geschreven worden.\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr "Kan status van uitvoer niet opvragen\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "Image (%s) is gecomprimeerd.\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "Image (%s) is versleuteld.\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "Image (%s) is beschadigd.\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "tijdens converteren van een qcow2-image (%s) naar een raw-imagebestand (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr "Optie '-c' wordt alleen ondersteund in 'raw'-modus.\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "Optie '-c' wordt niet ondersteund bij schrijven naar standaarduitvoer.\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr "tijdens reserveren van 'check_buf'"
 
 # XXX  add the word 'is' before 'only'
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr "Optie '-p' wordt alleen ondersteund in 'raw'-modus.\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d blokken bevatten reeds de te kopiëren gegevens\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Gebruik:  %s -r apparaat\n"
@@ -4779,7 +4892,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: dit is geen ext2-bestandssysteem\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3117
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Waarschuwing: label is te lang, wordt afgekapt.\n"
@@ -4794,7 +4907,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: fout tijdens schrijven van superblok\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1687
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Gebruik:  e2label apparaat [nieuw_label]\n"
@@ -4806,151 +4919,151 @@
 "Gebruik:  %s [-f] [-h] [-n] [-o positie] [-v] [-z ongedaanmakenbestand]\n"
 "                <transactiebestand> <bestandssysteem>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "Superblok van bestandssysteem komt niet overeen met die in 'undo'-bestand.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "UUID komt niet overeen.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "Laatste-aankoppelingstijd komt niet overeen.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "Laatste-schrijftijd komt niet overeen.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Schrijfteller komt niet overeen.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "tijdens lezen van bestandssysteem-superblok"
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "tijdens ophalen van superblok"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "Controlesom van superblok in 'undo'-bestand komt niet overeen.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "ongeldige positie: %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "Zal niet naar een ongedaanmakenbestand schrijven tijdens het afspelen ervan.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "tijdens openen van ongedaanmakenbestand '%s'\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "tijdens lezen van ongedaanmakenbestand"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: is geen ongedaanmakenbestand\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: Controlesom van header komt niet overeen.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: Header van undo-bestand is beschadigd.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: Undo-blokgrootte is te groot.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: Undo-blokgrootte is te klein.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: Onbekende ongedaanmaken-functievlag gezet.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Fout tijdens bepalen of %s aangekoppeld is."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "Voer 'e2undo' alleen uit op een niet-aangekoppeld bestandssysteem."
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "tijdens openen van '%s'"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "gegeven positie is te groot"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "tijdens lezen van sleutels"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: ongeldig magisch getal voor sleutel op %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: controlesomfout van sleutelblok op %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: blok %llu is te lang."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "tijdens ophalen van blok %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "controlesomfout in bestandssysteemblok %llu (ongedaanmakenblok %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "tijdens schrijven van blok %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Beschadiging in ongedaanmakenbestand; voer 'e2fsck' NU uit!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "In-/uitvoerfout tijdens afspelen; voer 'e2fsck' NU uit!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Onvolledig ongedaanmakenitem; voer 'e2fsck' uit.\n"
@@ -4958,32 +5071,32 @@
 #: misc/findsuper.c:110
 #, c-format
 msgid "Usage:  findsuper device [skipbytes [startkb]]\n"
-msgstr ""
+msgstr "Gebruik:  findsuper apparaat [stapbytes [start_bij_kilobytes]]\n"
 
 #: misc/findsuper.c:155
 #, c-format
 msgid "skipbytes should be a number, not %s\n"
-msgstr ""
+msgstr "stapbytes moet een getal zijn, niet %s\n"
 
 #: misc/findsuper.c:162
 #, c-format
 msgid "skipbytes must be a multiple of the sector size\n"
-msgstr ""
+msgstr "stapbytes moet een veelvoud van de sectorgrootte zijn\n"
 
 #: misc/findsuper.c:169
 #, c-format
 msgid "startkb should be a number, not %s\n"
-msgstr ""
+msgstr "start_bij_kilobytes moet een getal zijn, niet %s\n"
 
 #: misc/findsuper.c:175
 #, c-format
 msgid "startkb should be positive, not %llu\n"
-msgstr ""
+msgstr "start_bij_kilobytes moet positief zijn, niet %llu\n"
 
 #: misc/findsuper.c:186
 #, c-format
 msgid "starting at %llu, with %u byte increments\n"
-msgstr ""
+msgstr "beginnend bij %llu, met stappen van %u bytes\n"
 
 #: misc/findsuper.c:188
 #, c-format
@@ -4997,24 +5110,26 @@
 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:265
 #, c-format
 msgid ""
 "\n"
 "%11Lu: finished with errno %d\n"
 msgstr ""
+"\n"
+"%11Lu: afgesloten met foutnummer %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "WAARSCHUWING: kan %s niet openen: %s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr "WAARSCHUWING: foute indeling op regel %d van %s\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5026,37 +5141,37 @@
 "    de eerstvolgende gelegenheid toe dienen te voegen.\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck: %s: niet gevonden\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr "%s: wait: geen dochterprocessen meer?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr "Waarschuwing: %s voor apparaat %s werd beëindigd met signaal %d.\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr "%s %s: de status is %x, dit zou nooit voor mogen komen.\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Afgesloten met %s (afsluitwaarde %d).\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr "%s: Fout %d tijdens uitvoering van fsck.%s voor %s\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
@@ -5064,98 +5179,103 @@
 "Óf geen óf alle bestandsssysteemsoorten bij optie -t\n"
 "dienen voorafgegaan te worden door 'no' of '!'.\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr "Kan geen geheugen reserveren voor bestandssysteemsoorten.\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr ""
 "%s: ongeldige regel in /etc/fstab wordt overgeslagen:\n"
 "zesde veld van 'bind'-aankoppeling is niet nul (fsck-volgnummer)\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr "fsck: kan %s niet controleren: fsck.%s niet gevonden\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "Alle bestandssystemen worden gecontroleerd.\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "--wachten-- (volgnummer %d)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr ""
 "Gebruik:  fsck [-AMNPRTV] [-C [descriptor]] [-t bestandssysteemsoort]\n"
 "               [bestandssysteemopties] [bestandssysteem...]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s: te veel apparaten\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: te veel argumenten\n"
 
-#: misc/fuse2fs.c:3745
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Wordt als alleen-lezen aangekoppeld.\n"
 
-#: misc/fuse2fs.c:3769
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
-msgstr ""
+msgstr "%s: Gebruikers mogen alle blokken reserveren.  Dit is gevaarlijk!\n"
 
-#: misc/fuse2fs.c:3781 misc/fuse2fs.c:3795
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3797 misc/tune2fs.c:3013
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Voer 'e2fsck -fy %s' uit.\n"
 
-#: misc/fuse2fs.c:3804
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: wordt als alleen-lezen aangekoppeld zonder het journal te herstellen\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Het journal moet worden afgespeeld; draai 'e2fsck -E journal_only'.\n"
 
-#: misc/fuse2fs.c:3812
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: Schrijven naar het journal wordt niet ondersteund.\n"
 
-#: misc/fuse2fs.c:3827
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr ""
 "Waarschuwing: een ongecontroleerd bestandssysteem wordt aangekoppeld;\n"
 "het uitvoeren van 'e2fsck' wordt aangeraden.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr ""
 "Waarschuwing: het maximum aantal aankoppelingen is bereikt;\n"
 "het uitvoeren van 'e2fsck' wordt aangeraden.\n"
 
-#: misc/fuse2fs.c:3836
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr ""
 "Waarschuwing: de controletijd is bereikt;\n"
 "het uitvoeren van 'e2fsck' wordt aangeraden.\n"
 
-#: misc/fuse2fs.c:3840
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Wees-inodes gevonden; het uitvoeren van 'e2fsck' wordt aangeraden.\n"
 
-#: misc/fuse2fs.c:3844
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Fouten gedetecteerd; het uitvoeren van 'e2fsck' wordt aangeraden.\n"
 
@@ -5179,7 +5299,11 @@
 msgid "While reading version on %s"
 msgstr "Tijdens lezen van versie op %s"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "Kan geen padvariabele reserveren in lsattr_dir_proc()\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5201,37 +5325,37 @@
 "          [-T gebruikstype] [-U UUID] [-z ongedaanmakenbestand]\n"
 "          [-jnqvDFKSV]  apparaat  [aantal_blokken]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Uitgevoerde opdracht is: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "tijdens uitvoering van '%s'"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "tijdens verwerken van de gemaakte lijst van slechte blokken"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Blok %d in het primaire superblok of de groepsbeschrijvers is slecht.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr ""
 "Blokken %u tot en met %u moeten goed zijn\n"
 "om een bestandssysteem aan te kunnen maken.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Gestopt...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5242,19 +5366,19 @@
 "beginnend bij blok %u, bevat slechte blokken.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "tijdens het markeren van slechte blokken (als zijnde in gebruik)"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "tijdens schrijven van gereserveerde inodes"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Schrijven van inodetabellen: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5263,76 +5387,80 @@
 "\n"
 "Kan %d blokken in inodetabel niet schrijven, beginnend bij %llu: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2809 misc/mke2fs.c:3214
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "voltooid                        \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "tijdens aanmaken van hoofdmap"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "tijdens lezen van hoofd-inode"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "tijdens zetten van eigenaar van hoofd-inode"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "tijdens aanmaken van /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "tijdens zoeken van /lost+found"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "tijdens uitbreiden van /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "tijdens zetten van slechteblokken-inode"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Onvoldoende geheugen tijdens wissen van sectoren %d-%d.\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Waarschuwing: kan blok 0 niet lezen: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Waarschuwing: kan sector %d niet wissen: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "tijdens splitsen van de journal-grootte"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "tijdens initialiseren van het journal-superblok"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Nulmaken van journal-apparaat: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "tijdens nulmaken van journal-apparaat (blok %llu, nummer %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "tijdens schrijven van journal-superblok"
 
-#: misc/mke2fs.c:665
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "Aanmaken van bestandssysteem met %llu blokken (van %dK) en %u inodes.\n"
 
-#: misc/mke2fs.c:673
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5341,166 +5469,166 @@
 "Waarschuwing: %llu ongebruikte blokken.\n"
 "\n"
 
-#: misc/mke2fs.c:678
+#: misc/mke2fs.c:688
 #, c-format
-msgid "Filesystem label=%s\n"
-msgstr "Bestandssysteemlabel=%s\n"
+msgid "Filesystem label=%.*s\n"
+msgstr "Bestandssysteemlabel=%.*s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "Soort besturingssysteem: %s\n"
 
-#: misc/mke2fs.c:683
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Blokgrootte=%u (log=%u)\n"
 
-#: misc/mke2fs.c:686
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Clustergrootte=%u (log=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Fragmentgrootte=%u (log=%u)\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "'stride'=%u blokken, 'stripe'-breedte=%u blokken\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u inodes, %llu blokken\n"
 
-#: misc/mke2fs.c:696
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu blokken (%2.2f%%) gereserveerd voor systeembeheer\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Eerste gegevensblok=%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Hoofdmap-eigenaar=%u:%u\n"
 
-#: misc/mke2fs.c:703
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Maximum aantal bestandssysteemblokken=%lu\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u blokgroepen\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u blokgroep\n"
 
-#: misc/mke2fs.c:711
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u blokken per groep, %u clusters per groep\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u blokken per groep, %u fragmenten per groep\n"
 
 # src/main.c:425
-#: misc/mke2fs.c:716
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u inodes per groep\n"
 
-#: misc/mke2fs.c:725
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "Bestandssysteem-UUID: %s\n"
 
-#: misc/mke2fs.c:726
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Superblokreservekopieën zijn opgeslagen in blokken: "
 
 # XXX  manpage does not mention -O 64bit
-#: misc/mke2fs.c:822
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s vereist '-O 64bit'\n"
 
-#: misc/mke2fs.c:828
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "'%s' moet vóór 'resize=%u' staan\n"
 
-#: misc/mke2fs.c:841
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "Ongeldige 'desc_size': '%s'\n"
 
-#: misc/mke2fs.c:855
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "Ongeldige hash-seed: %s\n"
 
-#: misc/mke2fs.c:867
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Ongeldige positie: %s\n"
 
-#: misc/mke2fs.c:881 misc/tune2fs.c:2055
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "Ongeldig 'mmp_update_interval': %s\n"
 
-#: misc/mke2fs.c:898
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Ongeldig aantal reservekopie-superblokken: %s\n"
 
-#: misc/mke2fs.c:920
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Ongeldig argument van 'stride': %s\n"
 
-#: misc/mke2fs.c:935
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Ongeldig argument van 'stripe_width': %s\n"
 
-#: misc/mke2fs.c:958
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Ongeldig argument van 'resize': %s\n"
 
-#: misc/mke2fs.c:965
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "De maximum grootte moet groter zijn dan de huidige bestandssysteemgrootte.\n"
 
-#: misc/mke2fs.c:989
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr "Live vergroten of verkleinen is niet mogelijk op een bestandssysteem van versie 0.\n"
 
-#: misc/mke2fs.c:1015 misc/mke2fs.c:1024
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "Ongeldige hoofdmap-eigenaar: '%s'\n"
 
-#: misc/mke2fs.c:1069
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "Ongeldige codering: %s"
 
-#: misc/mke2fs.c:1087
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5552,7 +5680,7 @@
 "    encoding_flags=<vlaggen>\n"
 "    quotatype=<in_te_schakelen_quotatypes>\n"
 
-#: misc/mke2fs.c:1114
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5563,17 +5691,17 @@
 "Waarschuwing: 'stripe'-breedte %u is geen even veelvoud van 'stride' %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1125
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
-msgstr ""
+msgstr "Fout: ongeldige coderingsvlag: %s\n"
 
-#: misc/mke2fs.c:1131
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
-msgstr ""
+msgstr "Fout: de codering moet expliciet gegeven worden wanneer coderingsvlaggen gegeven zijn\n"
 
-#: misc/mke2fs.c:1179
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5583,17 +5711,17 @@
 "    %s\n"
 
 # Dit gaat over het argument van optie -O.
-#: misc/mke2fs.c:1192 misc/tune2fs.c:1068
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Ongeldige bestandssysteemfunctie: %s\n"
 
-#: misc/mke2fs.c:1204 misc/tune2fs.c:417
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Ongeldige aankoppelingsoptie: %s\n"
 
-#: misc/mke2fs.c:1340
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5602,7 +5730,7 @@
 "\n"
 "Uw mke2fs.conf definieert geen bestandssysteemtype %s.\n"
 
-#: misc/mke2fs.c:1344
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5610,11 +5738,11 @@
 "U dient waarschijnlijk een nieuwer mke2fs.conf-bestand te installeren.\n"
 "\n"
 
-#: misc/mke2fs.c:1348
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "Gestopt...\n"
 
-#: misc/mke2fs.c:1389
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5625,81 +5753,81 @@
 "Waarschuwing: bestandssysteemtype %s is niet gedefinieerd in mke2fs.conf\n"
 "\n"
 
-#: misc/mke2fs.c:1571
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Kan geen geheugen reserveren voor nieuwe PATH.\n"
 
-#: misc/mke2fs.c:1608
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "Initialiseren van profile is mislukt (fout: %ld).\n"
 
-#: misc/mke2fs.c:1641
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "ongeldige blokgrootte: %s"
 
-#: misc/mke2fs.c:1645
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Waarschuwing: blokgrootte %d is op de meeste systemen niet bruikbaar.\n"
 
-#: misc/mke2fs.c:1661
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "ongeldige clustergrootte: %s"
 
-#: misc/mke2fs.c:1674
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "'optie '-R' is verouderd; gebruik '-E'"
 
-#: misc/mke2fs.c:1688 misc/tune2fs.c:1784
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "onjuist argument van -e (gedrag bij een fout): %s"
 
-#: misc/mke2fs.c:1700
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Ongeldig aantal blokken per groep"
 
-#: misc/mke2fs.c:1705
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "argument van -g (blokken per groep) is geen veelvoud van 8"
 
-#: misc/mke2fs.c:1713
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Ongeldig getal voor metagroepgrootte"
 
-#: misc/mke2fs.c:1719
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "Metagroepgrootte moet een macht van 2 zijn"
 
-#: misc/mke2fs.c:1724
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "Metagroepgrootte (%lu) moet kleiner zijn dan of gelijk zijn aan 2^31"
 
-#: misc/mke2fs.c:1734
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "ongeldige inodeverhouding %s (min %d / max %d)"
 
-#: misc/mke2fs.c:1744
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "ongeldige grootte van inode: %s"
 
-#: misc/mke2fs.c:1757
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr ""
 "Waarschuwing: optie '-K' is verouderd en zou u niet meer moeten gebruiken;\n"
 "gebruik in plaats daarvan de uitgebreide optie '-E nodiscard'.\n"
 
-#: misc/mke2fs.c:1768
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "onvoldoende geheugen in bad_blocks_filename()"
 
-#: misc/mke2fs.c:1777
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
@@ -5708,69 +5836,79 @@
 "Waarschuwing: label is te lang -- wordt afgekapt tot '%s'.\n"
 "\n"
 
-#: misc/mke2fs.c:1786
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "ongeldig percentage gereserveerde blokken: %s"
 
 # lib/prange.c:299 lib/prange.c:316
-#: misc/mke2fs.c:1801
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "ongeldig aantal inodes: %s"
 
-#: misc/mke2fs.c:1814
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "tijdens reserveren van tekenreeks voor 'fs_feature'"
 
 # lib/prange.c:299 lib/prange.c:316
-#: misc/mke2fs.c:1831
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "ongeldig revisienummer: %s"
 
-#: misc/mke2fs.c:1836
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "tijdens aanmaken van versie %d"
 
-#: misc/mke2fs.c:1850
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "Optie '-t' mag slechts één keer gegeven worden"
 
-#: misc/mke2fs.c:1858
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "Optie '-T' mag slechts één keer gegeven worden"
 
-#: misc/mke2fs.c:1914 misc/mke2fs.c:3298
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "tijdens openen van journal-apparaat %s\n"
 
-#: misc/mke2fs.c:1920
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr "Blokgrootte %d van journal-apparaat is kleiner dan minimum blokgrootte %d.\n"
 
-#: misc/mke2fs.c:1926
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Blokgrootte van het journal-apparaat wordt gebruikt: %d\n"
 
-#: misc/mke2fs.c:1937
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "ongeldige blokken '%s' op apparaat '%s'"
 
-#: misc/mke2fs.c:1967
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "bestandssysteem"
 
-#: misc/mke2fs.c:1985 resize/main.c:497
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "Bestand %s bestaat niet en er is geen grootte opgegeven.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Aanmaken van normaal bestand %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "tijdens bepalen van grootte van bestandssysteem"
 
-#: misc/mke2fs.c:1991
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5778,7 +5916,7 @@
 "Kan de grootte van het apparaat niet bepalen;\n"
 "u dient zelf de grootte van het bestandssysteem aan te geven.\n"
 
-#: misc/mke2fs.c:1998
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5791,48 +5929,48 @@
 "    in-gebruik-zijn van een gewijzigde partitie.  Mogelijk dient u uw\n"
 "    computer te herstarten om de juiste partitietabel te verkrijgen.\n"
 
-#: misc/mke2fs.c:2015
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "Bestandssysteem is groter dan de schijnbare apparaatgrootte."
 
-#: misc/mke2fs.c:2035
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "Verwerken van lijst met bestandssysteemsoorten is mislukt\n"
 
-#: misc/mke2fs.c:2085
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "De Hurd ondersteunt de 'filetype'-functie niet.\n"
 
-#: misc/mke2fs.c:2090
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "De Hurd ondersteunt de 'huge_file'-functie niet.\n"
 
-#: misc/mke2fs.c:2095
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "De Hurd ondersteunt de 'metadata_csum'-functie niet.\n"
 
-#: misc/mke2fs.c:2100
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "De Hurd ondersteunt de 'ea_inode'-functie niet.\n"
 
-#: misc/mke2fs.c:2110
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "tijdens bepalen van de hardware-sectorgrootte"
 
-#: misc/mke2fs.c:2116
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "tijdens bepalen van de fysieke sectorgrootte"
 
-#: misc/mke2fs.c:2148
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "tijdens instellen van de blokgrootte; te klein voor apparaat\n"
 
-#: misc/mke2fs.c:2153
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Waarschuwing: de gegeven blokgrootte %d is kleiner dan de fysieke sectorgrootte %d van het apparaat\n"
 
-#: misc/mke2fs.c:2177
+#: misc/mke2fs.c:2206
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5841,7 +5979,7 @@
 "%s: De grootte (0x%llx blokken) van apparaat %s kan niet uitgedrukt\n"
 "    worden in 32 bits bij een blokgrootte van %d.\n"
 
-#: misc/mke2fs.c:2191
+#: misc/mke2fs.c:2220
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5850,87 +5988,92 @@
 "%s: De grootte (0x%llx blokken) van apparaat %s is te groot om\n"
 "    een bestandssysteem aan te kunnen maken met blokgrootte %d.\n"
 
-#: misc/mke2fs.c:2213
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "Lijst met bestandssysteemsoorten voor mke2fs.conf: "
 
-#: misc/mke2fs.c:2220
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr "Extra functies worden niet ondersteund op een bestandssysteem van versie 0.\n"
 
-#: misc/mke2fs.c:2228
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr "Schaarse superblokken zijn niet mogelijk op een bestandssysteem van versie 0.\n"
 
-#: misc/mke2fs.c:2238
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr "Een journal is niet mogelijk op een bestandssysteem van versie 0.\n"
 
-#: misc/mke2fs.c:2251
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "ongeldig percentage gereserveerde blokken: %lf"
 
 # XXX  option should '-O extent', singular
-#: misc/mke2fs.c:2268
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr ""
 "Extents MOETEN ingeschakeld zijn voor een 64-bits bestandssysteem.\n"
 "Geef optie '-O extent' om dit te doen.\n"
 
-#: misc/mke2fs.c:2288
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "De clustergrootte mag niet kleiner zijn dan de blokgrootte.\n"
 
-#: misc/mke2fs.c:2294
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "het opgeven van een clustergrootte vereist de 'bigalloc'-functie"
 
-#: misc/mke2fs.c:2314
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "Waarschuwing: kan logische schijfopbouw van %s niet verkrijgen.\n"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "Uitlijning van %s is %lu bytes verschoven.\n"
 
-#: misc/mke2fs.c:2319
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr ""
 "Dit kan zeer slechte prestaties tot gevolg hebben;\n"
 "(her)partitionering wordt aanbevolen.\n"
 
-#: misc/mke2fs.c:2340
+#: misc/mke2fs.c:2363
+#, 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:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "Blokken van %d bytes zijn te groot voor dit systeem (max %d)."
 
-#: misc/mke2fs.c:2344
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr ""
 "Waarschuwing: blokken van %d bytes zijn te groot voor dit systeem,\n"
 "het maximum is %d -- maar 'mke2fs' wordt gedwongen uitgevoerd.\n"
 
-#: misc/mke2fs.c:2352
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Suggestie: Gebruik Linux-kernel 3.18 of nieuwer voor verbeterde stabiliteit van de controlesomfuncties op metagegevens en journal.\n"
 
-#: misc/mke2fs.c:2398
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
-msgstr ""
+msgstr "Onbekende bestandsnaamcodering uit profile: %s"
 
-#: misc/mke2fs.c:2409
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
-msgstr ""
+msgstr "Onbekende coderingsvlaggen uit profile: %s"
 
-#: misc/mke2fs.c:2434
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5940,24 +6083,16 @@
 "\n"
 msgstr ""
 
-#: misc/mke2fs.c:2449
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "inodes van %d bytes zijn te klein voor projectquota"
 
-#: misc/mke2fs.c:2465
-msgid ""
-"The encrypt and casefold features are not compatible.\n"
-"They can not be both enabled simultaneously.\n"
-msgstr ""
-"De functies 'encrypt' en 'casefold' gaan niet samen.\n"
-"Ze kunnen niet beide ingeschakeld worden.\n"
-
-#: misc/mke2fs.c:2480
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "Kan 'bigalloc'-functie niet ondersteunen zonder 'extents'-functie"
 
-#: misc/mke2fs.c:2487
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -5965,51 +6100,51 @@
 "De functies 'resize_inode' en 'meta_bg' gaan niet samen.\n"
 "Ze kunnen niet beide ingeschakeld worden.\n"
 
-#: misc/mke2fs.c:2495
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
-"\n"
-"Waarschuwing: de 'bigalloc'-functie is nog in ontwikkeling.\n"
-"Zie https://ext4.wiki.kernel.org/index.php/Bigalloc voor meer informatie.\n"
-"\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr "het reserveren van blokken voor bestandssysteemvergroting wordt niet ondersteund op een niet-schaars bestandssysteem"
 
-#: misc/mke2fs.c:2516
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "teller van blokken-per-groep ligt buiten het toegestane bereik"
 
-#: misc/mke2fs.c:2538
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "De functie 'flex_bg' is niet ingeschakeld, dus de metagroepgrootte mag niet opgegeven worden"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "ongeldige inode-grootte %d (min %d / max %d)"
 
-#: misc/mke2fs.c:2565
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "inodes van %d bytes zijn te klein voor inline gegevens -- geef een grotere grootte op"
 
-#: misc/mke2fs.c:2580
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "128-byte inodes kunnen geen datums voorbij 2038 aan -- zij worden ontraden\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "te veel inodes (%llu) -- inodeverhouding verhogen?"
 
-#: misc/mke2fs.c:2587
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "te veel inodes (%llu) -- geef minder dan 2^32 op"
 
-#: misc/mke2fs.c:2601
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6017,70 +6152,74 @@
 "\tor lower inode count (-N).\n"
 msgstr ""
 "De inode-ruimte (inode-grootte %u * aantal_inodes %u)\n"
-"is te groot voor een bestandssysteem met %llu blokken --\n"
-"   geef een hogere bytes-per-inodeverhouding op (-i),\n"
-"   of verklein het aantal inodes (-N).\n"
+"   is te groot voor een bestandssysteem met %llu blokken --\n"
+"   geef een hogere bytes-per-inodeverhouding op (met -i),\n"
+"   of verklein het aantal inodes (met -N).\n"
 
-#: misc/mke2fs.c:2788
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
 msgstr "Verwerpen van blokken: "
 
-#: misc/mke2fs.c:2804
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "is mislukt - "
 
-#: misc/mke2fs.c:2863
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "tijdens initialiseren van quota-context"
 
-#: misc/mke2fs.c:2870
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "tijdens schrijven van quota-inodes"
 
-#: misc/mke2fs.c:2895
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "onjuist foutengedrag gegeven in profile - %s"
 
-#: misc/mke2fs.c:2971
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "onvoldoende geheugen in android_sparse_params()"
 
-#: misc/mke2fs.c:2985
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "tijdens aanmaken van superblok"
 
-#: misc/mke2fs.c:3001
+#: misc/mke2fs.c:3065
 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:3008
+#: misc/mke2fs.c:3072
 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:3016
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "De 'metadata_csum_seed'-functie vereist de 'metadata_csum'-functie.\n"
 
-#: misc/mke2fs.c:3040
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "Verwerping is gelukt en zal nullen retourneren -- wissen van inode-tabel wordt overgeslagen\n"
 
 # XXX  uppercase OS
-#: misc/mke2fs.c:3139
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "onbekend besturingssysteem: %s"
 
-#: misc/mke2fs.c:3202
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
 msgstr "Reserveren van groepstabellen: "
 
-#: misc/mke2fs.c:3210
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "tijdens reserveren van bestandssysteemtabellen"
 
-#: misc/mke2fs.c:3219
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "tijdens het demarkeren van slechte blokken"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6088,30 +6227,34 @@
 "\n"
 "    tijdens converteren van subcluster-bitkaart"
 
-#: misc/mke2fs.c:3225
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "tijdens berekenen van overhead"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s kan verder beschadigd raken door het herschrijven van het superblok\n"
 
-#: misc/mke2fs.c:3266
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "tijdens nulmaken van blok %llu aan het eind van het bestandssysteem"
 
-#: misc/mke2fs.c:3279
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr "tijdens reserveren van uitbreidingsblokken"
 
-#: misc/mke2fs.c:3291 misc/tune2fs.c:1492
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "journal"
 
-#: misc/mke2fs.c:3303
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Toevoegen van journal aan apparaat %s: "
 
-#: misc/mke2fs.c:3310
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
@@ -6120,21 +6263,21 @@
 "\n"
 "    tijdens toevoegen van journal aan apparaat %s"
 
-#: misc/mke2fs.c:3315 misc/mke2fs.c:3344 misc/mke2fs.c:3382
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1521 misc/tune2fs.c:1540
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "voltooid\n"
 
-#: misc/mke2fs.c:3321
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "Aanmaken van journal wordt overgeslagen wegens optie '-S'.\n"
 
-#: misc/mke2fs.c:3331
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Aanmaken van journal (%u blokken): "
 
-#: misc/mke2fs.c:3340
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6142,7 +6285,7 @@
 "\n"
 "    tijdens aanmaken van journal"
 
-#: misc/mke2fs.c:3352 misc/tune2fs.c:1133
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6150,30 +6293,30 @@
 "\n"
 "Fout tijdens inschakelen van MMP (bescherming tegen meervoudige aankoppelingen)."
 
-#: misc/mke2fs.c:3357
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr ""
 "Bescherming tegen meervoudige aankoppelingen is ingeschakeld\n"
 "met een bijwerkingsinterval van %d seconden.\n"
 
-#: misc/mke2fs.c:3373
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "Kopiëren van bestanden naar apparaat: "
 
-#: misc/mke2fs.c:3379
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
 msgstr "tijdens bevolken van bestandssysteem"
 
-#: misc/mke2fs.c:3386
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr "Schrijven van superblokken en bestandssysteem-metagegevens: "
 
-#: misc/mke2fs.c:3393
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "tijdens schrijven en sluiten van het bestandssysteem"
 
-#: misc/mke2fs.c:3396
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6186,26 +6329,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "tijdens nulmaken van blok %llu voor enorm bestand"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Partitiepositie van %llu (%uK) blokken is niet compatibel met clustergrootte %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Enorme bestanden worden nulgemaakt.\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Aanmaken van %lu enorm(e) bestand(en) "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "met elk %llu blokken"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "tijdens aanmaken van enorm bestand %lu"
@@ -6250,7 +6393,7 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s: kop=%3d sec=%3d cil=%4d   begin=%8d grootte=%8lu einde=%8d\n"
 
-#: misc/tune2fs.c:119
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
@@ -6258,15 +6401,15 @@
 "\n"
 "Deze bewerking vereist een vers-gecontroleerd bestandssysteem.\n"
 
-#: misc/tune2fs.c:121
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "Controleer het bestandssysteem met 'e2fsck -f'.\n"
 
-#: misc/tune2fs.c:123
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "Controleer het bestandssysteem met 'e2fsck -fD'.\n"
 
-#: misc/tune2fs.c:136
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6288,31 +6431,31 @@
 "          [-T tijdstip_van_laatste_controle] [-u gebruiker]\n"
 "          [-U UUID] [-z ongedaanmakenbestand]  apparaat\n"
 
-#: misc/tune2fs.c:223
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "Geen journal-superblok gevonden!\n"
 
-#: misc/tune2fs.c:281
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "tijdens openen van extern journal"
 
-#: misc/tune2fs.c:287 misc/tune2fs.c:2804
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s: is geen journal-apparaat.\n"
 
-#: misc/tune2fs.c:296 misc/tune2fs.c:2813
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
 "is too high (%d).\n"
 msgstr "Het journal-superblok is beschadigd: nr_users is te groot (%d).\n"
 
-#: misc/tune2fs.c:303 misc/tune2fs.c:2820
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr "UUID van bestandssysteem niet gevonden op journal-apparaat.\n"
 
-#: misc/tune2fs.c:327
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6320,69 +6463,69 @@
 "Kan journal-apparaat niet lokaliseren.  Het is NIET verwijderd.\n"
 "Gebruik optie '-f' om het ontbrekende journal-apparaat te verwijderen.\n"
 
-#: misc/tune2fs.c:336
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Journal is verwijderd.\n"
 
-#: misc/tune2fs.c:380
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "tijdens lezen van bitkaarten"
 
-#: misc/tune2fs.c:388
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "tijdens wissen van journal-inode"
 
-#: misc/tune2fs.c:399
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "tijdens schrijven van journal-inode"
 
-#: misc/tune2fs.c:435 misc/tune2fs.c:458 misc/tune2fs.c:471
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(En herstart daarna uw computer!)\n"
 
-#: misc/tune2fs.c:486
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Voer eerst 'e2fsck' uit.  Voer dan 'resize2fs %s %s"
 
 # XXX The next three should be a single msgid.
-#: misc/tune2fs.c:489
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Voer 'resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:495
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "' uit om 64-bit modus in te schakelen.\n"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "' uit om 64-bit modus uit te schakelen.\n"
 
-#: misc/tune2fs.c:1035
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1071
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "Het uitschakelen van bestandssysteemfunctie '%s' is niet mogelijk.\n"
 
-#: misc/tune2fs.c:1077
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "Het inschakelen van bestandssysteemfunctie '%s' is niet mogelijk.\n"
 
-#: misc/tune2fs.c:1086
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6390,7 +6533,7 @@
 "De journal-vlag mag alleen gewist worden wanneer het bestandssysteem\n"
 "ontkoppeld is of aangekoppeld als alleen-lezen.\n"
 
-#: misc/tune2fs.c:1094
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6398,7 +6541,7 @@
 "De herstellingsvlag van het journal is gezet.\n"
 "Voer eerst 'e2fsck' uit, voordat u de journal-vlag wist.\n"
 
-#: misc/tune2fs.c:1112
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6406,7 +6549,7 @@
 "Het inschakelen van bestandssysteemfunctie 'sparse_super' is niet mogelijk voor\n"
 "bestandssystemen met ingeschakelde 'meta_bg'-functievlag.\n"
 
-#: misc/tune2fs.c:1125
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6416,14 +6559,14 @@
 "niet ingeschakeld worden als het bestandssysteem\n"
 "aangekoppeld of alleen-lezen is.\n"
 
-#: misc/tune2fs.c:1143
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr ""
 "Bescherming tegen meervoudige aankoppelingen is ingeschakeld\n"
 "met een bijwerkingsinterval van %d seconden.\n"
 
-#: misc/tune2fs.c:1152
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6432,20 +6575,28 @@
 "niet uitgeschakeld worden als het bestandssysteem\n"
 "alleen-lezen is.\n"
 
-#: misc/tune2fs.c:1160
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "Fout tijdens lezen van bitkaarten\n"
 
-#: misc/tune2fs.c:1169
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "Magisch getal in MMP-blok klopt niet -- verwacht: %x, gevonden: %x\n"
 
-#: misc/tune2fs.c:1174
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
 msgstr "tijdens lezen van MMP-blok"
 
-#: misc/tune2fs.c:1206
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Het uitschakelen van de mappenindex op een bestandssysteem met controlesommen kan enige tijd duren."
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Kan 'dir_index' niet uitschakelen voor een aangekoppeld bestandssysteem!\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
@@ -6453,7 +6604,7 @@
 "Het uitschakelen van bestandssysteemfunctie 'flex_bg' zou het\n"
 "bestandssysteem inconsistent maken.\n"
 
-#: misc/tune2fs.c:1217
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6461,46 +6612,54 @@
 "De 'huge_file'-functievlag mag alleen gewist worden wanneer het\n"
 "bestandssysteem ontkoppeld is of aangekoppeld als alleen-lezen.\n"
 
-#: misc/tune2fs.c:1228
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr "Het inschakelen van controlesommen kan enige tijd duren."
 
-#: misc/tune2fs.c:1230
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
-msgstr "Kan 'metadata_csum' niet inschaklen voor een aangekoppeld bestandssysteem!\n"
+msgstr "Kan 'metadata_csum' niet inschakelen voor een aangekoppeld bestandssysteem!\n"
 
-#: misc/tune2fs.c:1236
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1243
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr ""
 
-#: misc/tune2fs.c:1269
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
 msgstr "Het uitschakelen van controlesommen kan enige tijd duren."
 
-#: misc/tune2fs.c:1271
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
-msgstr "Kan 'metadata_csum' niet uitschaklen voor een aangekoppeld bestandssysteem!\n"
+msgstr "Kan 'metadata_csum' niet uitschakelen voor een aangekoppeld bestandssysteem!\n"
 
-#: misc/tune2fs.c:1334
+#: misc/tune2fs.c:1372
+msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
+msgstr "Kan 'uninit_bg' niet inschakelen voor een aangekoppeld bestandssysteem!\n"
+
+#: misc/tune2fs.c:1387
+msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
+msgstr "Kan 'uninit_bg' niet uitschakelen voor een aangekoppeld bestandssysteem!\n"
+
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "Kan 64-bit-modus niet inschakelen terwijl bestandssysteem aangekoppeld is!\n"
 
-#: misc/tune2fs.c:1344
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "Kan 64-bit-modus niet uitschakelen terwijl bestandssysteem aangekoppeld is!\n"
 
-#: misc/tune2fs.c:1374
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "Kan 'project'-functie niet inschakelen; de inode-grootte is te klein.\n"
 
-#: misc/tune2fs.c:1395
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6508,11 +6667,13 @@
 "\n"
 "Waarschuwing: '^quota'-optie overstijgt '-Q'-argumenten.\n"
 
-#: misc/tune2fs.c:1405
-msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
-msgstr "Kan 'encrypt'-functie niet inschakelen op bestandssystemen met ingeschakelde 'encoding'-functie.\n"
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
+msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
+msgstr ""
+"De casefold-functie mag alleen ingeschakeld worden wanneer het bestandssysteem\n"
+"ontkoppeld is.\n"
 
-#: misc/tune2fs.c:1419
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6520,21 +6681,24 @@
 "Het inschakelen van bestandssysteemfunctie 'metadata_csum_seed' is alleen\n"
 "mogelijk voor bestandssystemen met ingeschakelde 'metadata_csum'-functievlag.\n"
 
-#: misc/tune2fs.c:1437
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
 msgstr ""
+"De UUID is gewijzigd sinds het zetten van 'metadata_csum'.\n"
+"Het bestandssysteem dient ontkoppeld te worden om veilig alle\n"
+"metadata te herschrijven, aangepast aan de nieuwe UUID.\n"
 
-#: misc/tune2fs.c:1443
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr "Het herberekenen van controlesommen kan enige tijd duren."
 
-#: misc/tune2fs.c:1485
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "Het bestandssysteem heeft al een journal.\n"
 
-#: misc/tune2fs.c:1505
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6543,21 +6707,21 @@
 "\n"
 "    tijdens openen van journal op %s\n"
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Aanmaken van journal op apparaat %s: "
 
-#: misc/tune2fs.c:1517
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "tijdens toevoegen van bestandssysteem aan journal op %s"
 
-#: misc/tune2fs.c:1523
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
 msgstr "Aanmaken van journal-inode: "
 
-#: misc/tune2fs.c:1537
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6565,31 +6729,31 @@
 "\n"
 "    tijdens aanmaken van journal-inode"
 
-#: misc/tune2fs.c:1575
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "Kan projectquota niet inschakelen; de inode-grootte is te klein.\n"
 
-#: misc/tune2fs.c:1588
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
 msgstr "tijdens initialiseren van quota-context in ondersteunende bibliotheek"
 
-#: misc/tune2fs.c:1603
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "tijdens bijwerken van quota-grenzen (%d)"
 
-#: misc/tune2fs.c:1611
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "tijdens schrijven van quota-bestand (%d)"
 
-#: misc/tune2fs.c:1629
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "tijdens verwijderen van quota-bestand (%d)"
 
-#: misc/tune2fs.c:1672
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6611,98 +6775,118 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1730
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Kan datum/tijd-specificatie niet ontleden: %s"
 
-#: misc/tune2fs.c:1755 misc/tune2fs.c:1768
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "onjuist aankoppelingenaantal: %s"
 
-#: misc/tune2fs.c:1811
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "onjuiste GID of groepsnaam: %s"
 
 # lib/prange.c:299 lib/prange.c:316
-#: misc/tune2fs.c:1844
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "onjuist interval: %s"
 
-#: misc/tune2fs.c:1873
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "onjuiste verhouding (%s) voor gereserveerde blokken"
 
-#: misc/tune2fs.c:1888
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
 msgstr "Optie '-o' mag slechts één keer gegeven worden"
 
-#: misc/tune2fs.c:1897
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
 msgstr "Optie '-o' mag slechts één keer gegeven worden"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "onjuist aantal gereserveerde blokken: %s"
 
-#: misc/tune2fs.c:1943
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "onjuiste UID of gebruikersnaam: %s"
 
-#: misc/tune2fs.c:1960
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "ongeldige grootte van inode: %s"
 
-#: misc/tune2fs.c:1967
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "Inode-grootte moet een macht van 2 zijn -- niet %s"
 
-#: misc/tune2fs.c:2064
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "MMP-bijwerkingsinterval is te groot: %lu\n"
 
-#: misc/tune2fs.c:2069
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
 msgstr[0] "Het MMP-bijwerkingsinterval is op %lu seconde gezet\n"
 msgstr[1] "Het MMP-bijwerkingsinterval is op %lu seconden gezet\n"
 
-#: misc/tune2fs.c:2078
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Bestandssysteem-foutvlag wordt gezet om een controle af te dwingen.\n"
 
-#: misc/tune2fs.c:2096
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Ongeldig argument van 'stride': %s\n"
 
-#: misc/tune2fs.c:2111
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Ongeldig argument van 'stripe_width': %s\n"
 
-#: misc/tune2fs.c:2126
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Ongeldig hash-algoritme: %s\n"
 
-#: misc/tune2fs.c:2132
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Het standaard-hash-algoritme is op %s (%d) gezet\n"
 
-#: misc/tune2fs.c:2151
+#: misc/tune2fs.c:2252
+#, c-format
+msgid "Cannot alter existing encoding\n"
+msgstr "Kan bestaande codering niet wijzigen\n"
+
+#: misc/tune2fs.c:2258
+#, c-format
+msgid "Invalid encoding: %s\n"
+msgstr "Ongeldige codering: %s\n"
+
+#: misc/tune2fs.c:2264
+#, c-format
+msgid "Setting encoding to '%s'\n"
+msgstr "Codering wordt ingesteld op '%s'\n"
+
+#: misc/tune2fs.c:2288
+#, c-format
+msgid "Setting encoding_flags to '%s'\n"
+msgstr "Coderingsvlaggen wordt ingesteld op '%s'\n"
+
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6720,6 +6904,8 @@
 "\tforce_fsck\n"
 "\ttest_fs\n"
 "\t^test_fs\n"
+"\tencoding=<encoding>\n"
+"\tencoding_flags=<flags>\n"
 msgstr ""
 "\n"
 "Ongeldige optie opgegeven.\n"
@@ -6737,32 +6923,34 @@
 "    force_fsck\n"
 "    test_fs\n"
 "    ^test_fs\n"
+"    encoding=<codering>\n"
+"    encoding_flags=<coderingsvlaggen>\n"
 
-#: misc/tune2fs.c:2622
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
 msgstr "Lezen van inode-bitkaart is mislukt\n"
 
-#: misc/tune2fs.c:2627
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "Lezen van blok-bitkaart is mislukt\n"
 
-#: misc/tune2fs.c:2644 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "te verplaatsen blokken"
 
-#: misc/tune2fs.c:2647
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Reserveren van blok-bitkaart tijdens inode-grootteverandering is mislukt.\n"
 
-#: misc/tune2fs.c:2653
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr "Er is onvoldoende ruimte om de inode-grootte te vergroten. \n"
 
-#: misc/tune2fs.c:2658
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Herplaatsen van blokken tijdens inode-grootteverandering is mislukt. \n"
 
-#: misc/tune2fs.c:2690
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6770,7 +6958,7 @@
 "Fout tijdens veranderen van de inode-grootte.\n"
 "Voer 'e2undo' uit om de bestandssysteemwijzigingen ongedaan te maken. \n"
 
-#: misc/tune2fs.c:2900
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6778,7 +6966,7 @@
 "Als u zeker weet dat het bestandssysteem nergens gebruikt wordt,\n"
 "geef dan deze opdracht: 'tune2fs -f -E clear_mmp {apparaat}'\n"
 
-#: misc/tune2fs.c:2907
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6788,29 +6976,29 @@
 "Probeer het te repareren met:\n"
 "    e2fsck -f %s\n"
 
-#: misc/tune2fs.c:2919
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "Kan een journal-apparaat niet wijzigen.\n"
 
-#: misc/tune2fs.c:2932
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "De inode-grootte is al %lu\n"
 
-#: misc/tune2fs.c:2939
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
 msgstr "Het verkleinen van de inode-grootte wordt niet ondersteund.\n"
 
-#: misc/tune2fs.c:2944
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "ongeldige inode-grootte %lu (max %d)\n"
 
-#: misc/tune2fs.c:2950
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr "Het veranderen van de inode-grootte kan enige tijd duren."
 
-#: misc/tune2fs.c:2998
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6827,57 +7015,57 @@
 "en dan het huidige commando opnieuw geven.  Anders kunnen gemaakte veranderingen\n"
 "overschreven worden door het latere afspelen van het journal.\n"
 
-#: misc/tune2fs.c:3009
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Herstellen van journal.\n"
 
-#: misc/tune2fs.c:3028
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Het maximum aantal aankoppelingen is op %d gezet\n"
 
-#: misc/tune2fs.c:3034
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Het huidige aantal aankoppelingen is op %d gezet\n"
 
-#: misc/tune2fs.c:3039
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Gedrag bij fouten is op %d gezet\n"
 
-#: misc/tune2fs.c:3044
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "GID van gereserveerde blokken is op %lu gezet\n"
 
-#: misc/tune2fs.c:3049
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "interval tussen controles is te groot (%lu)"
 
-#: misc/tune2fs.c:3056
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Interval tussen controles is op %lu seconden gezet\n"
 
-#: misc/tune2fs.c:3063
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Percentage gereserveerde blokken is op %g%% gezet (%llu blokken)\n"
 
-#: misc/tune2fs.c:3069
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "aantal gereserveerde blokken is te groot (%llu)"
 
-#: misc/tune2fs.c:3076
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Het aantal gereserveerde blokken is op %llu gezet\n"
 
-#: misc/tune2fs.c:3081
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -6885,7 +7073,7 @@
 "\n"
 "Het bestandssysteem is al zuinig met superblokken.\n"
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -6895,7 +7083,7 @@
 "Het inschakelen van de 'sparse_super'-functievlag is niet mogelijk voor\n"
 "bestandssystemen met ingeschakelde 'meta_bg'-functievlag.\n"
 
-#: misc/tune2fs.c:3094
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
@@ -6904,7 +7092,7 @@
 "\n"
 "De zuinig-met-superblokkenvlag is aangezet.  %s"
 
-#: misc/tune2fs.c:3099
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -6912,53 +7100,59 @@
 "\n"
 "Het uitzetten van de 'sparse_super'-functievlag is niet mogelijk.\n"
 
-#: misc/tune2fs.c:3107
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "Tijd van laatste controle is op %s gezet\n"
 
-#: misc/tune2fs.c:3113
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "UID van gereserveerde blokken is op %lu gezet\n"
 
-#: misc/tune2fs.c:3145
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Fout in gebruik van 'clear_mmp'.  Het moet samengaan met '-f'.\n"
 
-#: misc/tune2fs.c:3163
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 "De quota-functie mag alleen gewijzigd worden wanneer het bestandssysteem\n"
 "ontkoppeld is.\n"
 
-#: misc/tune2fs.c:3181
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Kan de UUID van dit bestandssysteem niet wijzigen want het heeft de 'stable_inodes'-vlag gezet.\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Een UUID instellen voor dit bestandssyteem kan enige tijd duren."
 
-#: misc/tune2fs.c:3196
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "De UUID mag alleen gewijzigd worden wanneer het bestandssysteem ontkoppeld is.\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr ""
+"Als u alleen kernels gebruikt nieuwer dan versie 4.4, voer dan eerst\n"
+"'tune2fs -O metadata_csum_seed' uit en herhaal dan dit commando.\n"
 
-#: misc/tune2fs.c:3229
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Onjuiste UUID-indeling\n"
 
-#: misc/tune2fs.c:3245
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "Het journal-superblok moet bijgewerkt worden.\n"
 
-#: misc/tune2fs.c:3267
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr ""
 "De inode-grootte mag alleen gewijzigd worden wanneer het bestandssysteem\n"
 "ontkoppeld is.\n"
 
-#: misc/tune2fs.c:3274
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -6966,61 +7160,61 @@
 "Het veranderen van de inode-grootte is niet mogelijk voor\n"
 "bestandssystemen met ingeschakelde 'flex_bg'-functievlag.\n"
 
-#: misc/tune2fs.c:3292
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "De inode-groote is op %lu gezet\n"
 
-#: misc/tune2fs.c:3296
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
 msgstr "Het veranderen van de inode-grootte is mislukt. \n"
 
-#: misc/tune2fs.c:3310
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "De 'stride'-lengte is op %d gezet\n"
 
-#: misc/tune2fs.c:3315
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "De 'stripe'-breedte is op %d gezet\n"
 
-#: misc/tune2fs.c:3322
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "De uitgebreide standaard aankoppelingsopties zijn op '%s' gezet\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
 msgstr "<verdergaand>\n"
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "Toch doorgaan? (anders wordt na %d seconden doorgegaan) (j,N) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
 msgstr "Toch doorgaan? (j,N) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "'mke2fs' wordt gedwongen uitgevoerd.  Hoop dat /etc/mtab onjuist is.\n"
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "zal hier geen %s maken!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "'mke2fs' wordt gedwongen uitgevoerd.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr "Kan geen geheugen reserveren om journal-opties te ontleden!\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -7029,7 +7223,7 @@
 "\n"
 "Kan geen journal-apparaat vinden dat overeenkomt met %s\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7059,7 +7253,7 @@
 "De grootte van het journal is minimaal 1024 en maximaal 10240000 blokken.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7067,26 +7261,26 @@
 "\n"
 "Bestandssysteem is te klein voor een journal.\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"De gevraagde journal-afmeting is %d blokken; maar deze dient\n"
+"De totale gevraagde journal-afmeting is %d blokken; maar deze dient\n"
 "tussen de 1024 en de 10.240.000 blokken te liggen.  Gestopt.\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"Journal-afmeting is te groot voor bestandssysteem.\n"
+"De totale journal-afmeting is te groot voor het bestandssysteem.\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7229,11 +7423,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Gebruik:  %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# (debug) Extent dump:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr "# (debug)\tNum=%llu Size=%llu, Cursor=%llu, Sorted=%llu\n"
@@ -7290,17 +7484,17 @@
 "de dwangoptie als u toch door wilt gaan.\n"
 "\n"
 
-#: resize/main.c:366
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "tijdens openen van %s"
 
-#: resize/main.c:374
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "tijdens opvragen van status van %s"
 
-#: resize/main.c:451
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7309,30 +7503,34 @@
 "Voer eerst 'e2fsck -f %s' uit.\n"
 "\n"
 
-#: resize/main.c:470
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Geschatte minimum grootte van het bestandssysteem: %llu\n"
 
-#: resize/main.c:507
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "Ongeldige nieuwe grootte: %s\n"
 
-#: resize/main.c:526
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "Nieuwe grootte is te groot om uitgedrukt te kunnen worden in 32 bits.\n"
 
-#: resize/main.c:534
+#: resize/main.c:560
+msgid "New size results in too many block group descriptors.\n"
+msgstr "Nieuwe grootte resulteert in te veel blokgroepbeschrijvers.\n"
+
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "Nieuwe grootte is kleiner dan minimum (%llu).\n"
 
-#: resize/main.c:540
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Ongeldige lengte voor 'stride'"
 
-#: resize/main.c:564
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7343,27 +7541,27 @@
 "U vroeg om een nieuwe grootte van %llu blokken.\n"
 "\n"
 
-#: resize/main.c:571
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Kan 64-bit-functie niet in- en uitschakelen.\n"
 
-#: resize/main.c:575
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "Kan 64-bit-functie niet wijzigen op een bestandssysteem dat groter is dan 2^32 blokken.\n"
 
-#: resize/main.c:581
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "Kan 64-bit-functie niet wijzigen terwijl bestandssysteem aangekoppeld is.\n"
 
-#: resize/main.c:587
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Schakel met 'tune2fs' de extents-functie in alvorens de 64bit-functie in te schakelen.\n"
 
-#: resize/main.c:593
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7372,37 +7570,42 @@
 "Het bestandssysteem is al %llu blokken (van %dK) groot.  Er is niets te doen!\n"
 "\n"
 
-#: resize/main.c:600
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "Het bestandssysteem is al 64-bit.\n"
 
-#: resize/main.c:605
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "Het bestandssysteem is al 32-bit.\n"
 
-#: resize/main.c:613
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Kan dit bestandssysteem niet krimpen want het heeft de 'stable_inodes'-vlag gezet.\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Converteren van bestandssysteem naar 64-bit.\n"
 
-#: resize/main.c:615
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Converteren van bestandssysteem naar 32-bit.\n"
 
-#: resize/main.c:617
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "Van grootte veranderen van bestandssysteem op %s naar %llu blokken (van %dK).\n"
 
-#: resize/main.c:626
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "tijdens veranderen van de grootte van %s"
 
-#: resize/main.c:629
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7411,7 +7614,7 @@
 "Voer 'e2fsck -fy %s' uit om het bestandssysteem\n"
 "te repareren na de afgebroken grootteverandering.\n"
 
-#: resize/main.c:635
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7420,7 +7623,7 @@
 "Het bestandssysteem op %s is nu %llu blokken (van %dK) groot.\n"
 "\n"
 
-#: resize/main.c:650
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "tijdens inkorten van %s"
@@ -7481,54 +7684,54 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "Uitvoeren van live verandering van %s naar %llu blokken (van %dK).\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Tijdens uitbreiden van de laatste groep"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Tijdens toevoegen van groep #%d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr ""
 "Bestandssysteem op %s is aangekoppled op %s;\n"
 "op dit systeem is live vergroten/verkleinen niet mogelijk.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "aantal inodes (%llu) moet kleiner zijn dan %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "gereserveerde blokken"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "blokken voor metagegevens"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "nieuwe metablokken"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "Zou nooit mogen gebeuren: geen superblok in laatste 'super_sparse' blokgroep!\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "Zou nooit mogen gebeuren: onverwachte 'old_desc' in 'super_sparse' blokgroep!\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Zou nooit mogen gebeuren: de 'resize'-inode is beschadigd!\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.3"
-msgstr "EXT2FS-bibliotheek  versie 1.45.3"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "EXT2FS-bibliotheek  versie 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8247,6 +8450,22 @@
 msgid "Inode containing extended attribute value is corrupted"
 msgstr "Inode met uitgebreidkenmerkwaarde is beschadigd"
 
+#: lib/ext2fs/ext2_err.c:190
+msgid "Group descriptors not loaded"
+msgstr "Groepsbeschrijvers zijn niet geladen"
+
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "De interne 'ext2_filsys' gegevensstructuur lijkt beschadigd te zijn"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "Cyclische lus gevonden in extent-boom"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "Bewerking wordt niet ondersteund op een extern journal"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Profile  versie 0.0"
@@ -8372,47 +8591,37 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Ongeldig magisch getal in 'profile_file_data_t'"
 
-#: lib/support/plausible.c:118
+#: lib/support/plausible.c:119
 #, c-format
-msgid "\tlast mounted on %s on %s"
-msgstr "\tlaatst aangekoppeld op %s op %s"
+msgid "\tlast mounted on %.*s on %s"
+msgstr "\tlaatst aangekoppeld op %.*s op %s"
 
-#: lib/support/plausible.c:121
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tlaatst aangekoppeld op %s"
 
-#: lib/support/plausible.c:124
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\taangemaakt op %s"
 
-#: lib/support/plausible.c:127
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tlaatst gewijzigd op %s"
 
-#: lib/support/plausible.c:161
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Er is een %s-partitietabel gevonden in %s\n"
 
-#: lib/support/plausible.c:191
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "Bestand %s bestaat niet en er is geen grootte opgegeven.\n"
-
-#: lib/support/plausible.c:199
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Aanmaken van normaal bestand %s\n"
-
-#: lib/support/plausible.c:202
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Kan %s niet openen: %s\n"
 
-#: lib/support/plausible.c:205
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8420,26 +8629,56 @@
 "\n"
 "Het apparaat bestaat blijkbaar niet; heeft u het juist opgegeven?\n"
 
-#: lib/support/plausible.c:227
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s is geen blok-apparaat.\n"
 
-#: lib/support/plausible.c:249
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s bevat een %s-bestandssysteem met label '%s'\n"
 
-#: lib/support/plausible.c:252
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s bevat een %s-bestandssysteem\n"
 
-#: lib/support/plausible.c:276
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s bevat '%s'-gegevens\n"
 
+#~ msgid ""
+#~ "\n"
+#~ "Warning: the bigalloc feature is still under development\n"
+#~ "See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Waarschuwing: de 'bigalloc'-functie is nog in ontwikkeling.\n"
+#~ "Zie https://ext4.wiki.kernel.org/index.php/Bigalloc voor meer informatie.\n"
+#~ "\n"
+
+#~ msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+#~ msgstr "Gebruik:  %s [-F] [-I inodebufferblokken] apparaat\n"
+
+#~ msgid "while trying to open '%s'"
+#~ msgstr "tijdens openen van '%s'"
+
+#~ msgid "%u inodes scanned.\n"
+#~ msgstr "%u inodes gescand.\n"
+
+#~ msgid ""
+#~ "The encrypt and casefold features are not compatible.\n"
+#~ "They can not be both enabled simultaneously.\n"
+#~ msgstr ""
+#~ "De functies 'encrypt' en 'casefold' gaan niet samen.\n"
+#~ "Ze kunnen niet beide ingeschakeld worden.\n"
+
+#~ msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
+#~ msgstr "Kan 'encrypt'-functie niet inschakelen op bestandssystemen met ingeschakelde 'encoding'-functie.\n"
+
 #~ msgid "while opening directory \"%s\""
 #~ msgstr "tijdens openen van map \"%s\""
 
diff --git a/po/pl.po b/po/pl.po
index ee80b8a..b98b550 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,7 +1,7 @@
 # Polish translation for e2fsprogs.
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2021 Theodore Tso (msgids)
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2021, 2022 Theodore Tso (msgids)
 # This file is distributed under the same license as the e2fsprogs package.
-# Jakub Bogusz <qboosh@pld-linux.org>, 2002-2021.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2002-2022.
 #
 #. 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,
@@ -74,10 +74,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs 1.46.0\n"
+"Project-Id-Version: e2fsprogs 1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-01-28 13:42-0500\n"
-"PO-Revision-Date: 2021-02-02 20:30+0100\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-13 18:45+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -87,7 +87,7 @@
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Wadliwy blok %u poza zakresem - zignorowany.\n"
@@ -100,30 +100,30 @@
 msgid "while reading the bad blocks inode"
 msgstr "podczas odczytu i-węzła wadliwych bloków"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:692 misc/dumpe2fs.c:696 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2881 misc/tune2fs.c:2980 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "podczas próby otworzenia %s"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "podczas próby popen '%s'"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "podczas wczytywania z pliku listy wadliwych bloków"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "podczas uaktualniania i-węzła wadliwego bloku"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Uwaga: znaleziono niedopuszczalny blok %u w i-węźle wadliwego bloku. Wyczyszczono.\n"
@@ -202,64 +202,36 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "ioctl BLKFLSBUF nie obsługiwany! Nie można opróżnić buforów.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Składnia: %s [-F] [-I bloki_bufora_i-węzłów] urządzenie\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "podczas otwierania %s w celu opróżnienia"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:385
-#, c-format
-msgid "while trying to flush %s"
-msgstr "podczas próby opróżnienia %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "podczas próby otwarcia '%s'"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "podczas otwierania obrazu i-węzłów"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "podczas pobierania następnego i-węzła"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "Przeszukano i-węzłów: %u.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "odczyt superbloku kroniki\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: nie znaleziono poprawnego superbloku kroniki\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: kronika za krótka\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3787
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: niepoprawne bloki fast commit\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: odtwarzanie z kroniki\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: odtworzenie z kroniki nie zostanie wykonane w trybie tylko do odczytu\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "podczas próby ponownego otwarcia %s"
@@ -428,56 +400,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<zarezerwowany i-węzeł 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "plik zwykły"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "katalog"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "urządzenie znakowe"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "urządzenie blokowe"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "nazwany potok"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "dowiązanie symboliczne"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "gniazdo"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "nieznany rodzaj pliku typu 0%o"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "blok pośredni"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "blok podwójnie pośredni"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "blok potrójnie pośredni"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "blok tłumaczący"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "blok #"
 
@@ -497,117 +469,125 @@
 msgid "unknown quota type"
 msgstr "nieznany rodzaj limitów"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "wielokrotnie zadeklarowana mapa i-węzłów"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "błąd wewnętrzny; nie można znaleźć dup_blk dla %llu\n"
 
-#: e2fsck/pass1b.c:956
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "powrót z clone_file_block"
 
-#: e2fsck/pass1b.c:980
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "błąd wewnętrzny: nie można znaleźć rekordu bloku EA dla %llu"
 
-#: e2fsck/pass1b.c:992
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "Błąd wewnętrzny: nie można znaleźć rekordu i-węzła EA dla %u"
 
-#: e2fsck/pass1.c:358
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "podczas haszowania wpisu z e_value_inum = %u"
 
-#: e2fsck/pass1.c:776 e2fsck/pass2.c:1018
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr "odczytu bloku katalogu"
 
-#: e2fsck/pass1.c:1175
+#: e2fsck/pass1.c:1169
 msgid "getting next inode from scan"
 msgstr "pobierania następnego i-węzła"
 
-#: e2fsck/pass1.c:1227
+#: e2fsck/pass1.c:1221
 msgid "in-use inode map"
 msgstr "mapa używanych i-węzłów"
 
-#: e2fsck/pass1.c:1238
+#: e2fsck/pass1.c:1232
 msgid "directory inode map"
 msgstr "mapa i-węzłów katalogów"
 
-#: e2fsck/pass1.c:1248
+#: e2fsck/pass1.c:1242
 msgid "regular file inode map"
 msgstr "mapa i-węzłów zwykłych plików"
 
-#: e2fsck/pass1.c:1257 misc/e2image.c:1282
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
 msgid "in-use block map"
 msgstr "mapa używanych bloków"
 
-#: e2fsck/pass1.c:1266
+#: e2fsck/pass1.c:1260
 msgid "metadata block map"
 msgstr "mapa bloków metadanych"
 
-#: e2fsck/pass1.c:1328
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "mapa casefold i-węzłów"
+
+#: e2fsck/pass1.c:1336
 msgid "opening inode scan"
 msgstr "rozpoczynania przeszukiwania i-węzłów"
 
-#: e2fsck/pass1.c:2083
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
 msgstr "Przebieg 1"
 
-#: e2fsck/pass1.c:2144
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "odczytu niebezpośrednich bloków i-węzła %u"
 
-#: e2fsck/pass1.c:2195
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
 msgstr "błędna mapa i-węzłów"
 
-#: e2fsck/pass1.c:2253
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
 msgstr "i-węzeł w mapie wadliwych bloków"
 
-#: e2fsck/pass1.c:2273
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
 msgstr "mapa i-węzłów imagic"
 
-#: e2fsck/pass1.c:2304
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr "wielokrotnie zadeklarowana mapa bloków"
 
-#: e2fsck/pass1.c:2429
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "mapa bloków rozszerzonych atrybutów"
 
-#: e2fsck/pass1.c:3685
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): oczekiwano %6lu, otrzymano phys %6lu (blkcnt %lld)\n"
 
-#: e2fsck/pass1.c:4105
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "bitmapa bloków"
 
-#: e2fsck/pass1.c:4111
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "bitmapa i-węzłów"
 
-#: e2fsck/pass1.c:4117
+#: e2fsck/pass1.c:4162
 msgid "inode table"
 msgstr "tablica i-węzłów"
 
-#: e2fsck/pass2.c:312
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr "Przebieg 2"
 
-#: e2fsck/pass2.c:1091 e2fsck/pass2.c:1266
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "NLS jest uszkodzony."
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "Nie można kontynuować."
 
@@ -623,7 +603,7 @@
 msgid "Pass 3"
 msgstr "Przebieg 3"
 
-#: e2fsck/pass3.c:350
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr "bitmapa wykrywania pętli i-węzłów"
 
@@ -1546,7 +1526,7 @@
 msgstr "Uwaga: nie można zapisać @bu %b do %s: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:726 e2fsck/problem.c:1898
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "@A bitmapy i-węzłów (%N): %m\n"
 
@@ -2061,10 +2041,10 @@
 "@i %i ma powtórzone odwzorowanie @xu\n"
 "\t(@b logiczny %c, @n @b fizyczny %b, długość %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
 #: e2fsck/problem.c:1204
-msgid "@A memory for encrypted @d list\n"
-msgstr "@A pamięci dla listy zaszyfrowanych @dów\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "@A %N bajtów pamięci dla listy zaszyfrowanych i-węzłów\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
 #: e2fsck/problem.c:1209
@@ -2109,15 +2089,21 @@
 "@i EA %N dla i-węzła rodzica %i nie ma flagi EA_INODE.\n"
 " "
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "@i %i ma @x oznaczony jako niezainicjowany przy @bu %c (długość %N). "
+
 #. @-expanded: inode %i has the casefold flag set but is not a directory.  
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1254
 #, c-format
 msgid "@i %i has the casefold flag set but is not a directory.  "
 msgstr "@i %i ma ustawioną flagę casefold, ale nie jest @diem. "
 
 #. @-expanded: directory %p has the casefold flag, but the\n
 #. @-expanded: casefold feature is not enabled.  
-#: e2fsck/problem.c:1253
+#: e2fsck/problem.c:1259
 #, c-format
 msgid ""
 "@d %p has the casefold flag, but the\n"
@@ -2126,13 +2112,25 @@
 "@d %p ma flagę casefold, ale właściwość\n"
 "casefold nie jest włączona. "
 
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "@i %i ma ustawioną flagę szyfrowania, ale brak rozszerzonego atrybutu szyfrowania.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "Szyfrowany @i %i ma uszkodzony @a szyfrowania.\n"
+
 #. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
-#: e2fsck/problem.c:1258
+#: e2fsck/problem.c:1274
 msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
 msgstr "@h %i używa wersji hasza (%N), a powinien używać SipHasha (6)\n"
 
 #. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
-#: e2fsck/problem.c:1263
+#: e2fsck/problem.c:1279
 #, c-format
 msgid "@h %i uses SipHash, but should not.  "
 msgstr "@h %i używa SipHasha, a nie powinien. "
@@ -2140,7 +2138,7 @@
 #. @-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
-#: e2fsck/problem.c:1270
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2152,46 +2150,46 @@
 "Przebieg 1B: Ponowne przeszukiwanie @mch @bów\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "@m @b(i) w i-węźle %i:"
 
-#: e2fsck/problem.c:1293
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Błąd podczas szukania i-węzła (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1299
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "@A bitmapy i-węzłów (inode_dup_map): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1305
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Błąd podczas iteracji po @bach w i-węźle %i (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1310 e2fsck/problem.c:1685
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Błąd podczas poprawiania refcount dla @bu rozszerzonych atrybutów %b (@i %i): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Przebieg 1C: Przeszukiwanie katalogów pod kątem i-węzłów z @mmi @bami\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1326
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Przebieg 1D: Uzgadnianie @mch @bów\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1331
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2200,18 +2198,18 @@
 "  ma %r @mch @bów, dzielonych z %N plikami:\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1337
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (@i #%i, czas modyfikacji %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1342
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<metadane systemu plików>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1347
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2221,7 +2219,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1352
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2229,345 +2227,350 @@
 "Podwójnie zadeklarowane @bi już przepisane lub sklonowane.\n"
 "\n"
 
-#: e2fsck/problem.c:1366
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Nie można sklonować pliku: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1372
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Przebieg 1E: Optymalizacja drzew @xów\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1378
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Nie udało się zoptymalizować drzewa @xów %p (%i): %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1383
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Optymalizacja drzew @xów: "
 
-#: e2fsck/problem.c:1398
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Błąd wewnętrzny: zbut duża głębokość maksymalna drzewa ekstentów (%b; oczekiwana=%c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1403
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "drzewo @xów i-węzła %i (na poziomie %b) mogłoby być krótsze. "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1408
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "drzewo @xów i-węzła %i (na poziomie %b) mogłoby być węższe. "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1415
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Przebieg 2: Sprawdzanie struktury @dów\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1421
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "Błędny numer i-węzła dla '.' w i-węźle @du %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1426
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "@E ma błędny numer i-węzła: %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1431
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "@E ma @D/nie używany @i %Di. "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1436
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "@E @L do '.' "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1441
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "@E wskazuje na @i (%Di) położony w wadliwym @b.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "@E @L do @du %P (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "@E @L do głównego katalogu.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "@E ma niedopuszczalne znaki w nazwie.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1462
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "Brakuje '.' w i-węźle @du %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1468
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "Brakuje '..' w i-węźle @du %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1473
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "Pierwszym @eem '%Dn' (@i=%Di) w i-węźle @du %i (%p) @s '.'\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1478
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "Drugim @eem '%Dn' (@i=%Di) w i-węźle @du %i @s '..'\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1483
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "i_faddr @F %IF, @s zero.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1488
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "i_file_acl @F %If, @s zero.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1493
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "i_size_high @F %Id, @s zero.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1498
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "i_frag @F %N, @s zero.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1503
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "i_fsize @F %N, @s zero.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1508
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "@i %i (%Q) ma błędne uprawnienia (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "@i @du %i, %B, offset %N: @d uszkodzony\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "@i @du %i, %B, offset %N: nazwa pliku zbyt długa\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "@i @du %i ma nie przydzielony %B. "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1529
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "@e @du '.' w i-węźle @du %i nie jest zakończony przez NULL\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1535
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "@e @du '..' w i-węźle @du %i nie jest zakończony przez NULL\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1540
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "@i %i (%Q) jest @Im @vm znakowym.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1545
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "@i %i (%Q) jest @Im @vm @bowym.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "@E jest powielonym @eem '.'.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1555
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "@E jest powielonym @eem '..'.\n"
 
-#: e2fsck/problem.c:1561 e2fsck/problem.c:1925
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Błąd wewnętrzny: nie można znaleźć dir_info dla %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "@E ma rec_len %Dr, @s %N.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "@A struktury icount: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Błąd podczas iteracji po @bach @du: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1583
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Błąd podczas odczytu @b %b @du (@i %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1588
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Błąd podczas zapisu @b %b @du (@i %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "@A nowego @bu @du dla i-węzła %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1600
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Błąd podczas zwalniania i-węzła %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1606
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "@e @du dla '.' w %p (%i) jest duży.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1611
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "@i %i (%Q) jest @Im FIFO.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1616
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "@i %i (%Q) jest @Im gniazdem.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1621
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Ustawiono filetype dla @eu '%Dn' w %p (%i) na %N.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1626
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "@E ma błędny filetype (był %Dt, powinien być %N).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1631
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "@E ma ustawione filetype.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1636
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "@E ma nazwę zerowej długości.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1641
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Dowiązanie symboliczne %Q (@i #%i) jest błędne.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1646
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "@b rozszerzonych atrybutów dla i-węzła %i (%Q) jest błędny (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1651
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr "@f zawiera duże pliki, ale brak flagi LARGE_FILE w @Su.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1656
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "@p i-węźle @du HTREE %d: %B nie ma odwołań\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1661
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "@p i-węźle @du HTREE %d: %B ma podwójne odwołanie\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1666
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "@p i-węźle @du HTREE %d: %B ma błędny minimalny hasz\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1671
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "@p i-węźle @du HTREE %d: %B ma błędny maksymalny hasz\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1676
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "Błędne @h %d (%q). "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "@f zawiera duże katalogi, ale brak flagi LARGE_DIR w @Su.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1680
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "@p i-węźle @du HTREE %d (%q): błędny numer @bu %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1691
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "@p i-węźle @du HTREE %d: główny węzeł jest błędny\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1696
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "@p i-węźle @du HTREE %d: %B ma błędny limit (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1701
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "@p i-węźle @du HTREE %d: %B ma błędny licznik (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1706
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "@p i-węźle @du HTREE %d: %B ma nie uporządkowaną tablicę haszującą\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1711
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "@p i-węźle @du HTREE %d: %B ma błędną głębokość (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1716
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Znaleziono podwójny @E. "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1721
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2579,7 +2582,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1726
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2590,160 +2593,175 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1731
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi @F %N, @s zero.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1736
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "Nieoczekiwany @b w i-węźle @du HTREE %d (%q)\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "@i %Di znaleziony w grupie %g, która ma ustawioną flagę _INONE_UNINIT.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "@i %Di znaleziony w grupie %g obszaru nie używanych i-węzłów.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "i_file_acl_hi @F %N, @s zero.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1757
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "@p i-węźle @du HTREE %d: główny węzeł ma błędną sumę kontrolną.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1763
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "@p i-węźle @du HTREE %d: wewnętrzny węzeł ma błędną sumę kontrolną.\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1768
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "@i @du %i, %B, offset %N: @d nie ma sumy kontrolnej.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1773
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "@i @du %i, %B: @d przechodzi testy, ale ma błędną sumę kontrolną.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1778
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "Rozmiar i-węzła @du wewnętrznego %i (%N) musi być wielokrotnością 4.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Poprawienie rozmiaru i-węzła @du wewnętrznego %i nie powiodło się.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1789
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "Szyfrowany @E jest zbyt krótki.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "Szyfrowany @E odwołuje się do nieszyfrowanego i-węzła %Di.\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "Szyfrowany @E odwołuje się do i-węzła %Di, który ma inną politykę szyfrowania.\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "@E ma niedopuszczalne znaki UTF-8 w nazwie.\n"
+
 #. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1794
+#: e2fsck/problem.c:1831
 msgid "Duplicate filename @E found.  "
 msgstr "Znaleziono podwójną nazwę pliku @E. "
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1801
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Przebieg 3: Sprawdzanie łączności @dów\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "@r jest nie przydzielony. "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1811
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Brak miejsca w @du @l. "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1817
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "Nie podłączony @i @du %i (%p)\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "Nie podłączony @i @du %i (był w %q)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1822
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "Nie znaleziono /@l. "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1827
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "'..' w %Q (%i) jest %P (%j), @s %q (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1833
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "Błędny lub nie istniejący /@l. Nie można podłączyć.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1839
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Nie można rozszerzyć /@l: %m\n"
 
-#: e2fsck/problem.c:1845
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Nie można podłączyć %i: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1851
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Błąd podczas szukania /@l: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1857
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_block: %m podczas próby utworzenia @du /@l\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1863
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_inode: %m podczas próby utworzenia @du /@l\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1869
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_block: %m podczas tworzenia nowego @bu @du\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1875
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_block: %m podczas zapisu @bu @du dla /@l\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1881
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Błąd podczas poprawiania liczby i-węzłów w i-węźle %i\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1887
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2754,7 +2772,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2764,41 +2782,41 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Błąd podczas tworzenia głównego @du (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1910
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Błąd podczas tworzenia @du /@l (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1915
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "@r nie jest @diem; przerwanie.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1920
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Nie można kontynuować bez głównego katalogu.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/@l nie jest @diem (@i=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1936
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/@l ma dane wewnętrzne\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1941
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2809,7 +2827,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1946
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2820,52 +2838,58 @@
 "\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1951
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/@l jest zaszyfrowany\n"
 
-#: e2fsck/problem.c:1958
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "Rekurencyjnie zapętlony @i @du %i (%p)\n"
+
+#: e2fsck/problem.c:2002
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Przebieg 3A: Optymalizacja katalogów\n"
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Tworzenie iteratora dirs_to_hash nie powiodło się: %m\n"
 
-#: e2fsck/problem.c:1969
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Optymalizacja katalogu %q (%d) nie powiodła się: %m\n"
 
-#: e2fsck/problem.c:1974
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Optymalizacja katalogów: "
 
-#: e2fsck/problem.c:1991
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Przebieg 4: Sprawdzanie liczników odwołań\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "@u @i @z %i. "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:2003
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "@u @i %i\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:2008
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "licznik odwołań i-węzła %i wynosi %Il, @s %N. "
 
 #. @-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
-#: e2fsck/problem.c:2012
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2876,151 +2900,151 @@
 "inode_link_info[%i]=%N, inode.i_links_count=%Il. Powinny być takie same!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "Licznik odwołań i-węzła rozszerzonych atrybutów %i wynosi %N, @s %n. "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:2024
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "@d przekracza maksymalną liczbę dowiązań, ale brak cechy DIR_NLINK w @Su.\n"
 
 #. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
-#: e2fsck/problem.c:2029
+#: e2fsck/problem.c:2073
 msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
 msgstr "Licznik odwołań i-węzła @du %i ustawiony na przepełnienie, a powinien być równy %N. "
 
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2036
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Przebieg 5: Sprawdzanie sumarycznych informacji o @gch\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr "Wypełnienie na końcu bitmapy i-węzłów nie jest ustawione. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2046
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
 msgstr "Wypełnienie na końcu bitmapy @bów nie jest ustawione. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2051
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "Różnice bitmapy @bów: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "Różnice bitmapy i-węzłów: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2095
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Błędna liczba wolnych i-węzłów dla grupy #%g (%i, naliczono %j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Błędna liczba katalogów dla grupy #%g (%i, naliczono %j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2105
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Błędna liczba wolnych i-węzłów (%i, naliczono %j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2110
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Błędna liczba wolnych @bów dla grupy #%g (%b, naliczono %c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2115
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Błędna liczba wolnych @bów (%b, naliczono %c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2120
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr "BŁĄD PROGRAMU: końce bitmap systemu plików (#%N) (%b, %c) nie zgadzają się z policzonymi końcami bitmap (%i, %j)\n"
 
-#: e2fsck/problem.c:2126
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Błąd wewnętrzny: fałszywy koniec bitmapy (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2132
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Błąd podczas kopiowania w zastępczej bitmapie i-węzłów: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2138
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Błąd podczas kopiowania w zastępczej bitmapie @bów: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2168
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "@b(i) grupy %g są używane, ale @g ma flagę BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2174
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "i-węzły grupy %g są używane, ale @g ma flagę INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2180
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "@B i-węzłów grupy %g nie zgadza się z sumą kontrolną.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2186
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "@B @bów grupy %g nie zgadza się z sumą kontrolną.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2193
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "Odtworzyć kronikę"
 
-#: e2fsck/problem.c:2198
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "Uaktualnić informacje o limitach typu %N"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2204
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Błąd podczas ustawiania informacji o sumie kontrolnej grupy bloków: %m\n"
 
-#: e2fsck/problem.c:2210
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Błąd podczas zapisu informacji o systemie plików: %m\n"
 
-#: e2fsck/problem.c:2216
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Błąd podczas zrzucania zapisów na urządzenie przechowujące: %m\n"
 
-#: e2fsck/problem.c:2221
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Błąd podczas zapisu informacji o limitach typu %N: %m\n"
 
-#: e2fsck/problem.c:2384
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Nie obsłużony kod błędu (0x%x)!\n"
 
-#: e2fsck/problem.c:2514 e2fsck/problem.c:2518
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "ZIGNOROWANO"
 
@@ -3038,6 +3062,10 @@
 msgid "size of inode=%d\n"
 msgstr "rozmiar i-węzła=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "podczas otwierania obrazu i-węzłów"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "podczas rozpoczynania przeszukiwania i-węzłów"
@@ -3056,15 +3084,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "podczas wywołania ext2fs_adjust_ea_refcount2 dla i-węzła %u"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "Skracanie"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Czyszczenie"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3075,7 +3103,7 @@
 "\t\t[-l|-L plik_wadliwych_bloków] [-C fd] [-j zewn-kronika]\n"
 "\t\t[-E opcje-rozszerzone] [-z plik-undo] urządzenie\n"
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3093,7 +3121,7 @@
 " -c                   Szukanie wadliwych bloków i dodanie ich do listy\n"
 " -f                   Wymuszenie sprawdzenia nawet \"czystego\" systemu plików\n"
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3111,12 +3139,12 @@
 " -L plik_złych_bloków Ustawienie listy wadliwych bloków\n"
 " -z plik_undo         Utworzenie pliku \"undo\" pozwalającego wycofać zmiany\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %u/%u plików (%0d.%d%% nieciągłych), %llu/%llu bloków\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3134,7 +3162,7 @@
 "\n"
 "%12u użytych i-węzłów (%2.2f%% z %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
@@ -3142,7 +3170,7 @@
 msgstr[1] "%12u pliki nieciągłe (%0d.%d%%)\n"
 msgstr[2] "%12u plików nieciągłych (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
@@ -3150,16 +3178,16 @@
 msgstr[1] "%12u katalogi nieciągłe (%0d.%d%%)\n"
 msgstr[2] "%12u katalogów nieciągłych (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             liczba i-węzłów z blokami ind/dind/tind: %u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr "             Histogram głębokości ekstentów: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
@@ -3167,7 +3195,7 @@
 msgstr[1] "%12llu użyte bloki (%2.2f%% z %llu)\n"
 msgstr[2] "%12llu użytych bloków (%2.2f%% z %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
@@ -3175,7 +3203,7 @@
 msgstr[1] "%12u wadliwe bloki\n"
 msgstr[2] "%12u wadliwych bloków\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
@@ -3183,7 +3211,7 @@
 msgstr[1] "%12u duże pliki\n"
 msgstr[2] "%12u dużych plików\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3201,7 +3229,7 @@
 "\n"
 "%12u zwykłych plików\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
@@ -3209,7 +3237,7 @@
 msgstr[1] "%12u katalogi\n"
 msgstr[2] "%12u katalogów\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
@@ -3217,7 +3245,7 @@
 msgstr[1] "%12u pliki urządzeń znakowych\n"
 msgstr[2] "%12u plików urządzeń znakowych\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
@@ -3225,7 +3253,7 @@
 msgstr[1] "%12u pliki urządzeń blokowych\n"
 msgstr[2] "%12u plików urządzeń blokowych\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
@@ -3233,7 +3261,7 @@
 msgstr[1] "%12u potoki\n"
 msgstr[2] "%12u potoków\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
@@ -3241,7 +3269,7 @@
 msgstr[1] "%12u dowiązania\n"
 msgstr[2] "%12u dowiązań\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
@@ -3249,7 +3277,7 @@
 msgstr[1] "%12u dowiązania symboliczne"
 msgstr[2] "%12u dowiązań symbolicznych"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
@@ -3257,7 +3285,7 @@
 msgstr[1] " (%u szybkie dowiązania symboliczne)\n"
 msgstr[2] " (%u szybkich dowiązań symbolicznych)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
@@ -3265,7 +3293,7 @@
 msgstr[1] "%12u gniazda\n"
 msgstr[2] "%12u gniazd\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
@@ -3273,33 +3301,33 @@
 msgstr[1] "%12u pliki\n"
 msgstr[2] "%12u plików\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3072 misc/util.c:129
-#: resize/main.c:356
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "podczas sprawdzania, czy %s jest zamontowany."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Uwaga! %s jest zamontowany.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Uwaga! %s jest w użyciu.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s jest zamontowany.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s jest w użyciu.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3307,7 +3335,7 @@
 "Nie można kontynuować, przerwano.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3321,85 +3349,85 @@
 "***POWAŻNE*** uszkodzenie systemu plików.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "Naprawdę kontynuować?"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "sprawdzanie przerwane.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " zawiera system plików z błędami"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " nie był czysto odmontowany"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr " właściwości głównego superbloku różnią się od kopii zapasowej"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " był montowany %u razy bez sprawdzania"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " ma czas ostatniego sprawdzenia systemu plików w przyszłości"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " przetrwał %u dni bez sprawdzania"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr "zignorowano częstotliwość sprawdzania, ustawione jest broken_system_clock\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", wymuszono sprawdzenie.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: czysty, %u/%u plików, %llu/%llu bloków"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr " (sprawdzenie wstrzymane; zasilanie z baterii)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (sprawdzenie po następnym montowaniu)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr "(sprawdzenie za %ld montowań)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "BŁĄD: Nie można otworzyć /dev/null (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Błędna wersja EA.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "Błędny parametr rozmiaru bufora odczytu z wyprzedzeniem.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Nieznana opcja rozszerzona: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3411,15 +3439,15 @@
 "który jest ustawiany znakiem równości ('='). Poprawne opcje rozszerzone to:\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "\tea_ver=<wersja ea (1 lub 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "\treadahead_kb=<rozmiar bufora>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3428,55 +3456,65 @@
 "Błąd składni w pliku konfiguracyjnym e2fsck (%s, linia %d)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Błąd podczas kontroli deskryptora pliku %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr "Błędne informacje dopełniające deskryptora plików"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Można podać tylko jedną z opcji -p/-a, -n lub -y."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "Opcja -t nie jest obsługiwana przez tę wersję e2fsck.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1721 misc/tune2fs.c:2016 misc/tune2fs.c:2034
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Nie udało się rozwiązać '%s'"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr "Opcje -n i -D są niekompatybilne."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr "Opcje -n i -c są niekompatybilne."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr "Opcje -n i -l/-L są niekompatybilne."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Opcje -D i -E fixes_only są niekompatybilne."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Opcje -E bmap2extent i fixes_only są niekompatybilne."
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "podczas otwierania %s w celu opróżnienia"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "podczas próby opróżnienia %s"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "Opcje -c oraz -l/-L nie mogą być podane jednocześnie.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3485,7 +3523,7 @@
 "E2FSCK_JBD_DEBUG \"%s\" nie jest liczbą całkowitą\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3496,16 +3534,16 @@
 "Błędny argument nieliczbowy dla -%c (\"%s\")\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "Przedział MMP to %u sek, a całkowity czas oczekiwania %u sek. Proszę czekać...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "podczas sprawdzania bloku MMP"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3514,13 +3552,13 @@
 "Jeśli system plików nie jest na pewno używany przez żaden system, można uruchomić:\n"
 "'tune2fs -f -E clear_mmp %s'\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "podczas odczytu bloku MMP"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2708 misc/mke2fs.c:2759 misc/tune2fs.c:2798
-#: misc/tune2fs.c:2843 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3531,57 +3569,57 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2748 misc/tune2fs.c:2832
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "podczas próby usunięcia %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2774 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "podczas próby utworzenia pliku cofnięcia (undo)\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Błąd: wersja biblioteki ext2fs jest za stara!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "podczas próby zainicjowania programu"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\tUżywane %s, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "interaktywna naprawa wymaga terminala"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s próba użycia zapasowych bloków...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "Superblok błędny,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Deskryptory grup wyglądają źle..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: %s podczas próby użycia zapasowych bloków"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: powracanie do oryginalnego superbloku\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3591,28 +3629,28 @@
 "(lub superblok systemu plików jest uszkodzony)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "Czy to może jest partycja zerowej długości?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Trzeba mieć dostęp %s do systemu plików lub być rootem\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Zapewne nie istniejące urządzenie lub swap?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "System plików zamontowany lub otwarty na wyłączność przez inny program?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "Zapewne nie istniejące urządzenie?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3620,79 +3658,79 @@
 "Dysk zabezpieczony przed zapisem; można użyć opcji -n aby sprawdzić\n"
 "urządzenie w trybie tylko do odczytu.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: Próba załadowania superbloku mimo błędów...\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr "Potrzeba nowszej wersji e2fsck!"
 
-#: e2fsck/unix.c:1748
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "podczas sprawdzania kroniki dla %s"
 
-#: e2fsck/unix.c:1751
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr "Nie można kontynuować sprawdzania systemu plików"
 
-#: e2fsck/unix.c:1762
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr ""
 "Uwaga: pominięto odtwarzanie z kroniki z powodu sprawdzania w trybie tylko\n"
 "do odczytu.\n"
 
-#: e2fsck/unix.c:1774
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "nie można ustawić flag superbloku na %s\n"
 
-#: e2fsck/unix.c:1780
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Napotkano błąd sumy kontrolnej kroniki w %s\n"
 
-#: e2fsck/unix.c:1784
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Uszkodzona kronika w %s\n"
 
-#: e2fsck/unix.c:1788
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "podczas odtwarzania kroniki dla %s"
 
-#: e2fsck/unix.c:1810
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s ma włączone nie obsługiwane właściwości:"
 
-#: e2fsck/unix.c:1825
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s ma nie obsługiwane kodowanie: %0x\n"
 
-#: e2fsck/unix.c:1875
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: %s podczas odczytu i-węzła wadliwych bloków\n"
 
-#: e2fsck/unix.c:1878
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Nie wróży to dobrze, ale spróbuję kontynuować...\n"
 
-#: e2fsck/unix.c:1918
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Tworzenie kroniki (%d bloków): "
 
-#: e2fsck/unix.c:1928
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr " Wykonano.\n"
 
-#: e2fsck/unix.c:1930
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3700,24 +3738,24 @@
 "\n"
 "*** kronika została zregenerowana ***\n"
 
-#: e2fsck/unix.c:1936
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "przerwano"
 
-#: e2fsck/unix.c:1938
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: e2fsck przerwany.\n"
 
-#: e2fsck/unix.c:1965
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "Restart e2fsck od początku...\n"
 
-#: e2fsck/unix.c:1969
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "podczas resetowania kontekstu"
 
-#: e2fsck/unix.c:2028
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
@@ -3726,12 +3764,12 @@
 "\n"
 "%s: ***** BŁĘDY SYSTEMU PLIKÓW NAPRAWIONE *****\n"
 
-#: e2fsck/unix.c:2030
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: System plików został zmodyfikowany.\n"
 
-#: e2fsck/unix.c:2034 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3740,12 +3778,12 @@
 "\n"
 "%s: ***** SYSTEM PLIKÓW ZMODYFIKOWANY *****\n"
 
-#: e2fsck/unix.c:2039
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** WYMAGANY RESTART SYSTEMU *****\n"
 
-#: e2fsck/unix.c:2049 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3756,51 +3794,51 @@
 "%s: ********** UWAGA: System plików nadal ma błędy **********\n"
 "\n"
 
-#: e2fsck/util.c:195 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "tTyY"
 
-#: e2fsck/util.c:196 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:197
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "wWaA"
 
-#: e2fsck/util.c:201
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " ('w' włącza 'tak' na wszystko) "
 
-#: e2fsck/util.c:218
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<t>"
 
-#: e2fsck/util.c:220
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:222
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (t/n)"
 
-#: e2fsck/util.c:245
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "anulowano!\n"
 
-#: e2fsck/util.c:278
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "tak na wszystko\n"
 
-#: e2fsck/util.c:280
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "tak\n"
 
-#: e2fsck/util.c:282
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "nie\n"
 
-#: e2fsck/util.c:292
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3809,7 +3847,7 @@
 "%s? nie\n"
 "\n"
 
-#: e2fsck/util.c:296
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3818,38 +3856,38 @@
 "%s? tak\n"
 "\n"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "tak"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "nie"
 
-#: e2fsck/util.c:316
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps: niedopuszczalne bloki bitmapy dla %s"
 
-#: e2fsck/util.c:321
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "odczytu bitmap i-węzłów i bloków"
 
-#: e2fsck/util.c:333
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "podczas ponawiania próby odczytu bitmap dla %s"
 
-#: e2fsck/util.c:345
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "zapisu bitmap bloków i i-węzłów"
 
-#: e2fsck/util.c:350
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "podczas ponownego zapisu bitmap blików i i-węzłów dla %s"
 
-#: e2fsck/util.c:362
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3862,37 +3900,37 @@
 "%s: NIEOCZEKIWANA NIESPÓJNOŚĆ; TRZEBA URUCHOMIĆ fsck RĘCZNIE.\n"
 "\t(tzn. bez opcji -a ani -p)\n"
 
-#: e2fsck/util.c:442
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
 msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Użyta pamięć: %lluk/%lluk (%lluk/%lluk), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
 msgid "Memory used: %lluk, "
 msgstr "Użyta pamięć: %lluk, "
 
-#: e2fsck/util.c:454
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "czas: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:459
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "upłynął czas: %6.3f\n"
 
-#: e2fsck/util.c:494 e2fsck/util.c:508
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "podczas odczytu i-węzła %lu w %s"
 
-#: e2fsck/util.c:522 e2fsck/util.c:535
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "podczas zapisu i-węzła %lu w %s"
 
-#: e2fsck/util.c:793
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "NIEOCZEKIWANA NIESPÓJNOŚĆ: system plików został zmodyfikowany podczas działania fsck.\n"
 
@@ -4010,52 +4048,62 @@
 msgid "during test data write, block %lu"
 msgstr "podczas zapisu testowych danych, blok %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s jest zamontowany; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "badblocks wymuszone mimo to. Mam nadzieję, że /etc/mtab się myli.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "nie jest bezpiecznie uruchamiać badblocks!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s jest najwyraźniej używany przez system; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "badblocks wymuszone mimo to.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "błędny %s - %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "Zbyt duża maksymalna liczba wadliwych bloków %u - maksymalna to %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "nie można przydzielić pamięci na wzorzec_testowy - %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "W trybie odczytu-zapisu można podać najwyżej jeden wzorzec testowy"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "W trybie samego odczytu nie można podać wzorca_testowego"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Błędny rozmiar bloku: %d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Błędne blocks_at_once: %d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4063,56 +4111,56 @@
 "Nie można określić rozmiaru urządzenia; trzeba podać\n"
 "rozmiar ręcznie\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "podczas próby określenia rozmiaru urządzenia"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "ostatni blok"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "pierwszy blok"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "błędny początkowy blok (%llu): musi być mniejszy niż %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "błędny początkowy blok (%llu): musi być wartością 32-bitową"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "podczas tworzenia listy wadliwych bloków w pamięci"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "plik wejściowy - błędny format"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "podczas dodawania do listy wadliwych bloków w pamięci"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Przebieg zakończony, znaleziono %u wadliwych bloków (błędów: %d/%d/%d).\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
-msgstr "Składnia: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v wersja] pliki...\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "Składnia: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p projekt] [-v wersja] pliki...\n"
 
-#: misc/chattr.c:161
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "błędny projekt - %s\n"
 
-#: misc/chattr.c:175
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "błędna wersja - %s\n"
@@ -4174,8 +4222,8 @@
 msgid "while reading inode %u"
 msgstr "podczas odczytu i-węzła %u"
 
-#: misc/create_inode.c:90 misc/create_inode.c:290 misc/create_inode.c:355
-#: misc/create_inode.c:393
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "podczas rozszerzania katalogu"
 
@@ -4184,12 +4232,12 @@
 msgid "while linking \"%s\""
 msgstr "podczas dowiązywania \"%s\""
 
-#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:324
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "podczas zapisu i-węzła %u"
 
-#: misc/create_inode.c:154 misc/create_inode.c:178
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "podczas wypisywania atrybutów \"%s\""
@@ -4199,129 +4247,134 @@
 msgid "while opening inode %u"
 msgstr "podczas otwierania i-węzła %u"
 
-#: misc/create_inode.c:171 misc/create_inode.c:198 misc/create_inode.c:1045
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "podczas odczytu atrybutów rozszerzonych i-węzła %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "podczas przydzielania pamięci"
 
-#: misc/create_inode.c:191 misc/create_inode.c:207
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "podczas odczytu atrubytu \"%s\" dla \"%s\""
 
-#: misc/create_inode.c:216
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "podczas zapisu atrybutu \"%s\" do i-węzła %u"
 
-#: misc/create_inode.c:226
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "podczas zamykania i-węzła %u"
 
-#: misc/create_inode.c:277
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "podczas przydzielania i-węzła \"%s\""
 
-#: misc/create_inode.c:296
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "podczas tworzenia i-węzła \"%s\""
 
-#: misc/create_inode.c:362
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "podczas tworzenia dowiązania symbolicznego \"%s\""
 
-#: misc/create_inode.c:380 misc/create_inode.c:965
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "podczas szukania \"%s\""
 
-#: misc/create_inode.c:400
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "podczas tworzenia katalogu \"%s\""
 
-#: misc/create_inode.c:629
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "podczas otwierania \"%s\" w celu skopiowania"
 
-#: misc/create_inode.c:807
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "podczas zmiany katalogu roboczego na \"%s\""
 
-#: misc/create_inode.c:817
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "podczas skanowania katalogu \"%s\""
 
-#: misc/create_inode.c:827
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "podczas wykonywania lstat na \"%s\""
 
-#: misc/create_inode.c:877
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "podczas tworzenia pliku specjalnego \"%s\""
 
-#: misc/create_inode.c:886
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "malloc nie powiodło się"
 
-#: misc/create_inode.c:894
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "podczas próby odczytu dowiązania \"%s\""
 
-#: misc/create_inode.c:901
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "dowiązanie symboliczne zwiększyło rozmiar między lstat() a readlink()"
 
-#: misc/create_inode.c:912
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "podczas zapisu dowiązania symbolicznego \"%s\""
 
-#: misc/create_inode.c:923
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "podczas zapisu pliku \"%s\""
 
-#: misc/create_inode.c:936
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "podczas tworzenia katalogu \"%s\""
 
-#: misc/create_inode.c:954
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "podczas zmiany katalogu"
 
-#: misc/create_inode.c:960
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "ignorowanie wpisu \"%s\""
 
-#: misc/create_inode.c:973
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "podczas ustawiania i-węzła dla \"%s\""
 
-#: misc/create_inode.c:980
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "podczas ustawiania rozszerzonych atrybutów dla \"%s\""
 
-#: misc/create_inode.c:1006
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "podczas zapisywania danych i-węzła"
 
-#: misc/create_inode.c:1056
+#: misc/create_inode.c:1077
 msgid "while copying xattrs on root directory"
 msgstr "podczas kopiowania atrybutów rozszerzonych katalogu głównego"
 
@@ -4441,59 +4494,59 @@
 msgid "while printing bad block list"
 msgstr "podczas wypisywania listy wadliwych bloków"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Wadliwe bloki: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:375
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "podczas odczytu i-węzła kroniki"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr "podczas otwierania i-węzła kroniki"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "podczas odczytu superbloku kroniki"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Błędna liczba magiczna superbloku kroniki!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:218
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "podczas odczytu superbloku kroniki"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Nie można znaleźć magicznych liczb superbloku kroniki"
 
-#: misc/dumpe2fs.c:470
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr "nie udało się przydzielić bufora MMP\n"
 
-#: misc/dumpe2fs.c:481
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "podczas odczytu bloku MMP %llu z '%s'\n"
 
-#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2056
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Nie można przydzielić pamięci do analizy opcji!\n"
 
-#: misc/dumpe2fs.c:537
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Błędny parametr superblock: %s\n"
 
-#: misc/dumpe2fs.c:552
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Błędny parametr blocksize: %s\n"
 
-#: misc/dumpe2fs.c:563
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4516,27 +4569,27 @@
 "\tsuperblock=<numer superbloku>\n"
 "\tblocksize=<rozmiar bloku>\n"
 
-#: misc/dumpe2fs.c:653 misc/mke2fs.c:1892
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tUżywane %s\n"
 
-#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2998
-#: resize/main.c:418
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Nie można znaleźć poprawnego superbloku systemu plików.\n"
 
-#: misc/dumpe2fs.c:720
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: cecha MMP nie jest włączona.\n"
 
-#: misc/dumpe2fs.c:751
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "podczas próby odczytu bitmap '%s'\n"
 
-#: misc/dumpe2fs.c:760
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4544,193 +4597,197 @@
 "*** Należy teraz uruchomić e2fsck!\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
 msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
 msgstr "Składnia: %s [ -r|Q ] [ -f ] [ -b superblok ] [ -B rozm_bloku ] urządzenie plik_obrazu\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "       %s -I urządzenie plik_obrazu\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
 msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr "       %s -ra  [ -cfnp ] [ -o offset_źr ] [ -O offset_doc ] fs_źr [ fs_doc ]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "podczas przydzielania bufora"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "Zapisywanie bloku %llu\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr "błąd przy zapisie bloku %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "błąd w generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Błąd: rozmiar nagłówka jest większy niż wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr "Nie można przydzielić bufora nagłówka\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "podczas zapisu superbloku"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "podczas zapisu tabeli i-węzłów"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "podczas zapisu bitmapy bloków"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "podczas zapisu bitmapy i-węzłów"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Uszkodzony blok katalogu %llu: błędne rec_len (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Uszkodzony blok katalogu %llu: błędne name_len (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "Bloków: %llu / %llu (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "Kopiowanie "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr "Zatrzymanie teraz zniszczy system plików; aby potwierdzić, można przerwać ponownie\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " %s pozostało przy %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr "błąd przy odczycie bloku %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Skopiowano bloków: %llu / %llu (%d%%) w %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "przy %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr "podczas przydzielania tablicy l1"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr "podczas przydzielania bufora l2"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 "Uwaga: w pamięci podręcznej są nadal tablice w trakcie zapisu bufora, dane zostaną utracone, więc obraz może nie być poprawny.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr "podczas przydzielania ext_qcow2_image"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr "podczas inicjowania ext2_qcow2_image"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Błąd programu: utworzono wiele bloków sekwencyjnych liczników odwołań!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr "podczas przydzielania bitmapy bloków"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr "podczas przydzielania bitmapy bloków scramble"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr "Przeszukiwanie i-węzłów...\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr "Nie można przydzielić bufora bloku"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "podczas pobierania następnego i-węzła"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "podczas iteracji po i-węźle %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "Obrazów surowego i qcow2 nie można zainstalować"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "błąd podczas odczytu bitmap"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "podczas otwierania pliku urządzenia"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr "podczas odtwarzania tabeli obrazu"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "Opcja -a może być użyta tylko z obrazami surowym lub QCOW2."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "Opcja -b może być użyta tylko z obrazami surowym lub QCOW2."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr "Offsety są dozwolone tylko z obrazami surowymi."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr "Tryb przesunięcia jest dozwolony tylko z obrazami surowymi."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr "Tryb przesunięcia wymaga trybu wszystkich danych."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "sprawdzanie, czy zamontowany"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4742,56 +4799,56 @@
 "może spowodować, że obraz będzie niespójny, przez co nie będzie przydatny\n"
 "do celów diagnostycznych. Aby na pewno to zrobić, można użyć opcji -f.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "Obrazu QCOW2 nie można zapisać na standardowe wyjście!\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr "Nie można wykonać stat na wyjściu\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "Obraz (%s) jest skompresowany\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "Obraz (%s) jest zaszyfrowany\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "Obraz (%s) jest uszkodzony\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "podczas próby przekształcenia obrazu qcow2 (%s) na obraz surowy (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr "Opcja -c jest obsługiwana tylko w trybie surowym\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "Opcja -c nie jest obsługiwana przy zapisie na standardowe wyjscie\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr "podczas przydzielania check_buf"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr "Opcja -p jest obsługiwana tylko w trybie surowym\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d bloków już zawierało dane do skopiowania\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Składnia: %s -r urządzenie\n"
@@ -4816,7 +4873,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: to nie jest system plików ext2\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3203
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Uwaga: etykieta za długa, skrócono.\n"
@@ -4831,7 +4888,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: błąd podczas zapisu superbloku\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1713
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Składnia: e2label urządzenie [nowa-etykieta]\n"
@@ -4841,151 +4898,151 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Składnia: %s [-f] [-h] [-n] [-o offset] [-v] [-z plik_undo] <plik_transakcji> <system_plików>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "Superblok systemu plików nie pasuje do pliku undo.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "UUID się nie zgadza.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "Czas ostatniego montowania się nie zgadza.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "Czas ostatniego zapisu się nie zgadza.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Licznik zapisu czasu życia się nie zgadza.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "podczas odczytu superbloku systemu plików."
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "podczas pobierania superbloku"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "Suma kontrolna superbloku pliku undo nie zgadza się.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "Błędny offset - %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "Nie będzie zapisu do pliku undo podczas odtwarzania go.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "podczas otwierania pliku undo `%s'\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "podczas odczytu pliku undo"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: To nie jest plik undo.\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: Suma kontrolna nagłówka się nie zgadza.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: Uszkodzony nagłówek pliku undo.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: Rozmiar bloku undo zbyt duży.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: Rozmiar bloku undo zbyt mały.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: Nieznany zbiór właściwości pliku undo.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Błąd podczas sprawdzania, czy %s jest zamontowany."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo powinno być uruchamiane tylko na odmontowanych systemach plików"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "podczas otwierania `%s'"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "podany offset jest zbyt duży"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "podczas odczytu kluczy"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: błędna wartość magiczna klucza pod %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: błąd sumy kontrolnej klucza pod %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: blok %llu jest zbyt długi."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "podczas pobierania bloku %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "błąd sumy kontrolnej w bloku systemu plików %llu (blok undo %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "podczas zapisu bloku %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Uszkodzenie pliku undo; proszę TERAZ uruchomić e2fsck!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "Błąd we/wy podczas odtwarzania: proszę TERAZ uruchomić e2fsck!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Niekompletny rekord undo; proszę uruchomić e2fsc.\n"
@@ -5043,17 +5100,17 @@
 "\n"
 "%11Lu: zakończono z errno %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "UWAGA: nie można otworzyć %s: %s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr "UWAGA: zły format w linii %d pliku %s\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5064,37 +5121,37 @@
 "Pominę ten błąd, ale /etc/fstab należy jak najszybciej poprawić.\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck: %s: nie znaleziono\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr "%s: wait: Nie ma więcej procesów potomnych?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr "Uwaga... %s dla urządzenia %s zakończył się sygnałem %d.\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr "%s %s: status wynosi %x, to się nie powinno nigdy zdarzyć.\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Skończono z %s (status wyjścia %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr "%s: Błąd %d podczas wykonywania fsck.%s dla %s\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
@@ -5102,88 +5159,93 @@
 "Albo wszystkie, albo żaden rodzaj systemu plików z podanych po -t musi być\n"
 "poprzedzony 'no' lub '!'.\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr "Nie można przydzielić pamięci na rodzaje systemów plików\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr "%s: pominięto błędną linię w /etc/fstab: montowanie bind z niezerowym numerem przebiegu fsck\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr "fsck: nie można sprawdzić %s: fsck.%s nie znaleziony\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "Sprawdzanie wszystkich systemów plików.\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "--oczekiwanie-- (przebieg %d)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr "Składnia: fsck [-AMNPRTV] [ -C [ deskryptor ] ] [-t rodzaj-fs] [opcje-fs] [system-plików ...]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s: za dużo urządzeń\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: za dużo parametrów\n"
 
-#: misc/fuse2fs.c:3740
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Montowanie tylko do odczytu.\n"
 
-#: misc/fuse2fs.c:3764
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: Zezwolenie użytkownikom na przydzielenie wszystkich bloków. To niebezpieczne!\n"
 
-#: misc/fuse2fs.c:3776 misc/fuse2fs.c:3790
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3098
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Proszę uruchomić e2fsck -fy %s.\n"
 
-#: misc/fuse2fs.c:3799
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: montowanie tylko do odczytu bez odtwarzania kroniki\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Kronika wymaga odtworzenia; wymagane uruchomienie `e2fsck -E journal_only'.\n"
 
-#: misc/fuse2fs.c:3807
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: Zapis do kroniki nie jest obsługiwany.\n"
 
-#: misc/fuse2fs.c:3822
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Uwaga: Montowanie nie sprawdzonego systemu plików, zalecane jest uruchomienie e2fsck.\n"
 
-#: misc/fuse2fs.c:3826
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Uwaga: Osiągnięto maksymalną liczbę montowań, zalecane jest uruchomienie e2fsck.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Uwaga: Osiągnięto czas sprawdzenia; zalecane jest uruchomienie e2fsck.\n"
 
-#: misc/fuse2fs.c:3835
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Wykryto sieroty; zalecane jest uruchomienie e2fsck.\n"
 
-#: misc/fuse2fs.c:3839
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Wykryto błędy; konieczne jest uruchomienie e2fsck.\n"
 
@@ -5207,7 +5269,11 @@
 msgid "While reading version on %s"
 msgstr "Podczas odczytu wersji %s"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "Nie można przydzielić zmiennej path w lsattr_dir_proc\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5228,35 +5294,35 @@
 "\t[-t typ-fs] [-T typ-użycia] [-U UUID] [-e traktowanie_błędów]\n"
 "\t[-z plik_undo] [-jnqvDFSV] urządzenie [liczba-bloków]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Uruchamianie polecenia: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "podczas próby uruchomienia '%s'"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "podczas przetwarzania listy wadliwych bloków z programu"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Wadliwy blok %d w głównym superbloku/obszarze deskryptora grup.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "Bloki od %u do %u muszą być dobre, aby stworzyć system plików.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Przerwano...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5267,19 +5333,19 @@
 "\twadliwe bloki.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "podczas zaznaczania wadliwych bloków jako używane"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "podczas zapisu zarezerwowanych i-węzłów"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Zapis tablicy i-węzłów: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5288,76 +5354,80 @@
 "\n"
 "Nie udało się zapisać %d bloków w tablicy i-węzłów począwszy od %llu: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2821 misc/mke2fs.c:3226
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "zakończono                      \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "podczas tworzenia głównego katalogu"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "podczas odczytu głównego i-węzła"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "podczas ustawiania właściciela głównego i-węzła"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "podczas tworzenia /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "podczas szukania /lost+found"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "podczas rozszerzania /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "podczas ustawiania i-węzła wadliwych bloków"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Brak pamięci podczas czyszczenia sektorów %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Uwaga: nie można odczytać bloku 0: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Uwaga: nie można wyczyścić sektora %d: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "podczas dzielenia rozmiaru kroniki"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "podczas inicjowania superbloku kroniki"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Zerowanie urządzenia kroniki: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "podczas zerowania urządzenia kroniki (blok %llu, liczba %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "podczas zapisu superbloku kroniki"
 
-#: misc/mke2fs.c:664
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "Tworzenie systemu plików o %llu blokach %dk oraz %u i-węzłach\n"
 
-#: misc/mke2fs.c:672
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5366,164 +5436,164 @@
 "uwaga: %llu bloków nie używanych.\n"
 "\n"
 
-#: misc/mke2fs.c:675
+#: misc/mke2fs.c:688
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr "Etykieta systemu plików=%.*s\n"
 
-#: misc/mke2fs.c:679
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "Typ OS: %s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Rozmiar bloku=%u (log=%u)\n"
 
-#: misc/mke2fs.c:684
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Rozmiar klastra=%u (log=%u)\n"
 
-#: misc/mke2fs.c:688
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Rozmiar fragmentu=%u (log=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "Stride=%u bloków, szerokość Stripe=%u bloków\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u i-węzłów, %llu bloków\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu bloków (%2.2f%%) zarezerwowanych dla superużytkownika\n"
 
-#: misc/mke2fs.c:697
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Pierwszy blok danych=%u\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Właściciel głównego katalogu=%u:%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Maksymalna liczba bloków systemu plików=%lu\n"
 
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u grup bloków\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u grupa bloków\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u bloków w grupie, %u klastrów w grupie\n"
 
-#: misc/mke2fs.c:712
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u bloków w grupie, %u fragmentów w grupie\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u i-węzłów w grupie\n"
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "UUID systemu plików: %s\n"
 
-#: misc/mke2fs.c:724
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Kopie zapasowe superbloku zapisane w blokach: "
 
-#: misc/mke2fs.c:820
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s wymaga '-O 64bit'\n"
 
-#: misc/mke2fs.c:826
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "'%s' musi być przed 'resize=%u'\n"
 
-#: misc/mke2fs.c:839
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "Błędny desc_size: '%s'\n"
 
-#: misc/mke2fs.c:853
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "Błędny zarodek haszowania: %s\n"
 
-#: misc/mke2fs.c:865
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Błędny offset: %s\n"
 
-#: misc/mke2fs.c:879 misc/tune2fs.c:2084
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "Błędny okres uaktualniania mmp: %s\n"
 
-#: misc/mke2fs.c:896
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Błędna liczba kopii zapasowych superbloku: %s\n"
 
-#: misc/mke2fs.c:918
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Błędny parametr stride: %s\n"
 
-#: misc/mke2fs.c:933
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Błędny parametr stripe-width: %s\n"
 
-#: misc/mke2fs.c:956
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Błędny parametr resize: %s\n"
 
-#: misc/mke2fs.c:963
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "Maksymalny rozmiar (resize) musi być większy od rozmiaru systemu plików.\n"
 
-#: misc/mke2fs.c:987
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr "Zmiana rozmiaru w locie nie jest obsługiwana przez systemy plików w wersji 0\n"
 
-#: misc/mke2fs.c:1013 misc/mke2fs.c:1022
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "Błędny root_owner: '%s'\n"
 
-#: misc/mke2fs.c:1067
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "Błędne kodowanie: %s"
 
-#: misc/mke2fs.c:1085
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5576,7 +5646,7 @@
 "\tquotatype=<rodzaj(e) limitów do włączenia>\n"
 "\n"
 
-#: misc/mke2fs.c:1112
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5587,17 +5657,17 @@
 "Uwaga: RAID stripe-width %u nie jest parzystą wielokrotnością stride %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1123 misc/tune2fs.c:2220
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr "błąd: Błędna flaga kodowania: %s\n"
 
-#: misc/mke2fs.c:1129 misc/tune2fs.c:2229
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr "błąd: W przypadku podawania flag kodowania trzeba podać bezpośrednio kodowanie\n"
 
-#: misc/mke2fs.c:1177
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5606,17 +5676,17 @@
 "Błąd składni w pliku konfiguracyjnym mke2fs (%s, linia %d)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1190 misc/tune2fs.c:1072
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Ustawiona błędna opcja systemu plików: %s\n"
 
-#: misc/mke2fs.c:1202 misc/tune2fs.c:419
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Ustawiona błędna opcja montowania: %s\n"
 
-#: misc/mke2fs.c:1338
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5625,7 +5695,7 @@
 "\n"
 "Uwaga! Plik mke2fs.conf nie określa typu systemu plików %s.\n"
 
-#: misc/mke2fs.c:1342
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5633,11 +5703,11 @@
 "Prawdopodobnie trzeba zainstalować uaktualniony plik mke2fs.conf.\n"
 "\n"
 
-#: misc/mke2fs.c:1346
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "Przerwano...\n"
 
-#: misc/mke2fs.c:1387
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5648,146 +5718,156 @@
 "Uwaga: typ systemu plików %s nie jest zdefiniowany w mke2fs.conf\n"
 "\n"
 
-#: misc/mke2fs.c:1574
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Nie udało się przydzielić pamięci na nową PATH\n"
 
-#: misc/mke2fs.c:1611
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "Nie udało się poprawnie zainicjować profilu (błąd: %ld).\n"
 
-#: misc/mke2fs.c:1644
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "błędny rozmiar bloku - %s"
 
-#: misc/mke2fs.c:1648
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Uwaga: rozmiar bloku %d nie używalny na większości systemów.\n"
 
-#: misc/mke2fs.c:1664
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "błędny rozmiar klastra - %s"
 
-#: misc/mke2fs.c:1677
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "'-%' jest przestarzałe, zamiast niego należy używać '-E'"
 
-#: misc/mke2fs.c:1691 misc/tune2fs.c:1810
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "błędne traktowanie błędów - %s"
 
-#: misc/mke2fs.c:1703
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Błędna liczba bloków w grupie"
 
-#: misc/mke2fs.c:1708
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "liczba bloków w grupie musi być wielokrotnością 8"
 
-#: misc/mke2fs.c:1716
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Niedopuszczalny rozmiar flex_bg"
 
-#: misc/mke2fs.c:1722
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "rozmiar flex_bg musi być potęgą 2"
 
-#: misc/mke2fs.c:1727
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "rozmiar flex_bg (%lu) musi być mniejszy lub równy 2^31"
 
-#: misc/mke2fs.c:1737
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "błędny stosunek i-węzłów %s (min %d/max %d)"
 
-#: misc/mke2fs.c:1747
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "błędny rozmiar i-węzła - %s"
 
-#: misc/mke2fs.c:1760
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "Uwaga: opcja -K jest przestarzała i nie powinna już być używana. Zamiast niej należy użyć opcji rozszerzonej '-E nodiscard'.\n"
 
-#: misc/mke2fs.c:1771
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "w malloc dla bad_blocks_filename"
 
-#: misc/mke2fs.c:1780
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
 "\n"
 msgstr "Uwaga: etykieta za długa; zostanie skrócona do '%s'\n"
 
-#: misc/mke2fs.c:1789
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "błędny procent zarezerwowanych bloków - %s"
 
-#: misc/mke2fs.c:1804
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "błędna liczba i-węzłów - %s"
 
-#: misc/mke2fs.c:1817
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "podczas przydzielania łańcucha fs_feature"
 
-#: misc/mke2fs.c:1834
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "błędny poziom wersji - %s"
 
-#: misc/mke2fs.c:1839
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "tpodczas próby utworzenia rewizji %d"
 
-#: misc/mke2fs.c:1853
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "Opcja -t może być użyta tylko raz"
 
-#: misc/mke2fs.c:1861
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "Opcja -T może być użyta tylko raz"
 
-#: misc/mke2fs.c:1917 misc/mke2fs.c:3310
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "podczas próby otwarcia urządzenia kroniki %s\n"
 
-#: misc/mke2fs.c:1923
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr "Rozmiar bloku urządzenia z kroniką (%d) mniejszy od minimalnego %d\n"
 
-#: misc/mke2fs.c:1929
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Użycie rozmiaru bloku urządzenia kroniki: %d\n"
 
-#: misc/mke2fs.c:1940
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "błędna liczba bloków '%s' na urządzeniu '%s'"
 
-#: misc/mke2fs.c:1970
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "system plików"
 
-#: misc/mke2fs.c:1988 resize/main.c:499
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "Plik %s nie istnieje i nie podano rozmiaru.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Tworzenie zwykłego pliku %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "podczas próby określenia rozmiaru systemu plików"
 
-#: misc/mke2fs.c:1994
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5795,7 +5875,7 @@
 "Nie można określić rozmiaru urządzenia; rozmiar systemu\n"
 "plików musi być podany\n"
 
-#: misc/mke2fs.c:2001
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5807,48 +5887,48 @@
 "\tfdiska z powodu zajętej modyfikowanej partycji. Ponowny odczyt\n"
 "\ttablicy partycji może wymagać rebootu.\n"
 
-#: misc/mke2fs.c:2018
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "System plików większy od widocznego rozmiaru urządzenia."
 
-#: misc/mke2fs.c:2038
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "Nie udało się przeanalizować listy typów systemów plików\n"
 
-#: misc/mke2fs.c:2088
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "HURD nie obsługuje właściwości filetype.\n"
 
-#: misc/mke2fs.c:2093
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "HURD nie obsługuje właściwości huge_file.\n"
 
-#: misc/mke2fs.c:2098
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "HURD nie obsługuje właściwości metadata_csum.\n"
 
-#: misc/mke2fs.c:2103
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "HURD nie obsługuje właściwości ea_inode.\n"
 
-#: misc/mke2fs.c:2113
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "podczas próby określenia rozmiaru sprzętowego sektora"
 
-#: misc/mke2fs.c:2119
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "podczas próby określenia rozmiaru sektora fizycznego"
 
-#: misc/mke2fs.c:2151
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "podczas ustawiania rozmiaru bloku; zbyt mały dla urządzenia\n"
 
-#: misc/mke2fs.c:2156
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Uwaga: podany rozmiar bloku %d jest mniejszy niż rozmiar sektora fizycznego %d\n"
 
-#: misc/mke2fs.c:2180
+#: misc/mke2fs.c:2206
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5857,7 +5937,7 @@
 "%s: Rozmiar urządzenia (0x%llx bloków) %s jest zbyt duży, aby wyrazić go\n"
 "\tw 32 bitach przy użyciu rozmiaru bloku %d.\n"
 
-#: misc/mke2fs.c:2194
+#: misc/mke2fs.c:2220
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5866,85 +5946,85 @@
 "%s: Rozmiar urządzenia (0x%llx bloków) %s jest zbyt duży, aby utworzyć\n"
 "\tsystem plików przy użyciu rozmiaru bloku %d.\n"
 
-#: misc/mke2fs.c:2216
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "Rozwinięcie fs_types dla mke2fs.conf: "
 
-#: misc/mke2fs.c:2223
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr "Właściwości systemu plików nie obsługiwane przez systemy plików w wersji 0\n"
 
-#: misc/mke2fs.c:2231
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr "Rzadkie superbloki nie są obsługiwane przez systemy plików w wersji 0\n"
 
-#: misc/mke2fs.c:2241
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr "Kroniki nie są obsługiwane przez systemy plików w wersji 0\n"
 
-#: misc/mke2fs.c:2254
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "błędny procent zarezerwowanych bloków - %lf"
 
-#: misc/mke2fs.c:2271
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr "Ekstenty MUSZĄ być włączone dla 64-bitowego systemu plików. Aby to poprawić, należy przekazać -O extents.\n"
 
-#: misc/mke2fs.c:2291
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "Rozmiar klastra nie może być mniejszy niż rozmiar bloku.\n"
 
-#: misc/mke2fs.c:2297
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "określenie rozmiaru klastra wymaga własności bigalloc"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "uwaga: nie udało się odczytać geometrii urządzenia dla %s\n"
 
-#: misc/mke2fs.c:2329
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "Wyrównanie %s jest przesunięte o %lu bajtów.\n"
 
-#: misc/mke2fs.c:2331
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr "Może to powodować bardzo niską wydajność, zalecane jest (prze)partycjonowanie.\n"
 
-#: misc/mke2fs.c:2337
+#: misc/mke2fs.c:2363
 #, 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 "%s obsługuje DAX, ale bieżący rozmiar bloku %u jest inny niż rozmiar strony systemowej %u, więc system plików nie będzie obsługiwał DAX.\n"
 
-#: misc/mke2fs.c:2361
+#: misc/mke2fs.c:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "%d-bajtowe bloki są zbyt duże dla systemu (max %d)"
 
-#: misc/mke2fs.c:2365
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr "Uwaga: %d-bajtowe bloki są zbyt duże dla systemu (max %d), wymuszono kontynuację\n"
 
-#: misc/mke2fs.c:2373
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Sugestia: jądro Linuksa >= 3.18 daje lepszą stabilność metadanych oraz sumy kontrolne kroniki.\n"
 
-#: misc/mke2fs.c:2419
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr "Nieznane kodowanie nazw plików z profilu: %s"
 
-#: misc/mke2fs.c:2430
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr "Nieznane flagi kodowania z profilu: %s"
 
-#: misc/mke2fs.c:2455
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5958,16 +6038,16 @@
 "Tworzenie systemu plików o %llu blokach, ale być może nie o to chodziło.\n"
 "\n"
 
-#: misc/mke2fs.c:2470
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "i-węzły %d-bajtowe są zbyt małe dla limitów projektu"
 
-#: misc/mke2fs.c:2492
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "Obsługa własności bigalloc jest niemożliwa bez własności extents"
 
-#: misc/mke2fs.c:2499
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -5975,51 +6055,54 @@
 "Właściwości resize_inode i meta_bg nie są kompatybilne.\n"
 "Nie można ich włączyć jednocześnie.\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
 "\n"
-"Uwaga: własność bigalloc jest nadal w trakcie rozwoju.\n"
-"Więcej informacji pod https://ext4.wiki.kernel.org/index.php/Bigalloc\n"
-"\n"
+"Uwaga: systemy plików bigalloc z rozmiarem klastra większym niż\n"
+"16-krotność rozmiaru bloku są eksperymentalne\n"
 
-#: misc/mke2fs.c:2519
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr "zarezerwowane bloki do zmiany rozmiaru w locie nie obsługiwane na nieciągłym systemie plików"
 
-#: misc/mke2fs.c:2528
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "liczba bloków w grupie spoza zakresu"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "Właściwość flex_bg nie jest włączona, więc nie można określić rozmiaru flex_bg"
 
-#: misc/mke2fs.c:2562
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "błędny rozmiar i-węzła %d (min %d/max %d)"
 
-#: misc/mke2fs.c:2577
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "i-węzły %d-bajtowe są zbyt małe dla danych wewnętrznych; proszę podać większy rozmiar"
 
-#: misc/mke2fs.c:2592
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "i-węzły 128-bajtowe nie mogą obsłużyć dat powyżej 2038 i są przestarzałe\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "zbyt dużo i-węzłów (%llu), zwiększyć współczynnik i-węzłów?"
 
-#: misc/mke2fs.c:2599
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "zbyt dużo i-węzłów (%llu), należy podać < 2^32"
 
-#: misc/mke2fs.c:2613
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6030,65 +6113,69 @@
 "\tplików o liczbie bloków %llu, należy podać większy współczynnik (-i)\n"
 "\tlub mniejszą liczbę i-węzłów (-N).\n"
 
-#: misc/mke2fs.c:2800
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
 msgstr "Porzucanie bloków urządzenia: "
 
-#: misc/mke2fs.c:2816
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "nie powiodło się - "
 
-#: misc/mke2fs.c:2875
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "podczas inicjowania kontekstu limitów"
 
-#: misc/mke2fs.c:2882
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "podczas zapisu i-węzłów limitów"
 
-#: misc/mke2fs.c:2907
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "błędne traktowanie błędów w profilu - %s"
 
-#: misc/mke2fs.c:2983
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "w malloc dla android_sparse_params"
 
-#: misc/mke2fs.c:2997
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "podczas ustawiania superbloku"
 
-#: misc/mke2fs.c:3013
+#: misc/mke2fs.c:3065
 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 "Ekstenty nie są włączone. Drzewo ekstenów plików może mieć sumy kontrolne, a mapy bloków nie. Niewłączenie ekstentów zmniejsza pokrycie sum kontrolnych metadanych. Aby to poprawić, należy dodać opcję -O extents.\n"
 
-#: misc/mke2fs.c:3020
+#: misc/mke2fs.c:3072
 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 "Obsługa 64-bitowego systemu plików nie jest włączona. Większe pola dostarczane przez tę właściwość pozwalają na silniejsze sumy kontrolne. Aby to poprawić, należy dodać opcję -O 64bit.\n"
 
-#: misc/mke2fs.c:3028
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "Właściwość metadata_csum_seed wymaga właściwości metadata_csum.\n"
 
-#: misc/mke2fs.c:3052
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "Czyszczenie się powiodło i będzie zwracać zera - pominięto czyszczenie tablicy i-węzłów\n"
 
-#: misc/mke2fs.c:3151
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "nieznany os - %s"
 
-#: misc/mke2fs.c:3214
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
 msgstr "Przydzielanie tablicy grup: "
 
-#: misc/mke2fs.c:3222
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "podczas próby przydzielenia tablic systemu plików"
 
-#: misc/mke2fs.c:3231
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "podczas usuwania zaznaczenia wadliwych bloków"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6096,30 +6183,34 @@
 "\n"
 "\tpodczas próby przekształcenia bitmapy podklastrów"
 
-#: misc/mke2fs.c:3237
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "podczas obliczania narzutu"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s może być bardziej uszkodzony poprzez nadpisanie superbloku\n"
 
-#: misc/mke2fs.c:3278
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "podczas zerowania bloku %llu na końcu systemu plików"
 
-#: misc/mke2fs.c:3291
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr "podczas rezerwowania bloków na zmianę rozmiaru w locie"
 
-#: misc/mke2fs.c:3303 misc/tune2fs.c:1516
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "kronika"
 
-#: misc/mke2fs.c:3315
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Dodano kronikę do urządzenia %s: "
 
-#: misc/mke2fs.c:3322
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
@@ -6128,21 +6219,21 @@
 "\n"
 "\tpodczas próby dodania kroniki do urządzenia %s"
 
-#: misc/mke2fs.c:3327 misc/mke2fs.c:3356 misc/mke2fs.c:3394
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1545 misc/tune2fs.c:1564
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "wykonano\n"
 
-#: misc/mke2fs.c:3333
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "Pominięto tworzenie kroniki w trybie super-only\n"
 
-#: misc/mke2fs.c:3343
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Tworzenie kroniki (%u bloków): "
 
-#: misc/mke2fs.c:3352
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6150,7 +6241,7 @@
 "\n"
 "\tpodczas próby utworzenia kroniki"
 
-#: misc/mke2fs.c:3364 misc/tune2fs.c:1137
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6158,28 +6249,28 @@
 "\n"
 "Błąd podczas włączania funkcji zabezpieczenia przed wielokrotnym montowaniem."
 
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr "Zabezpieczenie przed wielokrotnym montowaniem jest włączone z okresem uaktualniania %d sekund.\n"
 
-#: misc/mke2fs.c:3385
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "Kopiowanie plików na urzędzenie: "
 
-#: misc/mke2fs.c:3391
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
 msgstr "podczas zapełniania systemu plików"
 
-#: misc/mke2fs.c:3398
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr "Zapis superbloków i podsumowania systemu plików: "
 
-#: misc/mke2fs.c:3405
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "podczas zapisu i zamykania systemu plików"
 
-#: misc/mke2fs.c:3408
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6192,26 +6283,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "podczas zerowania bloku %llu dla dużego pliku"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Przesunięcie partycji w blokach %llu (%uk) nie jest zgodne z rozmiarem klastra %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Duże pliki będą wyzerowane\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Tworzenie dużych plików w liczbie %lu "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "mających po %llu blok(ów)"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "podczas tworzenia dużego pliku %lu"
@@ -6255,7 +6346,7 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s: h=%3d s=%3d c=%4d   początek=%8d rozmiar=%8lu koniec=%8d\n"
 
-#: misc/tune2fs.c:120
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
@@ -6263,15 +6354,15 @@
 "\n"
 "Ta operacja wymaga świeżo sprawdzonego systemu plików.\n"
 
-#: misc/tune2fs.c:122
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "Proszę uruchomić e2fsck -f na systemie plików.\n"
 
-#: misc/tune2fs.c:124
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "Proszę uruchomić e2fsck -fD na systemie plików.\n"
 
-#: misc/tune2fs.c:137
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6292,20 +6383,20 @@
 "\t[-E opcja_rozszerzona[,...]] [-T czas_ost._sprawdz.] [-U UUID]\n"
 "\t[-I nowy_rozmiar_i-węzła] [-z plik_undo] urządzenie\n"
 
-#: misc/tune2fs.c:225
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "Nie znaleziono superbloku kroniki!\n"
 
-#: misc/tune2fs.c:283
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "podczas próby otworzenia zewnętrznej kroniki"
 
-#: misc/tune2fs.c:289 misc/tune2fs.c:2889
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s nie jest urządzeniem kroniki.\n"
 
-#: misc/tune2fs.c:298 misc/tune2fs.c:2898
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
@@ -6314,11 +6405,11 @@
 "Superblok kroniki jest uszkodzony, nr_users\n"
 "jest zbyt duże (%d).\n"
 
-#: misc/tune2fs.c:305 misc/tune2fs.c:2905
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr "UUID systemu plików nie znaleziony na urządzeniu kroniki.\n"
 
-#: misc/tune2fs.c:329
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6326,52 +6417,52 @@
 "Nie można zlokalizować urządzenia kroniki. NIE zostało usunięte.\n"
 "Można użyć opcji -f, aby usunąć nieistniejące urządzenie kroniki.\n"
 
-#: misc/tune2fs.c:338
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Kronika usunięta\n"
 
-#: misc/tune2fs.c:382
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "podczas odczytu bitmap"
 
-#: misc/tune2fs.c:390
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "podczas czyszczenia i-węzła kroniki"
 
-#: misc/tune2fs.c:401
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "podczas zapisu i-węzła kroniki"
 
-#: misc/tune2fs.c:437 misc/tune2fs.c:462 misc/tune2fs.c:475
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(proszę zrestartować potem system!)\n"
 
-#: misc/tune2fs.c:490
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Po uruchomieniu e2fsck proszę uruchomić `resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Proszę uruchomić `resize2fs %s %s"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:499
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "', aby włączyć tryb 64-bitowy.\n"
 
-#: misc/tune2fs.c:501
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "', aby wyłączyć tryb 64-bitowy.\n"
 
-#: misc/tune2fs.c:1039
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6379,17 +6470,17 @@
 "UWAGA: nie udało się upewnić co do obsługi właściwości metadata_csum_seed w jądrze.\n"
 "  Wymaga to Linuksa w wersji >= 4.4.\n"
 
-#: misc/tune2fs.c:1075
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "Usuwanie właściwości systemu plików '%s' nie jest obsługiwane.\n"
 
-#: misc/tune2fs.c:1081
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "Ustawianie właściwości systemu plików '%s' nie jest obsługiwane.\n"
 
-#: misc/tune2fs.c:1090
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6397,7 +6488,7 @@
 "Flaga has_journal może być wyczyszczona tylko kiedy system plików\n"
 "jest odmontowany lub zamontowany tylko do odczytu.\n"
 
-#: misc/tune2fs.c:1098
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6405,7 +6496,7 @@
 "Flaga needs_recovery jest ustawiona. Proszę uruchomić e2fsck przed\n"
 "czyszczeniem flagi has_journal.\n"
 
-#: misc/tune2fs.c:1116
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6413,7 +6504,7 @@
 "Ustawienie właściwości systemu plików 'sparse_super' nie jest obsługiwane\n"
 "dla systemów plików z włączoną właściwością meta_bg.\n"
 
-#: misc/tune2fs.c:1129
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6422,12 +6513,12 @@
 "Funkcja ochrony przed wielokrotnym montowaniem nie może zostać\n"
 "włączona, jeśli system plików jest zamontowany lub tylko do odczytu.\n"
 
-#: misc/tune2fs.c:1147
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr "Zavezpieczenie przed wielokrotnym montowaniem została włączona z czasem uaktualniania %ds.\n"
 
-#: misc/tune2fs.c:1156
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6435,26 +6526,34 @@
 "Funkcja zabezpieczenia przed wielokrotnym montowaniem nie może zostać\n"
 "wyłączona, jeśli system plików jest tylko do odczytu.\n"
 
-#: misc/tune2fs.c:1164
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "Błąd podczas odczytu bitmap\n"
 
-#: misc/tune2fs.c:1173
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "Liczba magiczna w bloku MMP się nie zgadza; oczekiwano %x, jest %x\n"
 
-#: misc/tune2fs.c:1178
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
 msgstr "podczas odczytu bloku MMP."
 
-#: misc/tune2fs.c:1210
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Wyłączenie indeksów katalogów w systemie plików z sumami kontrolnymi może zająć trochę czasu."
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Nie można wyłączyć właściwości dir_index na zamontowanym systemie plików!\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
 msgstr "Wyłączenie flagi flex_bg spowoduje niespójność systemu plików.\n"
 
-#: misc/tune2fs.c:1221
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6462,54 +6561,54 @@
 "Flaga huge_file może być wyczyszczona tylko kiedy system plików\n"
 "jest odmontowany lub zamontowany tylko do odczytu.\n"
 
-#: misc/tune2fs.c:1232
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr "Włączenie sum kontrolnych może zająć trochę czasu."
 
-#: misc/tune2fs.c:1235
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "Nie można włączyć właściwości metadata_csum na zamontowanym systemie plików!\n"
 
-#: misc/tune2fs.c:1241
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr "Ekstenty nie są włączone. Drzewo ekstenów plików może mieć sumy kontrolne, a mapy bloków nie. Niewłączenie ekstentów zmniejsza pokrycie sum kontrolnych metadanych. Aby to poprawić, należy uruchomić ponownie z opcją -O extents.\n"
 
-#: misc/tune2fs.c:1248
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr "Obsługa 64-bitowego systemu plików nie jest włączona. Większe pola dostarczane przez tę właściwość pozwalają na silniejsze sumy kontrolne. Aby to poprawić, należy uruchomić resize2fs -b.\n"
 
-#: misc/tune2fs.c:1274
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
 msgstr "Wyłączenie sum kontrolnych może zająć trochę czasu."
 
-#: misc/tune2fs.c:1277
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "Nie można wyłączyć właściwości metadata_csum na zamontowanym systemie plików!\n"
 
-#: misc/tune2fs.c:1318
+#: misc/tune2fs.c:1372
 msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
 msgstr "Nie można włączyć właściwości uninit_bg na zamontowanym systemie plików!\n"
 
-#: misc/tune2fs.c:1333
+#: misc/tune2fs.c:1387
 msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
 msgstr "Nie można wyłączyć właściwości uninit_bg na zamontowanym systemie plików!\n"
 
-#: misc/tune2fs.c:1352
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "Nie można włączyć trybu 64-bitowego, kiedy system plików jest zamontowany!\n"
 
-#: misc/tune2fs.c:1362
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "Nie można wyłączyć trybu 64-bitowego, kiedy system plików jest zamontowany!\n"
 
-#: misc/tune2fs.c:1392
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "Nie można włączyć właściwości project; rozmiar i-węzła zbyt mały.\n"
 
-#: misc/tune2fs.c:1413
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6517,11 +6616,11 @@
 "\n"
 "Uwaga: opcja '^quota' nadpisuje argumenty '-Q'.\n"
 
-#: misc/tune2fs.c:1430 misc/tune2fs.c:2182
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
 msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr "Właściwość casefold można włączyć tylko na niezamontowanym systemie plików.\n"
 
-#: misc/tune2fs.c:1442
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6529,7 +6628,7 @@
 "Ustawienie właściwości 'metadata_csum_seed' jest obsługiwane\n"
 "tylko dla systemów plików z włączoną właściwością metadata_csum.\n"
 
-#: misc/tune2fs.c:1460
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
@@ -6538,15 +6637,15 @@
 "być odmontowany, aby bezpiecznie nadpisać wszystkie metadane, żeby zgadzały\n"
 "się z nowym UUID-em.\n"
 
-#: misc/tune2fs.c:1466
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr "Przeliczanie sum kontrolnych może zająć trochę czasu."
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "System plików już ma kronikę.\n"
 
-#: misc/tune2fs.c:1529
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6555,21 +6654,21 @@
 "\n"
 "\tpodczas próby otworzenia kroniki na %s\n"
 
-#: misc/tune2fs.c:1533
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Tworzenie kroniki na urządzeniu %s: "
 
-#: misc/tune2fs.c:1541
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "podczas dodawania systemu plików do kroniki na %s"
 
-#: misc/tune2fs.c:1547
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
 msgstr "Tworzenie i-węzła kroniki: "
 
-#: misc/tune2fs.c:1561
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6577,31 +6676,31 @@
 "\n"
 "\tpodczas próby utworzenia pliku kroniki"
 
-#: misc/tune2fs.c:1599
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "Nie można włączyć limitów projektów; rozmiar i-węzła zbyt mały.\n"
 
-#: misc/tune2fs.c:1612
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
 msgstr "podczas inicjowania kontekstu limitów w bibliotece wspierającej"
 
-#: misc/tune2fs.c:1627
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "podczas uaktualniania limitów (%d)"
 
-#: misc/tune2fs.c:1637
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "podczas zapisu pliku limitów (%d)"
 
-#: misc/tune2fs.c:1655
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "podczas usuwania pliku limitów (%d)"
 
-#: misc/tune2fs.c:1698
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6623,65 +6722,65 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1756
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Nie można przeanalizować podanej daty/czasu: %s"
 
-#: misc/tune2fs.c:1781 misc/tune2fs.c:1794
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "błędna liczba montowań - %s"
 
-#: misc/tune2fs.c:1837
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "błędny gid/nazwa grupy - %s"
 
-#: misc/tune2fs.c:1870
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "błędny odstęp - %s"
 
-#: misc/tune2fs.c:1899
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "błędny procent zarezerwowanych bloków - %s"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
 msgstr "-o może być podane tylko raz"
 
-#: misc/tune2fs.c:1923
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
 msgstr "-O może być podane tylko raz"
 
-#: misc/tune2fs.c:1940
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "błędna liczba zarezerwowanych bloków - %s"
 
-#: misc/tune2fs.c:1969
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "błędny uid/nazwa użytkownika - %s"
 
-#: misc/tune2fs.c:1986
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "błędny rozmiar i-węzła - %s"
 
-#: misc/tune2fs.c:1993
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "Rozmiar i-węzła musi być potęgą dwójki - %s"
 
-#: misc/tune2fs.c:2093
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "Okres uaktualniania mmp zbyt duży: %lu\n"
 
-#: misc/tune2fs.c:2098
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
@@ -6689,52 +6788,52 @@
 msgstr[1] "Ustawianie okresu uaktualniania zabezpieczenia przed wielokrotnym montowaniem na %lu sekundy\n"
 msgstr[2] "Ustawianie okresu uaktualniania zabezpieczenia przed wielokrotnym montowaniem na %lu sekund\n"
 
-#: misc/tune2fs.c:2107
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Ustawianie flagi błędu systemu plików w celu wymuszenia fsck.\n"
 
-#: misc/tune2fs.c:2125
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Błędny parametr RAID stride: %s\n"
 
-#: misc/tune2fs.c:2140
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Błędny parametr RAID stripe-width: %s\n"
 
-#: misc/tune2fs.c:2155
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Błędny algorytm haszowania: %s\n"
 
-#: misc/tune2fs.c:2161
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Ustawianie domyślnego algorytmu haszowania na %s (%d)\n"
 
-#: misc/tune2fs.c:2188
+#: misc/tune2fs.c:2252
 #, c-format
 msgid "Cannot alter existing encoding\n"
 msgstr "Nie można zmienić istniejącego kodowania\n"
 
-#: misc/tune2fs.c:2194
+#: misc/tune2fs.c:2258
 #, c-format
 msgid "Invalid encoding: %s\n"
 msgstr "Błędne kodowanie: %s\n"
 
-#: misc/tune2fs.c:2200
+#: misc/tune2fs.c:2264
 #, c-format
 msgid "Setting encoding to '%s'\n"
 msgstr "Ustawianie kodowania na '%s'\n"
 
-#: misc/tune2fs.c:2224
+#: misc/tune2fs.c:2288
 #, c-format
 msgid "Setting encoding_flags to '%s'\n"
 msgstr "Ustawianie flag kodowania na '%s'\n"
 
-#: misc/tune2fs.c:2234
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6774,31 +6873,31 @@
 "\tencoding=<kodowanie>\n"
 "\tencoding_flags=<flagi>\n"
 
-#: misc/tune2fs.c:2707
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
 msgstr "Nie udało się odczytać bitmapy i-węzłów\n"
 
-#: misc/tune2fs.c:2712
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "Nie udało się odczytać bitmapy bloków\n"
 
-#: misc/tune2fs.c:2729 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "bloki do przeniesienia"
 
-#: misc/tune2fs.c:2732
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Nie udało się przydzielić bitmapy bloków podczas zwiększania rozmiaru i-węzła\n"
 
-#: misc/tune2fs.c:2738
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr "Za mało miejsca, aby zwiększyć rozmiar i-węzła\n"
 
-#: misc/tune2fs.c:2743
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Nie udało się przemieścić bloków podczas zmiany rozmiaru i-węzła\n"
 
-#: misc/tune2fs.c:2775
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6806,7 +6905,7 @@
 "Błąd podczas zmiany rozmiaru i-węzła.\n"
 "Należy uruchomić e2undo w celu wycofania zmian w systemie plików.\n"
 
-#: misc/tune2fs.c:2985
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6814,7 +6913,7 @@
 "Jeśli system plików nie jest na pewno używany przez żaden system, można uruchomić:\n"
 "'tune2fs -f -E clear_mmp {urządzenie}'\n"
 
-#: misc/tune2fs.c:2992
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6823,29 +6922,29 @@
 "Liczba magiczna bloku MMP jest błędna. Można próbować to naprawić uruchamiając:\n"
 "'e2fsck -f %s'\n"
 
-#: misc/tune2fs.c:3004
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "Nie można zmodyfikować urządzenia kroniki.\n"
 
-#: misc/tune2fs.c:3017
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "Rozmiar i-węzła już wynosi %lu\n"
 
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
 msgstr "Zmniejszanie rozmiaru i-węzła nie jest obsługiwane\n"
 
-#: misc/tune2fs.c:3029
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "Błędny rozmiar i-węzła %lu (max %d)\n"
 
-#: misc/tune2fs.c:3035
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr "Zmiana rozmiaru i-węzłów może zająć trochę czasu."
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6862,57 +6961,57 @@
 "a następnie uruchomić ponownie to polecenie. W innym przypadku wszelkie\n"
 "wykonane zmiany mogą zostać nadpisane przy odtwarzaniu kroniki.\n"
 
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Odtwarzanie kroniki.\n"
 
-#: misc/tune2fs.c:3114
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Ustawianie maksymalnej liczby montowań na %d\n"
 
-#: misc/tune2fs.c:3120
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Ustawianie aktualnego licznika montowań na %d\n"
 
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Ustawianie traktowania błędów na %d\n"
 
-#: misc/tune2fs.c:3130
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "Ustawianie gid-a zarezerwowanych bloków na %lu\n"
 
-#: misc/tune2fs.c:3135
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "odstęp pomiędzy sprawdzeniami jest zbyt duży (%lu)"
 
-#: misc/tune2fs.c:3142
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Ustawianie odstępu pomiędzy sprawdzeniami na %lu sekund\n"
 
-#: misc/tune2fs.c:3149
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Ustawianie procentu zarezerwowanych bloków na %g%% (%llu bloków)\n"
 
-#: misc/tune2fs.c:3155
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "liczba zarezerwowanych bloków jest zbyt duża (%llu)"
 
-#: misc/tune2fs.c:3162
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Ustawianie liczby zarezerwowanych bloków na %llu\n"
 
-#: misc/tune2fs.c:3167
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -6920,7 +7019,7 @@
 "\n"
 "System plików już ma rzadkie superbloki.\n"
 
-#: misc/tune2fs.c:3170
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -6930,7 +7029,7 @@
 "Ustawienie flagi rzadkiego superbloku nie jest obsługiwane\n"
 "dla systemów plików z włączoną właściwością meta_bg.\n"
 
-#: misc/tune2fs.c:3180
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
@@ -6939,7 +7038,7 @@
 "\n"
 "Flaga rzadkich superbloków ustawiona. %s"
 
-#: misc/tune2fs.c:3185
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -6947,49 +7046,53 @@
 "\n"
 "Usuwanie flagi rzadkiego superbloku nie jest obsługiwane.\n"
 
-#: misc/tune2fs.c:3193
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "Ustawianie czasu ostatniego sprawdzenia systemu plików na %s\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "Ustawianie uid-a zarezerwowanych bloków na %lu\n"
 
-#: misc/tune2fs.c:3231
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Błąd w użyciu clear_mmp. Opcja ta musi być użyta z -f\n"
 
-#: misc/tune2fs.c:3249
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "Funkcję limitów można zmienić tylko na niezamontowanym systemie plików.\n"
 
-#: misc/tune2fs.c:3269
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Nie można zmienić UUID-a w tym systemie plików, ponieważ ma flagę właściwości stable_inodes.\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Ustawienie UUID-a w tym systemie plików może zająć trochę czasu."
 
-#: misc/tune2fs.c:3286
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "UUID można zmienić tylko na niezamontowanym systemie plików.\n"
 
-#: misc/tune2fs.c:3289
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr "Jeżeli używane są tylko jądra nowsze niż 4.4, można uruchomić 'tune2fs -O metadata_csum_seed', a następnie ponownie to polecenie.\n"
 
-#: misc/tune2fs.c:3320
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Błędny format UUID-a\n"
 
-#: misc/tune2fs.c:3336
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "Trzeba uaktualnić superblok kroniki.\n"
 
-#: misc/tune2fs.c:3358
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr "Rozmiar i-węzła można zmienić tylko na niezamontowanym systemie plików.\n"
 
-#: misc/tune2fs.c:3365
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -6997,61 +7100,61 @@
 "Zmiana rozmiaru i-węzła nie jest obsługiwana dla systemów plików\n"
 "z włączoną właściwością flex_bg.\n"
 
-#: misc/tune2fs.c:3383
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Ustawianie rozmiaru i-węzła na %lu\n"
 
-#: misc/tune2fs.c:3387
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
 msgstr "Nie udało się zmienić rozmiaru i-węzła\n"
 
-#: misc/tune2fs.c:3401
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Ustawianie rozmiaru stride na %d\n"
 
-#: misc/tune2fs.c:3406
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Ustawianie szerokości stripe na na %d\n"
 
-#: misc/tune2fs.c:3413
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "Ustawianie rozszerzonych domyślnych opcji montowania na '%s'\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
 msgstr "<kontynuacja>\n"
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "Kontynuować mimo to (lub odczekać %d s, aby kontynuować)? (t,N) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
 msgstr "Kontynuować mimo to? (t,N) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "mke2fs wymuszone mimo to. Mam nadzieję, że /etc/mtab się myli.\n"
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "nie zrobię tutaj %s!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "mke2fs wymuszone mimo to.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr "Nie można przydzielić pamięci na analizę opcji kroniki!\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -7060,7 +7163,7 @@
 "\n"
 "Nie można znaleźć urządzenia kroniki pasującego do %s\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7090,7 +7193,7 @@
 "Rozmiar kroniki musi być pomiędzy 1024 a 10240000 blokami systemu plików.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7098,26 +7201,26 @@
 "\n"
 "System plików za mały na kronikę\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"Żądany rozmiar kroniki to %d bloków; musi być\n"
+"Całkowity żądany rozmiar kroniki to %d bloków; musi być\n"
 "pomiędzy 1024 a 10240000 bloków. Przerwano.\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"Rozmiar kroniki zbyt duży dla systemu plików.\n"
+"Całkowity rozmiar kroniki zbyt duży dla systemu plików.\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7262,11 +7365,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Składnia: %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# Zrzut ekstentu:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr "#\tNum=%llu, Rozmiar=%llu, Kursor=%llu, Sortowane=%llu\n"
@@ -7322,17 +7425,17 @@
 "to wykonać, należy użyć opcji force.\n"
 "\n"
 
-#: resize/main.c:368
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "podczas otwierania %s"
 
-#: resize/main.c:376
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "podczas pobierania informacji stat dla %s"
 
-#: resize/main.c:453
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7341,34 +7444,34 @@
 "Proszę uruchomić najpierw 'e2fsck -f %s'.\n"
 "\n"
 
-#: resize/main.c:472
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Przybliżony minimalny rozmiar systemu plików: %llu\n"
 
-#: resize/main.c:509
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "Błędny nowy rozmiar: %s\n"
 
-#: resize/main.c:528
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "Nowy rozmiar zbyt duży, by mógł być wyrażony w 32 bitach\n"
 
-#: resize/main.c:541
+#: resize/main.c:560
 msgid "New size results in too many block group descriptors.\n"
 msgstr "Nowy rozmiar powoduje zbyt dużo deskryptorów grup bloków.\n"
 
-#: resize/main.c:548
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "Nowy rozmiar jest mniejszy niż minimalny (%llu)\n"
 
-#: resize/main.c:554
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Błędna długość stride"
 
-#: resize/main.c:578
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7379,27 +7482,27 @@
 "Zażądano nowego rozmiaru %llu bloków.\n"
 "\n"
 
-#: resize/main.c:585
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Nie można włączyć i wyłączyć właściwości 64bit.\n"
 
-#: resize/main.c:589
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "Nie można zmienić właściwości 64bit w systemie plików większym niż 2^32 bloków.\n"
 
-#: resize/main.c:595
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "Nie można zmienić właściwości 64bit, kiedy system plików jest zamontowany.\n"
 
-#: resize/main.c:601
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Proszę włączyć właściwość extents przy użyciu tune2fs przed włączeniem właściwości 64bit.\n"
 
-#: resize/main.c:607
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7408,37 +7511,42 @@
 "System plików już ma wielkość %llu (%dk) bloków. Nie ma nic do roboty!\n"
 "\n"
 
-#: resize/main.c:614
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "System plików jest już 64-bitowy.\n"
 
-#: resize/main.c:619
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "System plików jest już 32-bitowy.\n"
 
-#: resize/main.c:627
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Nie można zmniejszyć tego systemu plików, ponieważ ma flagę właściwości stable_inodes.\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Konwersja systemu plików na 64 bity.\n"
 
-#: resize/main.c:629
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Konwersja systemu plików na 32 bity.\n"
 
-#: resize/main.c:631
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "Zmiana rozmiaru systemu plików %s na %llu (%dk) bloków.\n"
 
-#: resize/main.c:640
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "podczas próby zmiany rozmiaru %s"
 
-#: resize/main.c:643
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7447,7 +7555,7 @@
 "Proszę uruchomić 'e2fsck -fy %s', aby naprawić system plików\n"
 "po przerwanej operacji zmiany rozmiaru.\n"
 
-#: resize/main.c:649
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7456,7 +7564,7 @@
 "System plików na %s ma teraz %llu (%dk) bloków.\n"
 "\n"
 
-#: resize/main.c:664
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "podczas próby skrócenia %s"
@@ -7513,52 +7621,52 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "Wykonywanie zmiany rozmiaru w locie %s na %llu (%dk) bloków.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Podczas próby rozszerzenia ostatniej grupy"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Podczas próby dodania grupy #%d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr "System plików na %s jest zamontowany pod %s, zmiana rozmiaru w locie nie jest obsługiwana na tym systemie.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "liczba i-węzłów (%llu) musi być mniejsza niż %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "zarezerwowane bloki"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "bloki metadanych"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "nowe bloki meta"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "To się nie powinno zdarzyć! Brak sb w ostatnim super_sparse bg?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "To się nie powinno zdarzyć! Nieoczekiwane old_desc w super_sparse bg?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Nigdy się nie powinno zdarzyć: i-węzeł zmiany rozmiaru uszkodzony!\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.6"
-msgstr "Biblioteka EXT2FS w wersji 1.45.6"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "Biblioteka EXT2FS w wersji 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8276,6 +8384,18 @@
 msgid "Group descriptors not loaded"
 msgstr "Deskryptory grup nie załadowane"
 
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "Wewnętrzna struktura danych ext2_filsys wydaje się uszkodzona"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "Znaleziono pętlę cykliczną w drzewie ekstentów"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "Operacja nie obsługiwana na zewnętrznej kronice"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Profil w wersji 0.0"
@@ -8400,47 +8520,37 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Błędna wartość magiczna w profile_file_data_t"
 
-#: lib/support/plausible.c:114
+#: lib/support/plausible.c:119
 #, c-format
 msgid "\tlast mounted on %.*s on %s"
 msgstr "\tostatnio montowano %.*s pod %s"
 
-#: lib/support/plausible.c:117
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tostatnio montowano %s"
 
-#: lib/support/plausible.c:120
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tutworzono %s"
 
-#: lib/support/plausible.c:123
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tostatnio zmodyfikowano %s"
 
-#: lib/support/plausible.c:157
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Znaleziono tablicę partycji %s w %s\n"
 
-#: lib/support/plausible.c:187
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "Plik %s nie istnieje i nie podano rozmiaru.\n"
-
-#: lib/support/plausible.c:195
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Tworzenie zwykłego pliku %s\n"
-
-#: lib/support/plausible.c:198
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Nie udało się otworzyć %s: %s\n"
 
-#: lib/support/plausible.c:201
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8448,22 +8558,22 @@
 "\n"
 "Urządzenie najwyraźniej nie istnieje; czy zostało podane poprawnie?\n"
 
-#: lib/support/plausible.c:223
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s nie jest specjalnym urządzeniem blokowym.\n"
 
-#: lib/support/plausible.c:245
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s zawiera system plików %s z etykietą '%s'\n"
 
-#: lib/support/plausible.c:248
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s zawiera system plików %s\n"
 
-#: lib/support/plausible.c:272
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s zawiera dane `%s'\n"
diff --git a/po/pt.po b/po/pt.po
index f4cf86b..78aa70c 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -77,10 +77,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs 1.46.0\n"
+"Project-Id-Version: e2fsprogs 1.46.3\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-01-28 13:42-0500\n"
-"PO-Revision-Date: 2021-02-03 06:04+0000\n"
+"POT-Creation-Date: 2021-07-27 12:40-0400\n"
+"PO-Revision-Date: 2021-08-13 09:31+0100\n"
 "Last-Translator: Pedro Albuquerque <pmra@protonmail.com>\n"
 "Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
 "Language: pt\n"
@@ -89,9 +89,9 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Geany / PoHelper 1.37\n"
+"X-Generator: Poedit 2.3\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Mau bloco %u fora do intervalo; ignorado.\n"
@@ -104,30 +104,30 @@
 msgid "while reading the bad blocks inode"
 msgstr "ao ler inodes de maus blocos"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:692 misc/dumpe2fs.c:696 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2881 misc/tune2fs.c:2980 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1584
+#: e2fsck/unix.c:1698 misc/badblocks.c:1264 misc/badblocks.c:1272
+#: misc/badblocks.c:1286 misc/badblocks.c:1298 misc/dumpe2fs.c:437
+#: misc/dumpe2fs.c:702 misc/dumpe2fs.c:706 misc/e2image.c:1437
+#: misc/e2image.c:1635 misc/e2image.c:1656 misc/mke2fs.c:237
+#: misc/tune2fs.c:2886 misc/tune2fs.c:2986 resize/main.c:416
 #, c-format
 msgid "while trying to open %s"
 msgstr "ao tentar abrir %s"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "ao tentar popen \"%s\""
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "ao ler na lista de maus blocos a partir de ficheiro"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "ao actualizar inode de mau bloco"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Aviso: bloco %u ilegal encontrado em inode de mau bloco. Limpo.\n"
@@ -206,64 +206,36 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "BLKFLSBUF ioctl não suportado! Impossível despejar os buffers.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Uso: %s [-F] [-I inode_buffer_blocks] dispositivo\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "ao abrir %s para despejo"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:385
-#, c-format
-msgid "while trying to flush %s"
-msgstr "ao tentar despejar %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "ao tentar abrir '%s'"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "ao abrir análise inode"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "ao obter inode seguinte"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "%u inodes analisados.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1270
 msgid "reading journal superblock\n"
 msgstr "ao ler super-bloco de diário\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1343
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: sem super-bloco de diário válido\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1352
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: diário muito curto\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3787
+#: e2fsck/journal.c:1365
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: blocos de submissão rápida incorrectos\n"
+
+#: e2fsck/journal.c:1667 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: a recuperar diário\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1669
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: impossível recuperar diário em modo só-de-leitura\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1696
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "ao tentar reabrir %s"
@@ -432,56 +404,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<inode 10 reservado>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "ficheiro normal"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "pasta"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "dispositivo de carácter"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "dispositivo de bloco"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "túnel nomeado"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "ligação simbólica"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "socket"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "tipo de ficheiro desconhecido com modo 0%o"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "bloco indirecto"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "duplo bloco indirecto"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "triplo bloco indirecto"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "bloco de tradutor"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "bloco nº"
 
@@ -501,76 +473,80 @@
 msgid "unknown quota type"
 msgstr "tipo de quota desconhecido"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "multiplicar mapa de inode reclamado"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "erro interno: impossível encontrar dup_blk para %llu\n"
 
-#: e2fsck/pass1b.c:956
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "devolvido de clone_file_block"
 
-#: e2fsck/pass1b.c:980
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "erro interno: impossível procurar registo de bloco EA para %llu"
 
-#: e2fsck/pass1b.c:992
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "erro interno: impossível procurar registo de inode EA para %u"
 
-#: e2fsck/pass1.c:358
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "ao criar hash da entrada com e_value_inum = %u"
 
-#: e2fsck/pass1.c:776 e2fsck/pass2.c:1018
+#: e2fsck/pass1.c:767 e2fsck/pass2.c:1147
 msgid "reading directory block"
 msgstr "a ler bloco de pasta"
 
-#: e2fsck/pass1.c:1175
+#: e2fsck/pass1.c:1166
 msgid "getting next inode from scan"
 msgstr "a obter inode seguinte da análise"
 
-#: e2fsck/pass1.c:1227
+#: e2fsck/pass1.c:1218
 msgid "in-use inode map"
 msgstr "mapa de inode em-uso"
 
-#: e2fsck/pass1.c:1238
+#: e2fsck/pass1.c:1229
 msgid "directory inode map"
 msgstr "mapa de inode de pasta"
 
-#: e2fsck/pass1.c:1248
+#: e2fsck/pass1.c:1239
 msgid "regular file inode map"
 msgstr "mapa de inode de ficheiro normal"
 
-#: e2fsck/pass1.c:1257 misc/e2image.c:1282
+#: e2fsck/pass1.c:1248 misc/e2image.c:1289
 msgid "in-use block map"
 msgstr "mapa de bloco em-uso"
 
-#: e2fsck/pass1.c:1266
+#: e2fsck/pass1.c:1257
 msgid "metadata block map"
 msgstr "mapa de bloco de meta-dados"
 
-#: e2fsck/pass1.c:1328
+#: e2fsck/pass1.c:1268
+msgid "inode casefold map"
+msgstr "mapa de inode casefold"
+
+#: e2fsck/pass1.c:1333
 msgid "opening inode scan"
 msgstr "a abrir análise de inode"
 
-#: e2fsck/pass1.c:2083
+#: e2fsck/pass1.c:2101
 msgid "Pass 1"
 msgstr "Passagem 1"
 
-#: e2fsck/pass1.c:2144
+#: e2fsck/pass1.c:2162
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "a ler blocos indirectos de inode %u"
 
-#: e2fsck/pass1.c:2195
+#: e2fsck/pass1.c:2213
 msgid "bad inode map"
 msgstr "mau mapa de inode"
 
@@ -590,28 +566,32 @@
 msgid "ext attr block map"
 msgstr "mapa de bloco de atributo estendido"
 
-#: e2fsck/pass1.c:3685
+#: e2fsck/pass1.c:3724
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): esperado %6lu, obtido phys %6lu (blkcnt %lld)\n"
 
-#: e2fsck/pass1.c:4105
+#: e2fsck/pass1.c:4145
 msgid "block bitmap"
 msgstr "bitmap de bloco"
 
-#: e2fsck/pass1.c:4111
+#: e2fsck/pass1.c:4151
 msgid "inode bitmap"
 msgstr "bitmap de inode"
 
-#: e2fsck/pass1.c:4117
+#: e2fsck/pass1.c:4157
 msgid "inode table"
 msgstr "tabela de inode"
 
-#: e2fsck/pass2.c:312
+#: e2fsck/pass2.c:317
 msgid "Pass 2"
 msgstr "Passagem 2"
 
-#: e2fsck/pass2.c:1091 e2fsck/pass2.c:1266
+#: e2fsck/pass2.c:568
+msgid "NLS is broken."
+msgstr "NLS está quebrado."
+
+#: e2fsck/pass2.c:1220 e2fsck/pass2.c:1404
 msgid "Can not continue."
 msgstr "Impossível continuar."
 
@@ -1549,7 +1529,7 @@
 msgstr "Aviso: impossível escrever bloco %b em %s: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:726 e2fsck/problem.c:1898
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "Erro ao alocar bitmap de inode (%N): %m\n"
 
@@ -2064,10 +2044,10 @@
 "inode %i tem mapeamento de extensão duplicado\n"
 "\t(bloco lógico %c, bloco físico %b inválido, tamanho %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
 #: e2fsck/problem.c:1204
-msgid "@A memory for encrypted @d list\n"
-msgstr "Erro ao alocar memória para lista de pastas encriptada\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "@A %N bytes de memória para lista de @i encriptada\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
 #: e2fsck/problem.c:1209
@@ -2112,15 +2092,21 @@
 "@i EA %N para @i-mãe %i com bandeira EA_INODE em falta.\n"
 " "
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "@i %i tem @x marcada não inicializada no @b %c (tam. %N).  "
+
 #. @-expanded: inode %i has the casefold flag set but is not a directory.  
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1254
 #, c-format
 msgid "@i %i has the casefold flag set but is not a directory.  "
-msgstr "@i %i tem bandeira casefold definida mas não é uma pasta."
+msgstr "@i %i tem bandeira casefold definida mas não é uma pasta. "
 
 #. @-expanded: directory %p has the casefold flag, but the\n
 #. @-expanded: casefold feature is not enabled.  
-#: e2fsck/problem.c:1253
+#: e2fsck/problem.c:1259
 #, c-format
 msgid ""
 "@d %p has the casefold flag, but the\n"
@@ -2129,13 +2115,25 @@
 "a @d %p tem a bandeira casefold, mas a\n"
 "funcionalidade casefold não está activa.  "
 
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "inode %i tem bandeira de encriptação, mas não tem atributo de encriptação estendido.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "inode %i encriptado tem o atributo de encriptação estendido corrompido.\n"
+
 #. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
-#: e2fsck/problem.c:1258
+#: e2fsck/problem.c:1274
 msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
 msgstr "@h %i usa a versão hash (%N), mas devia usar SipHash (6) \n"
 
 #. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
-#: e2fsck/problem.c:1263
+#: e2fsck/problem.c:1279
 #, c-format
 msgid "@h %i uses SipHash, but should not.  "
 msgstr "@h %i usa SipHash, mas não devia.  "
@@ -2143,7 +2141,7 @@
 #. @-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
-#: e2fsck/problem.c:1270
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2154,46 +2152,46 @@
 "Passo 1B: re-analisar blocos multiplicar-reclamados\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "blocos multiplicar-reclamados em inode %i:"
 
-#: e2fsck/problem.c:1293
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Erro ao analisar inodes (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1299
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "Erro ao alocar bitmap de inode (inode_dup_map): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1305
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Erro ao iterar sobre blocos em inode %i (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1310 e2fsck/problem.c:1685
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Erro ao ajustar refcount para bloco %b de atributo estendido (@i %i): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Passo 1C: analisar pastas para inodes com blocos multiplicar-reclamados\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1326
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Passo 1D: reconciliar blocos multiplicar-reclamados\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1331
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2202,18 +2200,18 @@
 " tem %r bloco(s) multiplicar-reclamado(s), partilhados com %N ficheiro(s):\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1337
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (inode nº %i, hora de mod. %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1342
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<meta-dados do sistema de ficheiros>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1347
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2223,7 +2221,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1352
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2231,345 +2229,350 @@
 "blocos multiplicar-reclamados já re-atribuídos ou clonados.\n"
 "\n"
 
-#: e2fsck/problem.c:1366
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Impossível clonar o ficheiro: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1372
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Passo 1E: optimizar árvores de extensões\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1378
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Falha ao optimizar árvore de extensão %p (%i): %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1383
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Optimizar árvores de extensões: "
 
-#: e2fsck/problem.c:1398
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Erro interno: profundidade máxima da árvore de extensões muito grande (%b; esperada=%c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1403
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "árvore de extensão de inode %i (no nível %b) podia ser mais curta. "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1408
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "árvore de extensão de inode %i (no nível %b) podia ser mais estreita. "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1415
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Passo 2: verificar estrutura de pastas\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1421
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "número de inode inválido para '.' em inode de pasta %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1426
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "Entrada \"%Dn\" em %p (%i) tem número de inode inválido: %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1431
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "Entrada \"%Dn\" em %p (%i) tem inode %Di eliminado/não utilizado. "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1436
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "Entrada \"%Dn\" em %p (%i) é ligação a '.' "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1441
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "Entrada \"%Dn\" em %p (%i) aponta para indode (%Di) localizado num mau bloco.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "Entrada \"%Dn\" em %p (%i) é ligação a pasta %P (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "Entrada \"%Dn\" em %p (%i) é ligação ao inode raiz.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "Entrada \"%Dn\" em %p (%i) tem caracteres ilegais no nome.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1462
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "'.' em falta em inode de pasta %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1468
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "'..' em falta em inode de pasta %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1473
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "Primeira entrada '%Dn' (inode=%Di) em inode de pastai %i (%p) devia ser '.'\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1478
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "Segunda entrada '%Dn' (inode=%Di) em inode de pasta %i devia ser '..'\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1483
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "i_faddr para inode %i(%Q) é %IF, devia ser zero.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1488
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "i_file_acl para inode %i(%Q) é %If, devia ser zero.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1493
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "i_size_high para inode %i(%Q) é %Id, devia zero.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1498
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "i_frag para inode %i(%Q) é %N, devia ser zero.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1503
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "i_fsize para inode %i(%Q) é %N, devia ser zero.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1508
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "inode %i (%Q) tem modo inválido (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "inode de pasta %i, %B, desvio %N: pasta corrompida\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "inode de pasta %i, %B, desvio %N: nome de ficheiro muito grande\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "inode de pasta %i tem %B não alocado. "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1529
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "entrada de pasta '.' em inode de pasta %i não termina em NULL\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1535
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "entrada de pasta '..' em inode de pasta %i não termina em NULL\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1540
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "inode %i (%Q) é um dispositivo de carácter ilegal.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1545
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "inode %i (%Q) é um dispositivo de bloco ilegal.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "Entrada \"%Dn\" em %p(%i) é entrada '.' duplicada.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1555
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "Entrada \"%Dn\" em %p(%i) é entrada '..' duplicada.\n"
 
-#: e2fsck/problem.c:1561 e2fsck/problem.c:1925
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Erro interno: impossível encontrar dir_info para %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "Entrada \"%Dn\" em %p(%i) tem rec_len de %Dr, devia ser %N.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "Erro ao alocar estrutura icount: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Erro ao iterar sobre blocos de pasta: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1583
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Erro ao ler bloco de pasta %b (inode %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1588
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Erro ao escrever bloco de pasta %b (inode %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "Erro ao alocar novo bloco de pasta para inode %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1600
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Erro ao desalocar inode %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1606
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "Entrada de pasta para '.' em %p (%i) é grande.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1611
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "inode %i (%Q) é FIFO ilegal.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1616
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "inode %i (%Q) é um socket ilegal.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1621
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "A definir tipo de ficheiro para entrada \"%Dn\" em %p(%i) como %N.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1626
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "Entrada \"%Dn\" em %p(%i) tem um tipo de ficheiro incorrecto (era %Dt, devia ser %N).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1631
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "Entrada \"%Dn\" em %p(%i) tem tipo de ficheiro definido.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1636
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "Entrada \"%Dn\" em %p(%i) tem nome de tamanho zero.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1641
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Symlink %Q (inode nº %i) é inválido.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1646
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "bloco de atributo estendido para inode %i(%Q) é inválido (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1651
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr "o sistema de ficheiros contém ficheiros grandes, mas te bandeira LARGE_FILE em super-bloco.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1656
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "problema em pasta HTREE inode %d: %B não referenciado\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1661
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "problema em pasta HTREE inode %d: %B referenciado duas vezes\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1666
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "problema em pasta HTREE inode %d: %B tem hash mínima má\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1671
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "Problema em pasta HTREE inode %d: %B tem má hash máxima\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1676
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "Pasta HTREE inode %d (%q) inválida. "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "o sistema de ficheiros tem pastas grandes, malta-lhe a bandeira LARGE_DIR no superbloco.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1680
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "Problema em pasta HTREE inode %d (%q): mau número de bloco %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1691
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "Problema em pasta HTREE inode %d: nó raiz inválido\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1696
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "Problema em pasta HTREE inode %d: %B tem limite inválido (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1701
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "Problema em pasta HTREE inode %d: %B tem total inválido (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1706
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "Problema em pasta HTREE inode %d: %B tem tabela de hash desordenada\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1711
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "Problema em pasta HTREE inode %d: %B tem profundidade inválida (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1716
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Encontrada entrada \"%Dn\" em %p (%i) duplicada. "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1721
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2581,7 +2584,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1726
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2592,160 +2595,175 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1731
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi para inode %i(%Q) é %N, devia ser zero.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1736
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "Bloco inesperado em pasta HTREE inode %d (%q).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "Entrada \"%Dn\" em %p(%i) referencia inode %Di em grupo %g onde _INODE_UNINIT está definida.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "Entrada \"%Dn\" em %p(%i) referencia inode %Di encontrado na área de inodes não usados do grupo %g.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "i_file_acl_hi para inode %i(%Q) é %N, devia ser zero.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1757
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "Problema em pasta HTREE inode %d: nó raiz falha a checksum.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1763
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "Problema em pasta HTREE inode %d: nó interno falha a checksum.\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1768
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "inode de pasta %i, %B, desvio %N: pasta sem checksum.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1773
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "inode de pasta %i, %B: a pasta passa os testes mas falha a checksum.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1778
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "O tamanho do inode de pasta %i em linha (%N) tem de ser múltiplo de 4.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Falha ao reparar o tamanho do inode de pasta %i em linha.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1789
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "Entrada \"%Dn\" em %p(%i) encriptada muito curta.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "@E encriptada referencia @i %Di desencriptado.\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "@E encriptada referencia @i %Di, que tem uma política de encriptação diferente.\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "A entrada \"%Dn\" em %p (%i) tem caracteres UTF-8 ilegais no nome.\\n\n"
+
 #. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1794
+#: e2fsck/problem.c:1831
 msgid "Duplicate filename @E found.  "
 msgstr "Encontrado nome de ficheiro @E duplicado. "
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1801
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Passo 3: verificar conectividade da pasta\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "@r não alocado.  "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1811
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Sem espaço na @d @l. "
 
 #. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1817
+#: e2fsck/problem.c:1855
 #, no-c-format
 msgid "Unconnected @d @i %i (%p)\n"
 msgstr "@i %i (%p) de @d não ligado\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1822
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "/perdido+achado não encontrado. "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1827
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "'..' em %Q (%i) é %P (%j), devia ser %q (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1833
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "/perdido+achado mau ou não-existente. Impossível religar.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1839
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Impossível expandir /perdido+achado: %m\n"
 
-#: e2fsck/problem.c:1845
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Impossível religar %i: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1851
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Erro ao tentar encontrar /perdido+achado: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1857
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_@b: %m ao tentar criar pasta /perdido+achado\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1863
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_@i: %m ao tentar criar pasta /perdido+achado\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1869
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_@b: %m ao criar novo bloco de pasta\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1875
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_@b: %m ao escrever o bloco de pasta para /perdido+achado\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1881
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Erro ao ajustar total de inodes no inode %i\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1887
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2756,7 +2774,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2766,41 +2784,41 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Erro ao criar pasta raiz (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1910
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Erro ao criar pasta /perdido+achado (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1915
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "inode raiz não é uma pasta; a abortar.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1920
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Impossível prosseguir sem um inode raiz.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/perdido+achado não é uma pasta (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1936
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/perdido+achado tem dados em linha\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1941
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2811,7 +2829,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1946
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2822,52 +2840,52 @@
 "\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1951
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/perdido+achado está encriptada\n"
 
-#: e2fsck/problem.c:1958
+#: e2fsck/problem.c:1996
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Passo 3A: optimizar pastas\n"
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2002
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Falha ao criar iterador dirs_to_hash: %m\n"
 
-#: e2fsck/problem.c:1969
+#: e2fsck/problem.c:2007
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Falha ao optimizar a pasta %q (%d): %m\n"
 
-#: e2fsck/problem.c:1974
+#: e2fsck/problem.c:2012
 msgid "Optimizing directories: "
 msgstr "A optimizar pastas: "
 
-#: e2fsck/problem.c:1991
+#: e2fsck/problem.c:2029
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Passo 4: verificar totais de referência\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2035
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "inode %i desanexado de tamanho zero. "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:2003
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "inode %i desanexado\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:2008
+#: e2fsck/problem.c:2046
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "total referência de inode %i é %Il, devia ser %N. "
 
 #. @-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
-#: e2fsck/problem.c:2012
+#: e2fsck/problem.c:2050
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2878,151 +2896,151 @@
 "@i_link_info[%i] é %N, inode.i_links_count é %Il. Deviam ser iguais!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2057
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "total de referência do inode %i de atributo estendido é %N, devia ser %n. "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:2024
+#: e2fsck/problem.c:2062
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "A pasta excede o máximo de ligações, mas não há funcionalidade DIR_NLINK no super-bloco.\n"
 
 #. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
-#: e2fsck/problem.c:2029
+#: e2fsck/problem.c:2067
 msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
 msgstr "@d @i %i: contagem de referências definida para fazer transporte, mas podia ser um valor exacto %N.  "
 
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2036
+#: e2fsck/problem.c:2074
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Passo 5: verificar informação de resumo do grupo\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2079
 msgid "Padding at end of @i @B is not set. "
 msgstr "Espaço no final do bitmap de inode não está definido. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2046
+#: e2fsck/problem.c:2084
 msgid "Padding at end of @b @B is not set. "
 msgstr "Espaço no final do bitmap de bloco não está definido. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2051
+#: e2fsck/problem.c:2089
 msgid "@b @B differences: "
 msgstr "diferenças do bitmap de bloco: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2111
 msgid "@i @B differences: "
 msgstr "diferenças do bitmap de inode: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2095
+#: e2fsck/problem.c:2133
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Total de inodes livres para o grupo nº %g errado (%i, contados=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2138
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Total de pastas para o grupo nº %g (%i, contadas=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2105
+#: e2fsck/problem.c:2143
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Total de inodes livres errado (%i, contados=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2110
+#: e2fsck/problem.c:2148
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Total de blocos livres para o grupo nº %g errado (%b, contados=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2115
+#: e2fsck/problem.c:2153
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Total de blocos livres errado (%b, contados=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2120
+#: e2fsck/problem.c:2158
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr "ERRO DE PROGRAMAÇÃO: pontos finais do bitmap do sistema de ficheiros (nº %N) (%b, %c) não correspondem aos pontos finais calculados (%i, %j)\n"
 
-#: e2fsck/problem.c:2126
+#: e2fsck/problem.c:2164
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Erro interno: final de bitmap disparatado (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2132
+#: e2fsck/problem.c:2170
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Erro de cópia no bitmap de inode substituto: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2138
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Erro de cópia no bitmap de bloco substituto: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2168
+#: e2fsck/problem.c:2206
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "blocos de grupo %g em uso, mas o grupo está marcado como BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2174
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "inodes de grupo %g em uso, mas o grupo está marcado como INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2180
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "bitmap de inode do grupo %g não corresponde à checksum.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2186
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "bitmap de bloco do grupo %g não corresponde à checksum.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2193
+#: e2fsck/problem.c:2231
 msgid "Recreate @j"
 msgstr "Recriar diário"
 
-#: e2fsck/problem.c:2198
+#: e2fsck/problem.c:2236
 msgid "Update quota info for quota type %N"
 msgstr "Actualizar informação de quota para quota tipo %N"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2204
+#: e2fsck/problem.c:2242
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Erro ao definir informação de checksum de grupo do bloco: %m\n"
 
-#: e2fsck/problem.c:2210
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Erro ao escrever informação do sistema de ficheiros: %m\n"
 
-#: e2fsck/problem.c:2216
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Erro ao despejar escritas para o dispositivo de armazenamento: %m\n"
 
-#: e2fsck/problem.c:2221
+#: e2fsck/problem.c:2259
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Erro ao escrever informação de quota para quota tipo %N: %m\n"
 
-#: e2fsck/problem.c:2384
+#: e2fsck/problem.c:2422
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Código de erro não gerido (0x%x)!\n"
 
-#: e2fsck/problem.c:2514 e2fsck/problem.c:2518
+#: e2fsck/problem.c:2552 e2fsck/problem.c:2556
 msgid "IGNORED"
 msgstr "IGNORADO"
 
@@ -3040,6 +3058,10 @@
 msgid "size of inode=%d\n"
 msgstr "tamanho do inode=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1330
+msgid "while opening inode scan"
+msgstr "ao abrir análise inode"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "ao iniciar análise de inode"
@@ -3118,7 +3140,7 @@
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %u/%u ficheiros (%0d.%d%% não-contíguos), %llu/%llu blocos\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:164
 #, c-format
 msgid ""
 "\n"
@@ -3133,51 +3155,51 @@
 "\n"
 "%12u inodes usados (%2.2f%%, de %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:168
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
 msgstr[0] "%12u ficheiro não-contíguo (%0d.%d%%)\n"
 msgstr[1] "%12u ficheiros não-contíguos (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:173
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
 msgstr[0] "%12u pasta não-contígua (%0d.%d%%)\n"
 msgstr[1] "%12u pastas não-contíguas (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:178
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             nº de inodes com blocos ind/dind/tind: %u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:186
 msgid "             Extent depth histogram: "
 msgstr "             Histograma de profundidade de extensão: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:195
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] "%12llu bloco usado (%2.2f%%, de %llu)\n"
 msgstr[1] "%12llu blocos usados (%2.2f%%, de %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:200
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] "%12u mau bloco\n"
 msgstr[1] "%12u maus blocos\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:202
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] "%12u ficheiro grande\n"
 msgstr[1] "%12u ficheiros grandes\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:204
 #, c-format
 msgid ""
 "\n"
@@ -3192,96 +3214,96 @@
 "\n"
 "%12u ficheiros normais\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:206
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
 msgstr[0] "%12u pasta\n"
 msgstr[1] "%12u pastas\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:208
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
 msgstr[0] "%12u ficheiro de dispositivo de carácter\n"
 msgstr[1] "%12u ficheiros de dispositivo de carácter\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:211
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
 msgstr[0] "%12u ficheiro de dispositivo de bloco\n"
 msgstr[1] "%12u ficheiros de dispositivo de bloco\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:213
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] "%12u fifo\n"
 msgstr[1] "%12u fifos\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:215
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] "%12u ligação\n"
 msgstr[1] "%12u ligações\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:217
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] "%12u ligação simbólica"
 msgstr[1] "%12u ligações simbólicas"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:219
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
 msgstr[0] " (%u ligação simbólica rápida)\n"
 msgstr[1] " (%u ligações simbólicas rápidas)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:223
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
 msgstr[0] "%12u socket\n"
 msgstr[1] "%12u sockets\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:227
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] "%12u ficheiro\n"
 msgstr[1] "%12u ficheiros\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3072 misc/util.c:129
+#: e2fsck/unix.c:240 misc/badblocks.c:1001 misc/tune2fs.c:3078 misc/util.c:129
 #: resize/main.c:356
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "ao determinar se %s está montado."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:261
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Aviso!  %s está montado.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:264
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Aviso!  %s está em uso.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:270
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s está montado.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:272
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s está em uso.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:274
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3289,7 +3311,7 @@
 "Impossível continuar, a abortar.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:276
 msgid ""
 "\n"
 "\n"
@@ -3303,85 +3325,85 @@
 "causar ***GRAVES*** danos ao sistema de ficheiros.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:281
 msgid "Do you really want to continue"
 msgstr "Deseja realmente continuar"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:283
 msgid "check aborted.\n"
 msgstr "verificação abortada.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:377
 msgid " contains a file system with errors"
 msgstr " contém um sistema de ficheiros com erros"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:379
 msgid " was not cleanly unmounted"
 msgstr " não foi desmontado asseadamente"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:381
 msgid " primary superblock features different from backup"
 msgstr " funcionalidades do super-bloco primário diferentes da segurança"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:385
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " foi montado %u vezes sem verificação"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:392
 msgid " has filesystem last checked time in the future"
 msgstr " tem a última hora de verificação do sistema de ficheiros no futuro"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:398
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " há %u dias que não é verificado"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:406
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr "a ignorar intervalo de verificação, broken_system_clock definido\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:412
 msgid ", check forced.\n"
 msgstr ", verificação forçada.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:445
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: limpo, %u/%u ficheiros, %llu/%llu blocos"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:465
 msgid " (check deferred; on battery)"
 msgstr " (verificação adiada; em bateria)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:468
 msgid " (check after next mount)"
 msgstr " (verificar após montagem seguinte)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:470
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (verificar após %ld montagens)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:620
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "ERRO: impossível abrir /dev/null (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:691
 msgid "Invalid EA version.\n"
 msgstr "Versão EA inválida.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:704
 msgid "Invalid readahead buffer size.\n"
 msgstr "Tamanho de buffer readahead inválido.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:767
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Opção estendida desconhecida: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:775
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3393,15 +3415,15 @@
 "que é predefinido como um sinal de igual (\"=\"). As opções válidas são:\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:779
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "\tea_ver=<ea_version (1 ou 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:788
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "\treadahead_kb=<tamanho do buffer>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:801
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3410,55 +3432,65 @@
 "Erro de sintaxe no ficheiro de configuração do e2fsck (%s, linha #%d)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:874
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Erro ao validar o descritor do ficheiro %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:878
 msgid "Invalid completion information file descriptor"
 msgstr "Descritor de ficheiro de informação de conclusão inválido"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:893
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Só pode especificar uma das opções -p/-a, -n ou -y."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:914
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "A opção -t não é suportada nesta versão do e2fsck.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1721 misc/tune2fs.c:2016 misc/tune2fs.c:2034
+#: e2fsck/unix.c:946 e2fsck/unix.c:1024 misc/e2initrd_helper.c:330
+#: misc/tune2fs.c:1778 misc/tune2fs.c:2078 misc/tune2fs.c:2096
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Impossível resolver \"%s\""
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1003
 msgid "The -n and -D options are incompatible."
 msgstr "As opções -n e -D são incompatíveis."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1008
 msgid "The -n and -c options are incompatible."
 msgstr "As opções -n e -c são incompatíveis."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1013
 msgid "The -n and -l/-L options are incompatible."
 msgstr "As opções -n e -l/-L são incompatíveis."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1037
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "As opções -D e -E fixes_only são incompatíveis."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1043
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "As opções -E bmap2extent e fixes_only são incompatíveis."
 
-#: e2fsck/unix.c:1095
+#: e2fsck/unix.c:1094
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "ao abrir %s para despejo"
+
+#: e2fsck/unix.c:1100 resize/main.c:385
+#, c-format
+msgid "while trying to flush %s"
+msgstr "ao tentar despejar %s"
+
+#: e2fsck/unix.c:1107
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "As opções -c e -l/-L não podem ser usadas ao mesmo tempo.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1154
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3467,7 +3499,7 @@
 "E2FSCK_JBD_DEBUG \"%s\" não é inteiro\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1163
 #, c-format
 msgid ""
 "\n"
@@ -3478,16 +3510,16 @@
 "Argumento não-numérico inválido para -%c (\"%s\")\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1254
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "Intervalo MMP é %u segundos e o tempo total de espera é %u segundos. Por favor aguarde...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1271 e2fsck/unix.c:1276
 msgid "while checking MMP block"
 msgstr "ao verificar bloco MMP"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1278
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3496,13 +3528,13 @@
 "Se tem a certeza de que o sistema de ficheiros não está em uso em nenhum nó, execute:\n"
 "\"tune2fs -f -E clear_mmp %s\"\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1294
 msgid "while reading MMP block"
 msgstr "ao ler bloco MMP"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2708 misc/mke2fs.c:2759 misc/tune2fs.c:2798
-#: misc/tune2fs.c:2843 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1314 e2fsck/unix.c:1366 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2723 misc/mke2fs.c:2774 misc/tune2fs.c:2803
+#: misc/tune2fs.c:2848 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3513,57 +3545,57 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2748 misc/tune2fs.c:2832
+#: e2fsck/unix.c:1355 misc/e2undo.c:274 misc/mke2fs.c:2763 misc/tune2fs.c:2837
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "ao tentar eliminar %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2774 resize/main.c:243
+#: e2fsck/unix.c:1381 misc/mke2fs.c:2789 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "ao tentar configurar o ficheiro de desfazer\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1425
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Erro: versão da biblioteca ext2fs fora de prazo!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1432
 msgid "while trying to initialize program"
 msgstr "ao tentar inicializar o programa"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1469
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\tA usar %s, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1481
 msgid "need terminal for interactive repairs"
 msgstr "precisa do terminal para reparações interactivas"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1542
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s a tentar blocos de segurança...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1544
 msgid "Superblock invalid,"
 msgstr "Super-bloco inválido,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1545
 msgid "Group descriptors look bad..."
 msgstr "Descritores de grupo parecem mal..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1555
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: %s ao usar os blocos de segurança"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1559
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: a regressar ao super-bloco original\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1588
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3573,28 +3605,28 @@
 "versão do e2fsck (ou o super-bloco do sistema de ficheiros está corrompido).\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1595
 msgid "Could this be a zero-length partition?\n"
 msgstr "Poderá esta ser uma partição de tamanho zero?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1597
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Tem de ter acesso %s ao sistema de ficheiros ou ser root\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1603
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Possível dispositivo não-existente ou swap?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1605
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "Sistema de ficheiros montado ou aberto exclusivamente por outro programa?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1609
 msgid "Possibly non-existent device?\n"
 msgstr "Possível dispositivo não-existente?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1612
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3602,77 +3634,77 @@
 "Disco protegido contra escrita; use a opção -n para fazer\n"
 "uma verificação só-de-leitura do dispositivo.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1626
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: a tentar carregar o super-bloco, apesar dos erros...\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1701
 msgid "Get a newer version of e2fsck!"
 msgstr "Obtenha uma nova versão do e2fsck!"
 
-#: e2fsck/unix.c:1748
+#: e2fsck/unix.c:1761
 #, c-format
 msgid "while checking journal for %s"
 msgstr "ao verificar diário para %s"
 
-#: e2fsck/unix.c:1751
+#: e2fsck/unix.c:1764
 msgid "Cannot proceed with file system check"
 msgstr "Impossível prosseguir com a verificação do sistema de ficheiros"
 
-#: e2fsck/unix.c:1762
+#: e2fsck/unix.c:1775
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr "Aviso: a saltar recuperação do diário por estar em curso uma verificação só-de-leitura do sistema de ficheiros.\n"
 
-#: e2fsck/unix.c:1774
+#: e2fsck/unix.c:1787
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "impossível definir bandeiras do super-bloco em %s\n"
 
-#: e2fsck/unix.c:1780
+#: e2fsck/unix.c:1793
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Encontrado erro de checksum de diário em %s\n"
 
-#: e2fsck/unix.c:1784
+#: e2fsck/unix.c:1797
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Diário corrompido em %s\n"
 
-#: e2fsck/unix.c:1788
+#: e2fsck/unix.c:1801
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "ao recuperar diário de %s"
 
-#: e2fsck/unix.c:1810
+#: e2fsck/unix.c:1823
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s tem funcionalidades não suportadas:"
 
-#: e2fsck/unix.c:1825
+#: e2fsck/unix.c:1838
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s tem codificação não suportada: %0x\n"
 
-#: e2fsck/unix.c:1875
+#: e2fsck/unix.c:1888
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: %s ao ler inode de maus blocos\n"
 
-#: e2fsck/unix.c:1878
+#: e2fsck/unix.c:1891
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Isto não augura nada de bom, mas vamos tentar continuar...\n"
 
-#: e2fsck/unix.c:1918
+#: e2fsck/unix.c:1934
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "A criar diário (%d blocos): "
 
-#: e2fsck/unix.c:1928
+#: e2fsck/unix.c:1943
 msgid " Done.\n"
 msgstr " Feito.\n"
 
-#: e2fsck/unix.c:1930
+#: e2fsck/unix.c:1945
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3680,24 +3712,24 @@
 "\n"
 "*** o diário foi regenerado ***\n"
 
-#: e2fsck/unix.c:1936
+#: e2fsck/unix.c:1951
 msgid "aborted"
 msgstr "abortado"
 
-#: e2fsck/unix.c:1938
+#: e2fsck/unix.c:1953
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: e2fsck cancelado.\n"
 
-#: e2fsck/unix.c:1965
+#: e2fsck/unix.c:1980
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "A recomeçar o e2fsck desde o princípio...\n"
 
-#: e2fsck/unix.c:1969
+#: e2fsck/unix.c:1984
 msgid "while resetting context"
 msgstr "ao repor o contexto"
 
-#: e2fsck/unix.c:2028
+#: e2fsck/unix.c:2043
 #, c-format
 msgid ""
 "\n"
@@ -3706,12 +3738,12 @@
 "\n"
 "%s: ***** ERROS DO SISTEMA DE FICHEIROS CORRIGIDOS *****\n"
 
-#: e2fsck/unix.c:2030
+#: e2fsck/unix.c:2045
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: o sistema de ficheiros foi modificado.\n"
 
-#: e2fsck/unix.c:2034 e2fsck/util.c:71
+#: e2fsck/unix.c:2049 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3720,12 +3752,12 @@
 "\n"
 "%s: ***** O SISTEMA DE FICHEIROS FOI MODIFICADO *****\n"
 
-#: e2fsck/unix.c:2039
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** REINICIAR O SISTEMA *****\n"
 
-#: e2fsck/unix.c:2049 e2fsck/util.c:77
+#: e2fsck/unix.c:2064 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3736,51 +3768,51 @@
 "%s: ********** AVISO: o sistema de ficheiros ainda tem erros **********\n"
 "\n"
 
-#: e2fsck/util.c:195 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:93
 msgid "yY"
 msgstr "sS"
 
-#: e2fsck/util.c:196 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:112
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:197
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "tT"
 
-#: e2fsck/util.c:201
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " ('t' activa \"sim\" para todos) "
 
-#: e2fsck/util.c:218
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<s>"
 
-#: e2fsck/util.c:220
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:222
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (s/n)"
 
-#: e2fsck/util.c:245
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "cancelado!\n"
 
-#: e2fsck/util.c:278
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "sim para todos\n"
 
-#: e2fsck/util.c:280
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "sim\n"
 
-#: e2fsck/util.c:282
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "não\n"
 
-#: e2fsck/util.c:292
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3789,7 +3821,7 @@
 "%s? não\n"
 "\n"
 
-#: e2fsck/util.c:296
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3798,38 +3830,38 @@
 "%s? sim\n"
 "\n"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "sim"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "não"
 
-#: e2fsck/util.c:316
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps: blocos de bitmap ilegais para %s"
 
-#: e2fsck/util.c:321
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "a ler bitmaps de inode e bloco"
 
-#: e2fsck/util.c:333
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "ao tentar ler bitmaps para %s"
 
-#: e2fsck/util.c:345
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "escrever bitmaps de bloco e inode"
 
-#: e2fsck/util.c:350
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "ao reescrever bitmaps de bloco e inode para %s"
 
-#: e2fsck/util.c:362
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3842,37 +3874,37 @@
 "%s: INCONSISTENCIA INESPERADA; EXECUTE fsck MANUALMENTE.\n"
 "\t(i.e., sem opções -a ou -p)\n"
 
-#: e2fsck/util.c:442
+#: e2fsck/util.c:438
 #, c-format
 msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Memória usada: %lluk/%lluk (%lluk/%lluk), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:444
 #, c-format
 msgid "Memory used: %lluk, "
 msgstr "Memória usada: %lluk, "
 
-#: e2fsck/util.c:454
+#: e2fsck/util.c:450
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "hora: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:459
+#: e2fsck/util.c:455
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "tempo decorrido: %6.3f\n"
 
-#: e2fsck/util.c:494 e2fsck/util.c:508
+#: e2fsck/util.c:490 e2fsck/util.c:504
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "ao ler inode %lu em %s"
 
-#: e2fsck/util.c:522 e2fsck/util.c:535
+#: e2fsck/util.c:518 e2fsck/util.c:531
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "ao escrever inode %lu em %s"
 
-#: e2fsck/util.c:793
+#: e2fsck/util.c:790
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "INCONSISTENCIA INESPERADA: o sistema de ficheiros está a ser modificado enquanto o fsck está em execução.\n"
 
@@ -3988,52 +4020,62 @@
 msgid "during test data write, block %lu"
 msgstr "durante escrita de dados de teste, bloco %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:134
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s está montado; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "badblocks forçado mesmo assim.  Espera-se que /etc/mtab esteja incorrecta.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "não é seguro executar badblocks!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:145
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s aparenta estar em uso pelo sistema; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "badblocks forçado mesmo assim.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "%s - %s inválido"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1135
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "Total de máximo de maus blocos %u muito grande - o máximo é %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1162
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "impossível alocae memória para test_pattern - %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1192
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "Máximo de um test_pattern pode ter sido especificado em modo só-de-leitura"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1198
 msgid "Random test_pattern is not allowed in read-only mode"
-msgstr "test_pattern aleatório não é permitido em modo só-de-leitura"
+msgstr "Não é permitido um test_pattern aleatório em modo só-de-leitura"
 
-#: misc/badblocks.c:1213
+#: misc/badblocks.c:1205
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Tamanho de bloco inválido: %d\n"
+
+#: misc/badblocks.c:1211
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "blocks_at_once inválido: %d\n"
+
+#: misc/badblocks.c:1225
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4041,41 +4083,41 @@
 "Impossível determinar o tamanho do dispositivo; tem de o\n"
 "especificar manualmente\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1231
 msgid "while trying to determine device size"
 msgstr "ao tentar determinar o tamanho do dispositivo"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1236
 msgid "last block"
 msgstr "último bloco"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1242
 msgid "first block"
 msgstr "primeiro bloco"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1245
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "bloco inicial inválido (%llu): tem de ser menor que %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1253
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "bloco final inválido (%llu): tem de ser um valor 32-bit"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1309
 msgid "while creating in-memory bad blocks list"
 msgstr "ao criar lista de maus blocos em memória"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1318
 msgid "input file - bad format"
 msgstr "ficheiro de entrada - mau formato"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1326 misc/badblocks.c:1335
 msgid "while adding to in-memory bad block list"
 msgstr "ao adicionar à lista de maus blocos em memória"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1360
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Passo concluído, encontrados %u maus blocos. (%d/%d/%d erros)\n"
@@ -4085,12 +4127,12 @@
 msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
 msgstr "Uso: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v versão] ficheiros...\n"
 
-#: misc/chattr.c:161
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "projecto errado - %s\n"
 
-#: misc/chattr.c:175
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "versão errada - %s\n"
@@ -4152,8 +4194,8 @@
 msgid "while reading inode %u"
 msgstr "ao ler inode %u"
 
-#: misc/create_inode.c:90 misc/create_inode.c:290 misc/create_inode.c:355
-#: misc/create_inode.c:393
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "ao expandir pasta"
 
@@ -4162,12 +4204,12 @@
 msgid "while linking \"%s\""
 msgstr "ao ligar \"%s\""
 
-#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:324
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "ao escrever inode %u"
 
-#: misc/create_inode.c:154 misc/create_inode.c:178
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "ao listar atributos de \"%s\""
@@ -4177,129 +4219,134 @@
 msgid "while opening inode %u"
 msgstr "ao abrir inode %u"
 
-#: misc/create_inode.c:171 misc/create_inode.c:198 misc/create_inode.c:1045
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "ao ler xattrs para o inode %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "ao alocar memória"
 
-#: misc/create_inode.c:191 misc/create_inode.c:207
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "ao ler atributo \"%s\" de \"%s\""
 
-#: misc/create_inode.c:216
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "ao escrever atributo \"%s\" no inode %u"
 
-#: misc/create_inode.c:226
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "ao fechar inode %u"
 
-#: misc/create_inode.c:277
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "ao alocar inode \"%s\""
 
-#: misc/create_inode.c:296
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "ao criar inode \"%s\""
 
-#: misc/create_inode.c:362
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "ao criar ligação simbólica \"%s\""
 
-#: misc/create_inode.c:380 misc/create_inode.c:965
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "ao procurar \"%s\""
 
-#: misc/create_inode.c:400
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "ao criar pasta \"%s\""
 
-#: misc/create_inode.c:629
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "ao abrir \"%s\" para cópia"
 
-#: misc/create_inode.c:807
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "ao mudar pasta de trabalho para \"%s\""
 
-#: misc/create_inode.c:817
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "ao analisar pasta \"%s\""
 
-#: misc/create_inode.c:827
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "ao lstat \"%s\""
 
-#: misc/create_inode.c:877
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "ao criar o ficheiro especial \"%s\""
 
-#: misc/create_inode.c:886
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "malloc falhou"
 
-#: misc/create_inode.c:894
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "ao tentar ler a ligação \"%s\""
 
-#: misc/create_inode.c:901
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "a ligação simbólica aumentou de tamanho entre lstat() e readlink()"
 
-#: misc/create_inode.c:912
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "ao escrever ligação simbólica \"%s\""
 
-#: misc/create_inode.c:923
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "ao escrever ficheiro \"%s\""
 
-#: misc/create_inode.c:936
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "ao fazer pasta \"%s\""
 
-#: misc/create_inode.c:954
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "ao mudar de pasta"
 
-#: misc/create_inode.c:960
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "a ignorar entrada \"%s\""
 
-#: misc/create_inode.c:973
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "ao definir inode para \"%s\""
 
-#: misc/create_inode.c:980
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "ao definir xattrs para \"%s\""
 
-#: misc/create_inode.c:1006
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "ao gravar dados do inode"
 
-#: misc/create_inode.c:1056
+#: misc/create_inode.c:1077
 msgid "while copying xattrs on root directory"
 msgstr "ao copiar xattrs na pasta raiz"
 
@@ -4424,54 +4471,54 @@
 msgid "Bad blocks: %u"
 msgstr "Maus blocos: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:375
+#: misc/dumpe2fs.c:374 misc/tune2fs.c:378
 msgid "while reading journal inode"
 msgstr "ao ler inode de diário"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:380
 msgid "while opening journal inode"
 msgstr "ao abrir inode de diário"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:386
 msgid "while reading journal super block"
 msgstr "ao ler super-bloco de diário"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:393
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Número mágico do super-bloco de diário inválido!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:218
+#: misc/dumpe2fs.c:413 misc/tune2fs.c:221
 msgid "while reading journal superblock"
 msgstr "ao ler super-bloco de diário"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:421
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Impossível encontrar números mágicos do super-bloco de diário"
 
-#: misc/dumpe2fs.c:470
+#: misc/dumpe2fs.c:476
 msgid "failed to alloc MMP buffer\n"
 msgstr "falha ao alocar buffer MMP\n"
 
-#: misc/dumpe2fs.c:481
+#: misc/dumpe2fs.c:487
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "a ler bloco MMP %llu de \"%s\"\n"
 
-#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2056
+#: misc/dumpe2fs.c:519 misc/mke2fs.c:811 misc/tune2fs.c:2118
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Impossível alocar memória para processar opções!\n"
 
-#: misc/dumpe2fs.c:537
+#: misc/dumpe2fs.c:545
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Parâmetro de super-bloco inválido: %s\n"
 
-#: misc/dumpe2fs.c:552
+#: misc/dumpe2fs.c:560
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Parâmetro de tamanho de bloco inválido: %s\n"
 
-#: misc/dumpe2fs.c:563
+#: misc/dumpe2fs.c:571
 #, c-format
 msgid ""
 "\n"
@@ -4494,27 +4541,27 @@
 "\tsuperblock=<número do super-bloco>\n"
 "\tblocksize=<tamanho do bloco>\n"
 
-#: misc/dumpe2fs.c:653 misc/mke2fs.c:1892
+#: misc/dumpe2fs.c:661 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tA usar %s\n"
 
-#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2998
+#: misc/dumpe2fs.c:708 misc/e2image.c:1637 misc/tune2fs.c:3004
 #: resize/main.c:418
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Impossível encontrar um super-bloco de sistema de ficheiros válido.\n"
 
-#: misc/dumpe2fs.c:720
+#: misc/dumpe2fs.c:730
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: funcionalidade MMP não activada.\n"
 
-#: misc/dumpe2fs.c:751
+#: misc/dumpe2fs.c:761
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "ao tentar ler bitmaps de \"%s\"\n"
 
-#: misc/dumpe2fs.c:760
+#: misc/dumpe2fs.c:770
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4537,8 +4584,8 @@
 msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:176 misc/e2image.c:592 misc/e2image.c:598
+#: misc/e2image.c:1200
 msgid "while allocating buffer"
 msgstr "ao alocar o buffer"
 
@@ -4552,163 +4599,167 @@
 msgid "error writing block %llu"
 msgstr "erro ao escrever bloco %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:199
 msgid "error in generic_write()"
 msgstr "erro em generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:216
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Erro: tamanho de cabeçalho maior que wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:221
 msgid "Couldn't allocate header buffer\n"
 msgstr "Impossível alocar buffer de cabeçalho\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:249
 msgid "while writing superblock"
 msgstr "ao escrever super-bloco"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:258
 msgid "while writing inode table"
 msgstr "ao escrever tabela de inodes"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:266
 msgid "while writing block bitmap"
 msgstr "ao escrever bitmap de bloco"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:274
 msgid "while writing inode bitmap"
 msgstr "ao escrever bitmap de inode"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:516
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Bloco de pasta corrompido %llu: mau rec_len (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:528
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Bloco de pasta corrompido %llu: mau name_len (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:569
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu / %llu blocos (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:602 misc/e2image.c:642
 msgid "Copying "
 msgstr "A copiar "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:639
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr "Parar agora destruirá o sistema de ficheiros, interrompa novamente se tem a certeza\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:665
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " %s restante em %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:677 misc/e2image.c:1210
 #, c-format
 msgid "error reading block %llu"
 msgstr "erro ao ler bloco %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:732
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Copiados %llu / %llu blocos (%d%%) em %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:737
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "em %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:773
 msgid "while allocating l1 table"
 msgstr "ao alocar tabela l1"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:818
 msgid "while allocating l2 cache"
 msgstr "ao alocar cache l2"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:841
 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 "Aviso: ainda há tabelas na cache ao Pôr a cache, perder-se-ão dados, pelo que a imagem poderá não ser válida.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1167
 msgid "while allocating ext2_qcow2_image"
 msgstr "ao alocar ext2_qcow2_image"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1174
 msgid "while initializing ext2_qcow2_image"
 msgstr "ao inicializar ext2_qcow2_image"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1234 misc/e2image.c:1252
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Erro de programação: criados múltiplos blocos refcount sequenciais!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1293
 msgid "while allocating block bitmap"
 msgstr "ao alocar bitmap de bloco"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1302
 msgid "while allocating scramble block bitmap"
 msgstr "ao alocar bitmap de bloco baralhado"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1325
 msgid "Scanning inodes...\n"
 msgstr "A analisar inodes...\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1337
 msgid "Can't allocate block buffer"
 msgstr "Impossível alocar buffer de bloco"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1349
+msgid "while getting next inode"
+msgstr "ao obter inode seguinte"
+
+#: misc/e2image.c:1376 misc/e2image.c:1390
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "ao iterar sobre inode %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1422
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "Não se podem instalar imagens raw e qcow2"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1444
 msgid "error reading bitmaps"
 msgstr "erro ao ler bitmaps"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1456
 msgid "while opening device file"
 msgstr "ao abrir ficheiro de dispositivo"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1467
 msgid "while restoring the image table"
 msgstr "ao restaurar a tabela da imagem"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1573
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "a opção -a só pode ser usada com imagens raw ou QCOW2."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1578
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "a opção -b só pode ser usada com imagens raw ou QCOW2."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1584
 msgid "Offsets are only allowed with raw images."
 msgstr "SAó são permitidos desvios com imagens raw."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1589
 msgid "Move mode is only allowed with raw images."
 msgstr "O modo move só é permitido com imagens raw."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1594
 msgid "Move mode requires all data mode."
 msgstr "O modo move requer o modo all data."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1604
 msgid "checking if mounted"
 msgstr "a verificar se está montado"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1611
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4720,51 +4771,51 @@
 "imagem inconsistente que não terá utilidade para depuração.\n"
 "Use a opção -f se realmente o quer fazer.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1665
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "A imagem QCOW2 não pode ser escrita em stdout!\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1671
 msgid "Can not stat output\n"
 msgstr "Impossível analisar a saída\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1681
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "A imagem (%s) está comprimida\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1684
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "A imagem (%s) está encriptada\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1687
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "A imagem (%s) está corrompida\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1691
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "ao tentar converter imagem qcow2 (%s) em imagem raw (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1701
 msgid "The -c option only supported in raw mode\n"
 msgstr "A opção -c só é suportada em modo raw\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1706
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "A opção -c não é suportada ao escrever em stdout\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1713
 msgid "while allocating check_buf"
 msgstr "ao alocar check_buf"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1719
 msgid "The -p option only supported in raw mode\n"
 msgstr "A opção -p só é suportada em modo raw\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1729
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d blocos já continham os dados a copiar\n"
@@ -4794,7 +4845,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: não é sistema ext2\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3203
+#: misc/e2label.c:97 misc/tune2fs.c:3213
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Aviso: rótulo muito longo, a truncar.\n"
@@ -4809,7 +4860,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: erro ao escrever super-bloco\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1713
+#: misc/e2label.c:117 misc/tune2fs.c:1770
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Uso: e2label dispositivo [novo-rótulo]\n"
@@ -4819,151 +4870,151 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Uso: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <ficheiro de transacção> <sistema de ficheiros>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "O super-bloco de sistema de ficheiros não corresponde ao ficheiro de desfazer.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "UUID não corresponde.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "Última hora de montagem não corresponde.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "Última hora de escrita não corresponde.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Contador de escrita vitalício não corresponde.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "ao ler super-bloco de sistema de ficheiros."
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "ao obter super-bloco"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "Checksum de super-bloco do ficheiro de desfazer não corresponde.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "desvio ilegal - %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "Não se escreve no ficheiro de desfazer enquanto ele estiver em reprodução.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "ao abrir ficheiro de desfazer \"%s\"\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "ao ler ficheiro de desfazer"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: não é ficheiro de desfazer.\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: checksum de cabeçalho não corresponde.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: cabeçalho de ficheiro de desfazer corrompido.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: tamanho de bloco de desfazer muito grande.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: tamanho de bloco de desfazer muito pequeno.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: conjunto de funcionalidades de ficheiro de desfazer desconhecido.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Erro ao determinar se %s está montado."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo só deve ser executado em sistemas de ficheiros desmontados"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "ao abrir \"%s\""
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "desvio especificado muito grande"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "ao ler chaves"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: magia de chave errada em %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: erro de checksum de bloco de chave em %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: bloco %llu é muito longo."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "ao obter bloco %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "erro de checksum em bloco de sistema de ficheiros %llu (undo blk %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "ao escrever bloco %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Corrupção de ficheiro de desfazer; execute e2fsck AGORA!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "Erro IO durante a reprodução; execute e2fsck AGORA!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Registo de desfazer incompleto; execute e2fsck.\n"
@@ -5118,51 +5169,56 @@
 msgid "%s: too many arguments\n"
 msgstr "%s: demasiados argumentos\n"
 
-#: misc/fuse2fs.c:3740
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "A montar só-de-leitura.\n"
 
-#: misc/fuse2fs.c:3764
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: permissão a todos os utilizadores para alocar todos os blocos. Isto é perigoso!\n"
 
-#: misc/fuse2fs.c:3776 misc/fuse2fs.c:3790
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3098
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3104
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Por favor, execute e2fsck -fy %s.\n"
 
-#: misc/fuse2fs.c:3799
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: montar só de leitura sem recuperar o diário\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "O diário precisa de recuperação; é requerida a execução de \"e2fsck -E journal_only\"\n"
 
-#: misc/fuse2fs.c:3807
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: escrever no diário não é suportado.\n"
 
-#: misc/fuse2fs.c:3822
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Aviso: a montar sf não verificado, recomenda-se a execução de e2fsck.\n"
 
-#: misc/fuse2fs.c:3826
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Aviso: atingido o máximo total de montagem, recomenda-se a execução de e2fsck.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Aviso: atingida hora de verificação; recomenda-se a execução de e2fsck.\n"
 
-#: misc/fuse2fs.c:3835
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Órfãos detectados; recomenda-se a execução de e2fsck.\n"
 
-#: misc/fuse2fs.c:3839
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Erros detectados; é requerida a execução de e2fsck.\n"
 
@@ -5186,7 +5242,7 @@
 msgid "While reading version on %s"
 msgstr "Ao ler versão em %s"
 
-#: misc/mke2fs.c:130
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5207,35 +5263,35 @@
 "\t[-t fs-type] [-T usage-type ] [-U UUID] [-e errors_behavior][-z undo_file]\n"
 "\t[-jnqvDFSV] dispositivo [blocks-count]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "A executar comando: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "ao tentar executar \"%s\""
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "ao processar lista de maus blocos do programa"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Mau bloco %d em área em descritor primário de super-bloco/grupo.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "Blocos %u a %u têm de estar em boa ordem para construir um sistema de ficheiros.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "A abortar...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5246,19 +5302,19 @@
 "\tmaus blocos.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3283
 msgid "while marking bad blocks as used"
 msgstr "ao marcar maus blocos como usados"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "ao escrever inodes reservados"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "A escrever tabelas de inodes: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5267,76 +5323,80 @@
 "\n"
 "Impossível escrever %d blocos na tabela de inodes começando em %llu: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2821 misc/mke2fs.c:3226
+#: misc/mke2fs.c:459 misc/mke2fs.c:2835 misc/mke2fs.c:3243
 msgid "done                            \n"
 msgstr "feito                           \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "ao criar pasta raiz"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "ao ler inode raiz"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "ao definir propriedade do inode raiz"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "ao criar /perdido+achado"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "ao procurar /perdido+achado"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "ao expandir /perdido+achado"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "ao definir inode de mau bloco"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Memória esgotada ao apagar sectores %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Aviso: impossível ler bloco 0: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Aviso: impossível apagar sector %d: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "ao dividir o tamanho do diário"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "ao inicializar super-bloco de diário"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "A pôr a zero o dispositivo de diário: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "ao pôr a zero o dispositivo de diário (bloco %llu, total %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "ao escrever super-bloco de diário"
 
-#: misc/mke2fs.c:664
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "A criar sistema de ficheiros com %llu %dk blocos e %u inodes\n"
 
-#: misc/mke2fs.c:672
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5345,164 +5405,164 @@
 "aviso: %llu blocos não usados.\n"
 "\n"
 
-#: misc/mke2fs.c:675
+#: misc/mke2fs.c:688
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr "Rótulo do sistema de ficheiros=%.*s\n"
 
-#: misc/mke2fs.c:679
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "Tipo de SO: %s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Tamanho de bloco=%u (diário=%u)\n"
 
-#: misc/mke2fs.c:684
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Tamanho de cluster=%u (diário=%u)\n"
 
-#: misc/mke2fs.c:688
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Tamanho de fragmento=%u (diário=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "Passo=%u blocos, Largura de banda=%u blocos\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u inodes, %llu blocos\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu blocos (%2.2f%%) reservado para super-utilizador\n"
 
-#: misc/mke2fs.c:697
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "1º bloco de dados=%u\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Dono da pasta raiz=%u:%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Máximo de blocos do sistema de ficheiros=%lu\n"
 
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u grupos de blocos\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u grupo de blocos\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u blocos por grupo, %u clusters por grupo\n"
 
-#: misc/mke2fs.c:712
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u blocos por grupo, %u fragmentos por grupo\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u inodes por grupo\n"
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "UUID do sistema de ficheiros: %s\n"
 
-#: misc/mke2fs.c:724
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Seguranças de super-blocos armazenadas em blocos: "
 
-#: misc/mke2fs.c:820
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s requer \"-O 64bit\"\n"
 
-#: misc/mke2fs.c:826
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "\"%s\" tem de estar antes de \"resize=%u\"\n"
 
-#: misc/mke2fs.c:839
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "desc_size inválido: \"%s\"\n"
 
-#: misc/mke2fs.c:853
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "Semente de hash inválida: %s\n"
 
-#: misc/mke2fs.c:865
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Desvio inválido: %s\n"
 
-#: misc/mke2fs.c:879 misc/tune2fs.c:2084
+#: misc/mke2fs.c:892 misc/tune2fs.c:2146
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "mmp_update_interval inválido: %s\n"
 
-#: misc/mke2fs.c:896
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Nº de super-blocos de segurança inválido: %s\n"
 
-#: misc/mke2fs.c:918
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Parâmetro de passo inválido: %s\n"
 
-#: misc/mke2fs.c:933
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Parâmetro de largura de banda inválido: %s\n"
 
-#: misc/mke2fs.c:956
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Parâmetro de redimensionamento inválido: %s\n"
 
-#: misc/mke2fs.c:963
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "O redimensionamento máximo tem de ser maior que o tamanho do sistema de ficheiros.\n"
 
-#: misc/mke2fs.c:987
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr "Redimensionamento em linha não suportado com sistemas de ficheiros revisão 0\n"
 
-#: misc/mke2fs.c:1013 misc/mke2fs.c:1022
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "root_owner inválido: \"%s\"\n"
 
-#: misc/mke2fs.c:1067
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "Codificação inválida: %s"
 
-#: misc/mke2fs.c:1085
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5555,7 +5615,7 @@
 "\tquotatype=<tipo(s) de quota a activar>\n"
 "\n"
 
-#: misc/mke2fs.c:1112
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5566,17 +5626,17 @@
 "Aviso: largura de banda RAID %u não é um múltiplo par do passo %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1123 misc/tune2fs.c:2220
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2282
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr "erro: bandeira de codificação inválida: %s\n"
 
-#: misc/mke2fs.c:1129 misc/tune2fs.c:2229
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2291
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr "erro: tem de especificar explicitamente uma codificação ao passar bandeiras de codificação\n"
 
-#: misc/mke2fs.c:1177
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5585,17 +5645,17 @@
 "Erro de sintaxe no ficheiro de configuração de mke2fs (%s, linha #%d)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1190 misc/tune2fs.c:1072
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1107
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Opção de sistema de ficheiros definida inválida: %s\n"
 
-#: misc/mke2fs.c:1202 misc/tune2fs.c:419
+#: misc/mke2fs.c:1217 misc/tune2fs.c:424
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Opção de montagem definida inválida: %s\n"
 
-#: misc/mke2fs.c:1338
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5604,7 +5664,7 @@
 "\n"
 "O seu ficheiro mke2fs.conf não define o tipo de sistema de ficheiros %s.\n"
 
-#: misc/mke2fs.c:1342
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5612,11 +5672,11 @@
 "Provavelmente tem de instalar um ficheiro mke2fs.conf actualizado.\n"
 "\n"
 
-#: misc/mke2fs.c:1346
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "A abortar...\n"
 
-#: misc/mke2fs.c:1387
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5627,79 +5687,79 @@
 "Aviso: fs_type %s não definido em mke2fs.conf\n"
 "\n"
 
-#: misc/mke2fs.c:1574
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Impossível alocar memória para o novo PATH.\n"
 
-#: misc/mke2fs.c:1611
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "Impossível inicializar o perfil com sucesso (erro: %ld).\n"
 
-#: misc/mke2fs.c:1644
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "tamanho de bloco inválido - %s"
 
-#: misc/mke2fs.c:1648
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Aviso: tamanho de bloco %d não utilizável na maioria dos sistemas.\n"
 
-#: misc/mke2fs.c:1664
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "tamanho de cluster inválido - %s"
 
-#: misc/mke2fs.c:1677
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "\"-R\" é obsoleto, use antes \"-E\""
 
-#: misc/mke2fs.c:1691 misc/tune2fs.c:1810
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1872
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "mau comportamento de erro - %s"
 
-#: misc/mke2fs.c:1703
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Número ilegal para blocos por grupo"
 
-#: misc/mke2fs.c:1708
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "blocos por grupo tem de ser múltiplo de 8"
 
-#: misc/mke2fs.c:1716
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Número ilegal para tamanho de flex_bg"
 
-#: misc/mke2fs.c:1722
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "tamanho de flex_bg tem de ser uma potência de 2"
 
-#: misc/mke2fs.c:1727
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "tamanho de flex_bg (%lu) tem de ser menor ou igual a 2^31"
 
-#: misc/mke2fs.c:1737
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "proporção de inode inválida %s (mín %d/máx %d)"
 
-#: misc/mke2fs.c:1747
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "tamanho de inode inválido - %s"
 
-#: misc/mke2fs.c:1760
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "Aviso: a opção -K option é obsoleta e já não devia ser usada. Use antes a opção estendida \"-E nodiscard\"!\n"
 
-#: misc/mke2fs.c:1771
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "em malloc para bad_blocks_filename"
 
-#: misc/mke2fs.c:1780
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
@@ -5708,67 +5768,67 @@
 "Aviso: rótulo muito grande; será truncado para \"%s\"\n"
 "\n"
 
-#: misc/mke2fs.c:1789
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "percentagem de blocos reservados inválida - %s"
 
-#: misc/mke2fs.c:1804
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "mau núm inodes - %s"
 
-#: misc/mke2fs.c:1817
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "ao alocar cadeia fs_feature"
 
-#: misc/mke2fs.c:1834
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "mau nível de revisão - %s"
 
-#: misc/mke2fs.c:1839
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "ao tentar criar revisão %d"
 
-#: misc/mke2fs.c:1853
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "A opção -t só pode ser usada uma vez"
 
-#: misc/mke2fs.c:1861
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "A opção -T só pode ser usada uma vez"
 
-#: misc/mke2fs.c:1917 misc/mke2fs.c:3310
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3366
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "ao tentar abrir dispositivo de diário %s\n"
 
-#: misc/mke2fs.c:1923
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr "Tamanho de bloco do dispositivo de diário (%d) menor que o tamanho mínimo de bloco %d\n"
 
-#: misc/mke2fs.c:1929
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "A usar tamanho de bloco do dispositivo de diário: %d\n"
 
-#: misc/mke2fs.c:1940
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "blocos \"%s\" inválidos no dispositivo \"%s\""
 
-#: misc/mke2fs.c:1970
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "sistema de ficheiros"
 
-#: misc/mke2fs.c:1988 resize/main.c:499
+#: misc/mke2fs.c:1991 resize/main.c:506
 msgid "while trying to determine filesystem size"
 msgstr "ao tentar determinar o tamanho do sistema de ficheiros"
 
-#: misc/mke2fs.c:1994
+#: misc/mke2fs.c:1997
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5776,7 +5836,7 @@
 "Impossível determinar o tamanho do dispositivo; tem de especificar\n"
 "o tamanho do sistema de ficheiros\n"
 
-#: misc/mke2fs.c:2001
+#: misc/mke2fs.c:2004
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5788,48 +5848,48 @@
 "\tpartição modificada estar ocupada e em uso. Pode precisar de reiniciar\n"
 "\tpara voltar a ler a tabela de partições.\n"
 
-#: misc/mke2fs.c:2018
+#: misc/mke2fs.c:2021
 msgid "Filesystem larger than apparent device size."
 msgstr "Sistema de ficheiros maior que o tamanho aparente do dispositivo."
 
-#: misc/mke2fs.c:2038
+#: misc/mke2fs.c:2041
 msgid "Failed to parse fs types list\n"
 msgstr "Falha ao analisar a lista de tipos de sistemas de ficheiros\n"
 
-#: misc/mke2fs.c:2088
+#: misc/mke2fs.c:2091
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "HURD não suporta a funcionalidade de tipo de ficheiro.\n"
 
-#: misc/mke2fs.c:2093
+#: misc/mke2fs.c:2096
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "HURD não suporta a funcionalidade huge_file.\n"
 
-#: misc/mke2fs.c:2098
+#: misc/mke2fs.c:2101
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "HURD não suporta a funcionalidade metadata_csum.\n"
 
-#: misc/mke2fs.c:2103
+#: misc/mke2fs.c:2106
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "HURD não suporta a funcionalidade ea_inode.\n"
 
-#: misc/mke2fs.c:2113
+#: misc/mke2fs.c:2116
 msgid "while trying to determine hardware sector size"
 msgstr "ao tentar determinar o tamanho do sector do equipamento"
 
-#: misc/mke2fs.c:2119
+#: misc/mke2fs.c:2122
 msgid "while trying to determine physical sector size"
 msgstr "ao tentar determinar o tamanho do sector físico"
 
-#: misc/mke2fs.c:2151
+#: misc/mke2fs.c:2154
 msgid "while setting blocksize; too small for device\n"
 msgstr "ao definir tamanho de bloco; muito pequeno para o dispositivo\n"
 
-#: misc/mke2fs.c:2156
+#: misc/mke2fs.c:2159
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Aviso: tamanho de bloco especificado %d menor que tamanho do sector físico do dispositivo %d\n"
 
-#: misc/mke2fs.c:2180
+#: misc/mke2fs.c:2183
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5838,7 +5898,7 @@
 "%s: tamanho do dispositivo (0x%llx blocos) %s muito grande para expressar\n"
 "\tem 32 bits usando um tamanho de bloco de %d.\n"
 
-#: misc/mke2fs.c:2194
+#: misc/mke2fs.c:2197
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5847,85 +5907,85 @@
 "%s: tamanho de dispositivo (0x%llx blocos) %s muito grande para criar\n"
 "\tum sistema de ficheiros usando tamanho de bloco %d.\n"
 
-#: misc/mke2fs.c:2216
+#: misc/mke2fs.c:2219
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "fs_types para resolução mke2fs.conf: "
 
-#: misc/mke2fs.c:2223
+#: misc/mke2fs.c:2226
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr "Funcionalidades de sistema de ficheiros não suportadas com sistemas de ficheiros revisão 0\n"
 
-#: misc/mke2fs.c:2231
+#: misc/mke2fs.c:2234
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr "Super-blocos esparsos não suportados com sistemas de ficheiros revisão 0\n"
 
-#: misc/mke2fs.c:2241
+#: misc/mke2fs.c:2244
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr "Diários não suportados com sistemas de ficheiros revisão 0\n"
 
-#: misc/mke2fs.c:2254
+#: misc/mke2fs.c:2257
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "percentagem de blocos reservados inválida - %lf"
 
-#: misc/mke2fs.c:2271
+#: misc/mke2fs.c:2274
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr "Extents TÊM de estar activadas para um sistema de ficheiros 64-bit. Passe -O extents para rectificar.\n"
 
-#: misc/mke2fs.c:2291
+#: misc/mke2fs.c:2294
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "O tamanho de cluster não pode ser menor que o tamanho de bloco.\n"
 
-#: misc/mke2fs.c:2297
+#: misc/mke2fs.c:2300
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "especificar um tamanho de cluster requer a funcionalidade bigalloc"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2320
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "aviso: impossível obter a geometria do dispositivo para %s\n"
 
-#: misc/mke2fs.c:2329
+#: misc/mke2fs.c:2332
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "alinhamento de %s está desviado em %lu bytes.\n"
 
-#: misc/mke2fs.c:2331
+#: misc/mke2fs.c:2334
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr "Isto pode resultar num desempenho muito pobre, recomenda-se re-particionamento.\n"
 
-#: misc/mke2fs.c:2337
+#: misc/mke2fs.c:2340
 #, 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 "%s é capaz de DAX, mas o tamanho de blco actual %u é diferente do tamanho de página do sistema %u, logo o sistema de ficheiros não suportará DAX.\n"
 
-#: misc/mke2fs.c:2361
+#: misc/mke2fs.c:2364
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "blocos %d-byte muito grandes para o sistema (máx %d)"
 
-#: misc/mke2fs.c:2365
+#: misc/mke2fs.c:2368
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr "Aviso: blocos %d-byte muito grandes para o sistema (máx %d), forçado a continuar\n"
 
-#: misc/mke2fs.c:2373
+#: misc/mke2fs.c:2376
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Sugestão: use kernel Linux >= 3.18 para estabilidade melhorada das funcionalidades de checksum dos meta-dados e diários.\n"
 
-#: misc/mke2fs.c:2419
+#: misc/mke2fs.c:2422
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr "Codificação de nome de ficheiro a partir de perfil desconhecida: %s"
 
-#: misc/mke2fs.c:2430
+#: misc/mke2fs.c:2433
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr "Bandeiras de codificação a partir do perfil desconhecidas: %s"
 
-#: misc/mke2fs.c:2455
+#: misc/mke2fs.c:2458
 #, c-format
 msgid ""
 "\n"
@@ -5940,16 +6000,16 @@
 "pode não ser o que deseja.\n"
 "\n"
 
-#: misc/mke2fs.c:2470
+#: misc/mke2fs.c:2473
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "inodes de %d byte são muito pequenos para a quota do projecto"
 
-#: misc/mke2fs.c:2492
+#: misc/mke2fs.c:2495
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "Impossível suportar a funcionalidade bigalloc sem a funcionalidade extents"
 
-#: misc/mke2fs.c:2499
+#: misc/mke2fs.c:2502
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -5957,7 +6017,7 @@
 "As funcionalidades resize_inode e meta_bg não são compatíveis.\n"
 "Não podem estar activas simultaneamente.\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2510
 msgid ""
 "\n"
 "Warning: the bigalloc feature is still under development\n"
@@ -5969,39 +6029,39 @@
 "Veja https://ext4.wiki.kernel.org/index.php/Bigalloc para mais informação\n"
 "\n"
 
-#: misc/mke2fs.c:2519
+#: misc/mke2fs.c:2522
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr "redimensionamento de blocos em linha reservado não é suportado em sistemas de ficheiros não-esparsos"
 
-#: misc/mke2fs.c:2528
+#: misc/mke2fs.c:2531
 msgid "blocks per group count out of range"
 msgstr "total de blocos por grupo fora do intervalo"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2553
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "Funcionalidade Flex_bg não activa, não pode especificar tamanho flex_bg"
 
-#: misc/mke2fs.c:2562
+#: misc/mke2fs.c:2565
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "tamanho de inode inválido %d (mín %d/máx %d)"
 
-#: misc/mke2fs.c:2577
+#: misc/mke2fs.c:2580
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "inodes de %d byte muito pequenos para dados em linha; especifique um tamanho maior"
 
-#: misc/mke2fs.c:2592
+#: misc/mke2fs.c:2595
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "demasiados inodes (%llu), aumentar a proporção de inodes?"
 
-#: misc/mke2fs.c:2599
+#: misc/mke2fs.c:2603
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "demasiados inodes (%llu), especifique < 2^32 inodes"
 
-#: misc/mke2fs.c:2613
+#: misc/mke2fs.c:2617
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6012,65 +6072,69 @@
 "\tsistema de ficheiros com %llu blocos, especifique inode_ratio (-i) maior\n"
 "\tou menor total de inode (-N).\n"
 
-#: misc/mke2fs.c:2800
+#: misc/mke2fs.c:2814
 msgid "Discarding device blocks: "
 msgstr "A descartar blocos de dispositivo: "
 
-#: misc/mke2fs.c:2816
+#: misc/mke2fs.c:2830
 msgid "failed - "
 msgstr "falhou - "
 
-#: misc/mke2fs.c:2875
+#: misc/mke2fs.c:2889
 msgid "while initializing quota context"
 msgstr "ao inicializar contexto de quota"
 
-#: misc/mke2fs.c:2882
+#: misc/mke2fs.c:2896
 msgid "while writing quota inodes"
 msgstr "ao escrever inodes de quota"
 
-#: misc/mke2fs.c:2907
+#: misc/mke2fs.c:2921
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "mau comportamento de erro em perfil - %s"
 
-#: misc/mke2fs.c:2983
+#: misc/mke2fs.c:3000
 msgid "in malloc for android_sparse_params"
 msgstr "em malloc para android_sparse_params"
 
-#: misc/mke2fs.c:2997
+#: misc/mke2fs.c:3014
 msgid "while setting up superblock"
 msgstr "ao configurar super-bloco"
 
-#: misc/mke2fs.c:3013
+#: misc/mke2fs.c:3030
 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 "Extensões não activadas. A árvore de extensões de ficheiro pode ter a checksum, mas os mapas de bloco não. Não activar as extensões reduz a cobertura das checksums de meta-dados. Passe -0 extends para rectificar.\n"
 
-#: misc/mke2fs.c:3020
+#: misc/mke2fs.c:3037
 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 "Suporte a sistemas de ficheiros 64 bits não activado. Os campos maiores oferecidos por esta funcionalidade activam as checksums de máxima força. Passe -0 64bit para rectificar\n"
 
-#: misc/mke2fs.c:3028
+#: misc/mke2fs.c:3045
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "A funcionalidade metadata_csum_seed requer a funcionalidade metadata_csum.\n"
 
-#: misc/mke2fs.c:3052
+#: misc/mke2fs.c:3069
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "Descarte com sucesso e devolverá 0s - a saltar limpeza da tabela de inodes\n"
 
-#: misc/mke2fs.c:3151
+#: misc/mke2fs.c:3168
 #, c-format
 msgid "unknown os - %s"
 msgstr "so desconhecido - %s"
 
-#: misc/mke2fs.c:3214
+#: misc/mke2fs.c:3231
 msgid "Allocating group tables: "
 msgstr "A alocar tabelas de grupo: "
 
-#: misc/mke2fs.c:3222
+#: misc/mke2fs.c:3239
 msgid "while trying to allocate filesystem tables"
 msgstr "ao tentar alocar tabelas de sistemas de ficheiros"
 
-#: misc/mke2fs.c:3231
+#: misc/mke2fs.c:3254
+msgid "while unmarking bad blocks"
+msgstr "ao desmarcar maus blocos"
+
+#: misc/mke2fs.c:3265
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6078,30 +6142,34 @@
 "\n"
 "\tao converter bitmap de sub-cluster"
 
-#: misc/mke2fs.c:3237
+#: misc/mke2fs.c:3274
+msgid "while calculating overhead"
+msgstr "ao calcular overhead"
+
+#: misc/mke2fs.c:3293
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s pode estar mais comprometido pela re-escrita do super-bloco\n"
 
-#: misc/mke2fs.c:3278
+#: misc/mke2fs.c:3334
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "ao pôr a zero o bloco %llu no final do sistema de ficheiros"
 
-#: misc/mke2fs.c:3291
+#: misc/mke2fs.c:3347
 msgid "while reserving blocks for online resize"
 msgstr "ao reservar blocos para redimensionamento em linha"
 
-#: misc/mke2fs.c:3303 misc/tune2fs.c:1516
+#: misc/mke2fs.c:3359 misc/tune2fs.c:1569
 msgid "journal"
 msgstr "diário"
 
-#: misc/mke2fs.c:3315
+#: misc/mke2fs.c:3371
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "A adicionar diário ao dispositivo %s: "
 
-#: misc/mke2fs.c:3322
+#: misc/mke2fs.c:3378
 #, c-format
 msgid ""
 "\n"
@@ -6110,21 +6178,21 @@
 "\n"
 "\tao tentar adicionar diário ao dispositivo %s"
 
-#: misc/mke2fs.c:3327 misc/mke2fs.c:3356 misc/mke2fs.c:3394
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1545 misc/tune2fs.c:1564
+#: misc/mke2fs.c:3383 misc/mke2fs.c:3413 misc/mke2fs.c:3455
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1598 misc/tune2fs.c:1620
 msgid "done\n"
 msgstr "feito\n"
 
-#: misc/mke2fs.c:3333
+#: misc/mke2fs.c:3390
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "A saltar criação de diário em modo super-only\n"
 
-#: misc/mke2fs.c:3343
+#: misc/mke2fs.c:3400
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "A criar diário (%u blocos): "
 
-#: misc/mke2fs.c:3352
+#: misc/mke2fs.c:3409
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6132,7 +6200,7 @@
 "\n"
 "\tao tentar criar diário"
 
-#: misc/mke2fs.c:3364 misc/tune2fs.c:1137
+#: misc/mke2fs.c:3421 misc/tune2fs.c:1172
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6140,28 +6208,28 @@
 "\n"
 "Erro ao activar funcionalidade de protecção de múltipla montagem."
 
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3426
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr "Protecção de múltipla montagem activada com intervalo de actualização de %d segundos.\n"
 
-#: misc/mke2fs.c:3385
+#: misc/mke2fs.c:3446
 msgid "Copying files into the device: "
 msgstr "A copiar ficheiros para o dispositivo: "
 
-#: misc/mke2fs.c:3391
+#: misc/mke2fs.c:3452
 msgid "while populating file system"
 msgstr "ao povoar o sistema de ficheiros"
 
-#: misc/mke2fs.c:3398
+#: misc/mke2fs.c:3459
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr "A escrever super-blocos e informação de contabilidade do sistema de ficheiros: "
 
-#: misc/mke2fs.c:3405
+#: misc/mke2fs.c:3466
 msgid "while writing out and closing file system"
 msgstr "ao escrever e fechar o sistema de ficheiros"
 
-#: misc/mke2fs.c:3408
+#: misc/mke2fs.c:3469
 msgid ""
 "done\n"
 "\n"
@@ -6174,26 +6242,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "ao pôr a zero o bloco %llu para ficheiro enorme"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Desvio de partição de %llu (%uk) blocos não é compatível com o tamanho do cluster %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Ficheiros enormes serão postos a zero\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
-msgstr "a criar %lu ficheiros enormes."
+msgstr "a criar %lu ficheiros enormes "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "com %llu blocos cada"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "ao criar ficheiro enorme %lu"
@@ -6274,20 +6342,20 @@
 "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n"
 "\t[-I new_inode_size] [-z undo_file] dispositivo\n"
 
-#: misc/tune2fs.c:225
+#: misc/tune2fs.c:228
 msgid "Journal superblock not found!\n"
 msgstr "Super-bloco de diário não encontrado!\n"
 
-#: misc/tune2fs.c:283
+#: misc/tune2fs.c:286
 msgid "while trying to open external journal"
 msgstr "ao tentar abrir diário externo"
 
-#: misc/tune2fs.c:289 misc/tune2fs.c:2889
+#: misc/tune2fs.c:292 misc/tune2fs.c:2894
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s não é dispositivo de diário.\n"
 
-#: misc/tune2fs.c:298 misc/tune2fs.c:2898
+#: misc/tune2fs.c:301 misc/tune2fs.c:2903
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
@@ -6296,11 +6364,11 @@
 "Super-bloco de diário corrompido, nr_users\n"
 "muito alto (%d).\n"
 
-#: misc/tune2fs.c:305 misc/tune2fs.c:2905
+#: misc/tune2fs.c:308 misc/tune2fs.c:2910
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr "UUID do sistema de ficheiros não encontrada no dispositivo de diário.\n"
 
-#: misc/tune2fs.c:329
+#: misc/tune2fs.c:332
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6308,52 +6376,52 @@
 "Impossível localizar o dispositivo de diário. NÃO foi removido\n"
 "Use a opção -f para remover o dispositivo de diário em falta.\n"
 
-#: misc/tune2fs.c:338
+#: misc/tune2fs.c:341
 msgid "Journal removed\n"
 msgstr "Diário removido\n"
 
-#: misc/tune2fs.c:382
+#: misc/tune2fs.c:385
 msgid "while reading bitmaps"
 msgstr "ao ler bitmaps"
 
-#: misc/tune2fs.c:390
+#: misc/tune2fs.c:393
 msgid "while clearing journal inode"
 msgstr "ao limpar inode de diário"
 
-#: misc/tune2fs.c:401
+#: misc/tune2fs.c:406
 msgid "while writing journal inode"
 msgstr "ao escrever inode de diário"
 
-#: misc/tune2fs.c:437 misc/tune2fs.c:462 misc/tune2fs.c:475
+#: misc/tune2fs.c:442 misc/tune2fs.c:467 misc/tune2fs.c:480
 msgid "(and reboot afterwards!)\n"
 msgstr "(e reiniciar depois!)\n"
 
-#: misc/tune2fs.c:490
+#: misc/tune2fs.c:495
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Após executar e2fsck, por favor execute `resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:498
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Por favor, execute `resize2fs %s %s"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:502
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:499
+#: misc/tune2fs.c:504
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "' para activar o modo 64-bit.\n"
 
-#: misc/tune2fs.c:501
+#: misc/tune2fs.c:506
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "' para desactivar o modo 64-bit.\n"
 
-#: misc/tune2fs.c:1039
+#: misc/tune2fs.c:1074
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6361,17 +6429,17 @@
 "AVISO: impossível confirmar o suporte do kernel a metadata_csum_seed.\n"
 "  Isto requer o Linux >= v4.4.\n"
 
-#: misc/tune2fs.c:1075
+#: misc/tune2fs.c:1110
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "Funcionalidade \"%s\" de limpeza do sistema de ficheiros não suportada.\n"
 
-#: misc/tune2fs.c:1081
+#: misc/tune2fs.c:1116
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "Funcionalidade \"%s\" de definição do sistema de ficheiros não suportada.\n"
 
-#: misc/tune2fs.c:1090
+#: misc/tune2fs.c:1125
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6379,7 +6447,7 @@
 "A funcionalidade has_journal só pode ser limpa quando o sistema de ficheiros estiver\n"
 "desmontado ou montado como só-de-leitura.\n"
 
-#: misc/tune2fs.c:1098
+#: misc/tune2fs.c:1133
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6387,7 +6455,7 @@
 "A bandeira needs_recovery está definida. Por favor, execute e2fsck antes de limpar\n"
 "a bandeira has_journal.\n"
 
-#: misc/tune2fs.c:1116
+#: misc/tune2fs.c:1151
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6395,7 +6463,7 @@
 "Definiçã da funcionalidade \"sparse_super\" do sistema de ficheiros não suportada\n"
 "em sistemas de ficheiros com meta_bg feature activa.\n"
 
-#: misc/tune2fs.c:1129
+#: misc/tune2fs.c:1164
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6405,12 +6473,12 @@
 "pode ser definida se o sistema de ficheiros estiver montado\n"
 "seja só de leitura.\n"
 
-#: misc/tune2fs.c:1147
+#: misc/tune2fs.c:1182
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr "Protecção de montagem múltipla activada com intervalo de actualização de  %ds.\n"
 
-#: misc/tune2fs.c:1156
+#: misc/tune2fs.c:1191
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6418,20 +6486,28 @@
 "A funcionalidade de protecção de montagem múltipla não pode\n"
 "ser desactivada se o sistema de ficheiros for só de leitura.\n"
 
-#: misc/tune2fs.c:1164
+#: misc/tune2fs.c:1199
 msgid "Error while reading bitmaps\n"
 msgstr "Erro ao ler bitmaps\n"
 
-#: misc/tune2fs.c:1173
+#: misc/tune2fs.c:1208
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "O número mágico no bloco MMP não corresponde. Esperado: %x, actual: %x\n"
 
-#: misc/tune2fs.c:1178
+#: misc/tune2fs.c:1213
 msgid "while reading MMP block."
 msgstr "ao ler bloco MMP."
 
-#: misc/tune2fs.c:1210
+#: misc/tune2fs.c:1246
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Desactivar o índice da pasta no sistema de ficheiros com checksums pode levar algum tempo."
+
+#: misc/tune2fs.c:1250
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Impossível desactivar dir_index num sistema de ficheiros montado!\n"
+
+#: misc/tune2fs.c:1263
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
@@ -6439,7 +6515,7 @@
 "Limpar a bandeira flex_bg faria com que o sistema de ficheiros se\n"
 "tornasse inconsistente.\n"
 
-#: misc/tune2fs.c:1221
+#: misc/tune2fs.c:1274
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6447,54 +6523,54 @@
 "A funcionalidade huge_file só pode ser limpa quando o sistema de ficheiros estiver\n"
 "desmontado ou montado só-de-leitura.\n"
 
-#: misc/tune2fs.c:1232
+#: misc/tune2fs.c:1285
 msgid "Enabling checksums could take some time."
 msgstr "Activar as checksums pode levar algum tempo."
 
-#: misc/tune2fs.c:1235
+#: misc/tune2fs.c:1288
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "Impossível activar metadata_csum num sistema de ficheiros montado!\n"
 
-#: misc/tune2fs.c:1241
+#: misc/tune2fs.c:1294
 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.  Re-run with -O extent to rectify.\n"
 msgstr "Extents não estão activas. A árvore de extensão do ficheiro pode aceitar a checksum, mas os mapas de bloco não. Não activar as extensões reduz a cobertura das checksums de meta-dados. Re-execute com -O extent para rectificar.\n"
 
-#: misc/tune2fs.c:1248
+#: misc/tune2fs.c:1301
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr "Suporte a sistemas de ficheiros de 64-bit não activo. Os campos mais largos oferecidos por esta funcionalidade permitem as checksums de máxima força. Execute resize2fs -b para rectificar.\n"
 
-#: misc/tune2fs.c:1274
+#: misc/tune2fs.c:1327
 msgid "Disabling checksums could take some time."
 msgstr "Desactivar as checksums pode levar algum tempo."
 
-#: misc/tune2fs.c:1277
+#: misc/tune2fs.c:1330
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "Impossível desactivar metadata_csum num sistema de ficheiros montado!\n"
 
-#: misc/tune2fs.c:1318
+#: misc/tune2fs.c:1371
 msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
 msgstr "Impossível activar uninit_bg num sistema de ficheiros montado!\n"
 
-#: misc/tune2fs.c:1333
+#: misc/tune2fs.c:1386
 msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
 msgstr "Impossível desactivar uninit_bg num sistema de ficheiros montado!\n"
 
-#: misc/tune2fs.c:1352
+#: misc/tune2fs.c:1405
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "Impossível activar o modo 64-bit enquanto montado!\n"
 
-#: misc/tune2fs.c:1362
+#: misc/tune2fs.c:1415
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "Impossível desactivar o modo 64-bit enquanto montado!\n"
 
-#: misc/tune2fs.c:1392
+#: misc/tune2fs.c:1445
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "Impossível activar a funcionalidade do projecto; tamanho de inode muito pequeno.\n"
 
-#: misc/tune2fs.c:1413
+#: misc/tune2fs.c:1466
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6502,11 +6578,11 @@
 "\n"
 "Aviso: a opção \"^quota\" sobrpõe-se a argumentos \"-Q\".\n"
 
-#: misc/tune2fs.c:1430 misc/tune2fs.c:2182
+#: misc/tune2fs.c:1483 misc/tune2fs.c:2244
 msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr "A funcionalidade casefold só pode ser activada com o sistema de ficheiros desmontado.\n"
 
-#: misc/tune2fs.c:1442
+#: misc/tune2fs.c:1495
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6514,7 +6590,7 @@
 "Definir a funcionalidade \"metadata_csum_seed\" só é suportado\n"
 "em sistemas de ficheiroscom a funcionalidade metadata_csum activa.\n"
 
-#: misc/tune2fs.c:1460
+#: misc/tune2fs.c:1513
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
@@ -6522,15 +6598,15 @@
 "UUID alterada desde a activação de metadata_csum. O sistema de ficheiros tem de ser\n"
 "desmontado para reescrever com segurança os meta-dados correspondentes à nova UUID.\n"
 
-#: misc/tune2fs.c:1466
+#: misc/tune2fs.c:1519
 msgid "Recalculating checksums could take some time."
 msgstr "Recalcular as checksums pode levar algum tempo."
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1562
 msgid "The filesystem already has a journal.\n"
 msgstr "O sistema de ficheiros já tem um diário.\n"
 
-#: misc/tune2fs.c:1529
+#: misc/tune2fs.c:1582
 #, c-format
 msgid ""
 "\n"
@@ -6539,21 +6615,21 @@
 "\n"
 "\tao tentar abrir o diário em %s\n"
 
-#: misc/tune2fs.c:1533
+#: misc/tune2fs.c:1586
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "A criar diário no dispositivo %s: "
 
-#: misc/tune2fs.c:1541
+#: misc/tune2fs.c:1594
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "ao adicionar sistema de ficheiros ao diário em %s"
 
-#: misc/tune2fs.c:1547
+#: misc/tune2fs.c:1600
 msgid "Creating journal inode: "
 msgstr "A criar inode de diário: "
 
-#: misc/tune2fs.c:1561
+#: misc/tune2fs.c:1614
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6561,31 +6637,31 @@
 "\n"
 "\tao tentar criar ficheiros de diário"
 
-#: misc/tune2fs.c:1599
+#: misc/tune2fs.c:1656
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "Impossível activar quota do projecto; tamanho de inode muito pequeno.\n"
 
-#: misc/tune2fs.c:1612
+#: misc/tune2fs.c:1669
 msgid "while initializing quota context in support library"
 msgstr "ao inicializar contexto de quota em biblioteca de suporte"
 
-#: misc/tune2fs.c:1627
+#: misc/tune2fs.c:1684
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "ao actualizar limites de quota (%d)"
 
-#: misc/tune2fs.c:1637
+#: misc/tune2fs.c:1694
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "ao escrever ficheiro de quota (%d)"
 
-#: misc/tune2fs.c:1655
+#: misc/tune2fs.c:1712
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "ao remover ficheiro de quota (%d)"
 
-#: misc/tune2fs.c:1698
+#: misc/tune2fs.c:1755
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6607,119 +6683,119 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1756
+#: misc/tune2fs.c:1813
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Impossível analisar especificador de data/hora: %s"
 
-#: misc/tune2fs.c:1781 misc/tune2fs.c:1794
+#: misc/tune2fs.c:1845 misc/tune2fs.c:1856
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "total de montagem mau - %s"
 
-#: misc/tune2fs.c:1837
+#: misc/tune2fs.c:1899
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "mau nome de gid/grupo - %s"
 
-#: misc/tune2fs.c:1870
+#: misc/tune2fs.c:1932
 #, c-format
 msgid "bad interval - %s"
 msgstr "mau intervalo - %s"
 
-#: misc/tune2fs.c:1899
+#: misc/tune2fs.c:1961
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "má proporção de bloco reservado - %s"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:1976
 msgid "-o may only be specified once"
 msgstr "-o só pode ser especificado uma vez"
 
-#: misc/tune2fs.c:1923
+#: misc/tune2fs.c:1985
 msgid "-O may only be specified once"
 msgstr "-O só pode ser especificado uma vez"
 
-#: misc/tune2fs.c:1940
+#: misc/tune2fs.c:2002
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "mau total de blocos reservados - %s"
 
-#: misc/tune2fs.c:1969
+#: misc/tune2fs.c:2031
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "mau nome de uid/utilizador - %s"
 
-#: misc/tune2fs.c:1986
+#: misc/tune2fs.c:2048
 #, c-format
 msgid "bad inode size - %s"
 msgstr "mau tamanho de inode - %s"
 
-#: misc/tune2fs.c:1993
+#: misc/tune2fs.c:2055
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "Tamanho de inode tem de ser uma potência de 2- %s"
 
-#: misc/tune2fs.c:2093
+#: misc/tune2fs.c:2155
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "mmp_update_interval muito grande: %lu\n"
 
-#: misc/tune2fs.c:2098
+#: misc/tune2fs.c:2160
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
 msgstr[0] "A definir intervalo de actualização de protecção de montagem múltipla para %lu segundo\n"
 msgstr[1] "A definir intervalo de actualização de protecção de montagem múltipla para %lu segundos\n"
 
-#: misc/tune2fs.c:2107
+#: misc/tune2fs.c:2169
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "A definir bandeira de erro do sistema de ficheiros para forçar fsck.\n"
 
-#: misc/tune2fs.c:2125
+#: misc/tune2fs.c:2187
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Passo RAID inválido: %s\n"
 
-#: misc/tune2fs.c:2140
+#: misc/tune2fs.c:2202
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Largura de banda RAID inválida: %s\n"
 
-#: misc/tune2fs.c:2155
+#: misc/tune2fs.c:2217
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Algoritmo hash inválido: %s\n"
 
-#: misc/tune2fs.c:2161
+#: misc/tune2fs.c:2223
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "A predefinir algoritmo hash para %s (%d)\n"
 
-#: misc/tune2fs.c:2188
+#: misc/tune2fs.c:2250
 #, c-format
 msgid "Cannot alter existing encoding\n"
 msgstr "Impossível alterar a codificação existente\n"
 
-#: misc/tune2fs.c:2194
+#: misc/tune2fs.c:2256
 #, c-format
 msgid "Invalid encoding: %s\n"
 msgstr "Codificação inválida: %s\n"
 
-#: misc/tune2fs.c:2200
+#: misc/tune2fs.c:2262
 #, c-format
 msgid "Setting encoding to '%s'\n"
 msgstr ""
 "A definir codificação para \"%s\"\n"
 "\n"
 
-#: misc/tune2fs.c:2224
+#: misc/tune2fs.c:2286
 #, c-format
 msgid "Setting encoding_flags to '%s'\n"
 msgstr "A definir encoding_flags como \"%s\"\n"
 
-#: misc/tune2fs.c:2234
+#: misc/tune2fs.c:2296
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6760,31 +6836,31 @@
 "\tencoding_flags=<bandeiras>\n"
 "\n"
 
-#: misc/tune2fs.c:2707
+#: misc/tune2fs.c:2712
 msgid "Failed to read inode bitmap\n"
 msgstr "Falha ao ler bitmap de inode\n"
 
-#: misc/tune2fs.c:2712
+#: misc/tune2fs.c:2717
 msgid "Failed to read block bitmap\n"
 msgstr "Falha ao ler bitmap de bloco\n"
 
-#: misc/tune2fs.c:2729 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2734 resize/resize2fs.c:1284
 msgid "blocks to be moved"
 msgstr "blocos a mover"
 
-#: misc/tune2fs.c:2732
+#: misc/tune2fs.c:2737
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Falha ao alocar bimap de bloco ao aumentar tamanho do inode\n"
 
-#: misc/tune2fs.c:2738
+#: misc/tune2fs.c:2743
 msgid "Not enough space to increase inode size \n"
 msgstr "Sem espaço suficiente para aumentar tamanho do inode \n"
 
-#: misc/tune2fs.c:2743
+#: misc/tune2fs.c:2748
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Falha ao relocalizar blocos durante o redimensionamento do inode \n"
 
-#: misc/tune2fs.c:2775
+#: misc/tune2fs.c:2780
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6792,7 +6868,7 @@
 "Erro ao redimensionar o inode.\n"
 "Execute e2undo para desfazer as alterações ao sistema de ficheiros. \n"
 
-#: misc/tune2fs.c:2985
+#: misc/tune2fs.c:2991
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6800,7 +6876,7 @@
 "Se tem a certeza de que o sistema de ficheiros não está em uso em nenhum nó, execute:\n"
 "\"tune2fs -f -E clear_mmp {dispositivo}\"\n"
 
-#: misc/tune2fs.c:2992
+#: misc/tune2fs.c:2998
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6809,29 +6885,29 @@
 "A magia do bloco MMP está má. Tente repará-la executando:\n"
 "\"e2fsck -f %s\"\n"
 
-#: misc/tune2fs.c:3004
+#: misc/tune2fs.c:3010
 msgid "Cannot modify a journal device.\n"
 msgstr "Impossível modificar um dispositivo de diário.\n"
 
-#: misc/tune2fs.c:3017
+#: misc/tune2fs.c:3023
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "O tamanho do inode já é %lu\n"
 
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3030
 msgid "Shrinking inode size is not supported\n"
 msgstr "Diminuição do tamanho do inode não suportada\n"
 
-#: misc/tune2fs.c:3029
+#: misc/tune2fs.c:3035
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "Tamanho de inode inválido %lu (máx %d)\n"
 
-#: misc/tune2fs.c:3035
+#: misc/tune2fs.c:3041
 msgid "Resizing inodes could take some time."
 msgstr "Redimensionar inodes pode levar algum tempo."
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3090
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6848,57 +6924,57 @@
 "e depois re-executar este comando. Senão, quaisquer alterações podem ser sobrescritas\n"
 "pela recuperação do diário.\n"
 
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3099
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "A recuperar diário.\n"
 
-#: misc/tune2fs.c:3114
+#: misc/tune2fs.c:3123
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "A definir máximo de total de montagens para %d\n"
 
-#: misc/tune2fs.c:3120
+#: misc/tune2fs.c:3129
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "A definir total de montagens actual para %d\n"
 
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3134
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "A definir comportamento de erro para %d\n"
 
-#: misc/tune2fs.c:3130
+#: misc/tune2fs.c:3139
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "A definir gid de blocos reservados para %lu\n"
 
-#: misc/tune2fs.c:3135
+#: misc/tune2fs.c:3144
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "intervalo entre verificações muito grande (%lu)"
 
-#: misc/tune2fs.c:3142
+#: misc/tune2fs.c:3151
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "A definir intervalo entre verificações para %lu segundos\n"
 
-#: misc/tune2fs.c:3149
+#: misc/tune2fs.c:3158
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "A definir percentagem de blocos reservados para %g%% (%llu blocos)\n"
 
-#: misc/tune2fs.c:3155
+#: misc/tune2fs.c:3165
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "total de blocos reservados muito grande (%llu)"
 
-#: misc/tune2fs.c:3162
+#: misc/tune2fs.c:3172
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "A definir total de blocos reservados para %llu\n"
 
-#: misc/tune2fs.c:3167
+#: misc/tune2fs.c:3177
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -6906,7 +6982,7 @@
 "\n"
 "O sistema de ficheiros já tem super-blocos esparsos.\n"
 
-#: misc/tune2fs.c:3170
+#: misc/tune2fs.c:3180
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -6916,7 +6992,7 @@
 "Definição de bandeira de super-bloco esparso não suportada\n"
 "em sistemas de ficheiros com a funcionalidade meta_bg activa.\n"
 
-#: misc/tune2fs.c:3180
+#: misc/tune2fs.c:3190
 #, c-format
 msgid ""
 "\n"
@@ -6925,7 +7001,7 @@
 "\n"
 "Bandeira de super-bloco esparso definida. %s"
 
-#: misc/tune2fs.c:3185
+#: misc/tune2fs.c:3195
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -6933,49 +7009,53 @@
 "\n"
 "Limpeza da bandeira de super-bloco esparso não suportada.\n"
 
-#: misc/tune2fs.c:3193
+#: misc/tune2fs.c:3203
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "A definir hora da última verificação do sistema de ficheiros para %s\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3209
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "A definir uid de blocos reservados para %lu\n"
 
-#: misc/tune2fs.c:3231
+#: misc/tune2fs.c:3241
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Erro ao usar clear_mmp. Tem de ser usado com -f\n"
 
-#: misc/tune2fs.c:3249
+#: misc/tune2fs.c:3259
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "A funcionalidade de quota só pode ser alterada com o sistema de ficheiros desmontado.\n"
 
-#: misc/tune2fs.c:3269
+#: misc/tune2fs.c:3276
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Impossível alterar a UUID deste sistema de ficheiros por ter a bandeira stable_inodes.\n"
+
+#: misc/tune2fs.c:3286
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Definir a UUID neste sistema de ficheiros pode levar algum tempo."
 
-#: misc/tune2fs.c:3286
+#: misc/tune2fs.c:3303
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "A UUID só pode ser alterada com o sistema de ficheiros desmontado.\n"
 
-#: misc/tune2fs.c:3289
+#: misc/tune2fs.c:3306
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr "Se só utiliza kernels mais recentes que o v4.4, execute \"tune2fs -O metadata_csum_seed\" e re-execute este comando.\n"
 
-#: misc/tune2fs.c:3320
+#: misc/tune2fs.c:3337
 msgid "Invalid UUID format\n"
 msgstr "Formato de UUID inválido\n"
 
-#: misc/tune2fs.c:3336
+#: misc/tune2fs.c:3353
 msgid "Need to update journal superblock.\n"
 msgstr "Tem de actualizar o super-bloco de diário.\n"
 
-#: misc/tune2fs.c:3358
+#: misc/tune2fs.c:3375
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr "O tamanho de inode só pode ser alterado com o sistema de ficheiros desmontado.\n"
 
-#: misc/tune2fs.c:3365
+#: misc/tune2fs.c:3382
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -6983,26 +7063,26 @@
 "Alteração de tamanho de inode não suportada em sistemas de ficheiros com a funcionalidade\n"
 "flex_bg activa.\n"
 
-#: misc/tune2fs.c:3383
+#: misc/tune2fs.c:3400
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "A definir tamanho de inode %lu\n"
 
-#: misc/tune2fs.c:3387
+#: misc/tune2fs.c:3404
 msgid "Failed to change inode size\n"
 msgstr "Falha ao alterar o tamanho de inode\n"
 
-#: misc/tune2fs.c:3401
+#: misc/tune2fs.c:3418
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "A definir tamanho de passo para %d\n"
 
-#: misc/tune2fs.c:3406
+#: misc/tune2fs.c:3423
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "A definir largura de banda para %d\n"
 
-#: misc/tune2fs.c:3413
+#: misc/tune2fs.c:3430
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "A predefinir opções de montagem estendidas para \"%s\"\n"
@@ -7046,7 +7126,7 @@
 "\n"
 "Impossível encontrar dispositivo de diário correspondente a %s\n"
 
-#: misc/util.c:216
+#: misc/util.c:224
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7076,7 +7156,7 @@
 "O tamanho do diário tem de estar entre 1024 e 10240000 blocos do sistema de ficheiros.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:267
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7084,26 +7164,26 @@
 "\n"
 "Sistema de ficheiros muito pequeno para um diário\n"
 
-#: misc/util.c:254
+#: misc/util.c:284
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"O tamanho de diário pedido é %d blocos; tem de estar\n"
+"O tamanho total pedido do diário é %d blocos; tem de estar\n"
 "entre 1024 e 10240000 blocos. A abortar.\n"
 
-#: misc/util.c:262
+#: misc/util.c:292
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"Tamanho de diário muito grande para o sistema de ficheiros.\n"
+"Tamanho total de diário muito grande para o sistema de ficheiros.\n"
 
-#: misc/util.c:276
+#: misc/util.c:305
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7314,7 +7394,7 @@
 msgid "while getting stat information for %s"
 msgstr "ao obter estatísticas para %s"
 
-#: resize/main.c:453
+#: resize/main.c:457
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7323,34 +7403,34 @@
 "Por favor, execute \"e2fsck -f %s\" primeiro.\n"
 "\n"
 
-#: resize/main.c:472
+#: resize/main.c:476
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Tamanho mínimo estimado do sistema de ficheiros: %llu\n"
 
-#: resize/main.c:509
+#: resize/main.c:516
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "Novo tamanho inválido: %s\n"
 
-#: resize/main.c:528
+#: resize/main.c:535
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "Novo tamanho muito grade para ser expressado em 32 bits\n"
 
-#: resize/main.c:541
+#: resize/main.c:548
 msgid "New size results in too many block group descriptors.\n"
 msgstr "Novos resultados de tamanho em demasiados descritores de grupos de bloco.\n"
 
-#: resize/main.c:548
+#: resize/main.c:555
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "Novo tamanho menor que o mínimo (%llu)\n"
 
-#: resize/main.c:554
+#: resize/main.c:562
 msgid "Invalid stride length"
 msgstr "Tamanho de passo inválido"
 
-#: resize/main.c:578
+#: resize/main.c:586
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7361,27 +7441,27 @@
 "Pediu um novo tamanho de %llu blocos.\n"
 "\n"
 
-#: resize/main.c:585
+#: resize/main.c:593
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Impossível definir e limpar a funcionalidade 64bit.\n"
 
-#: resize/main.c:589
+#: resize/main.c:597
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "Impossível alterar a funcionalidade 64bit num sistema de ficheiros maior que 2^32 blocos.\n"
 
-#: resize/main.c:595
+#: resize/main.c:603
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "Impossível alterar a funcionalidade 64bit enquanto o sistema de ficheiros estiver montado.\n"
 
-#: resize/main.c:601
+#: resize/main.c:609
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Por favor, active a funcionalidade de extensões com tune2fs antes de activar a funcionalidade 64bit.\n"
 
-#: resize/main.c:607
+#: resize/main.c:615
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7390,37 +7470,42 @@
 "O sistema de ficheiros já tem %llu (%dk) blocos. Nada a fazer!\n"
 "\n"
 
-#: resize/main.c:614
+#: resize/main.c:623
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "O sistema de ficheiros já é 64-bit.\n"
 
-#: resize/main.c:619
+#: resize/main.c:628
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "O sistema de ficheiros já é 32-bit.\n"
 
-#: resize/main.c:627
+#: resize/main.c:633
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Impossível encolher este sistema de ficheiros porque está marcado com a bandeira stable_inodes.\n"
+
+#: resize/main.c:642
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "A converter o sistema de ficheiros para 64-bit.\n"
 
-#: resize/main.c:629
+#: resize/main.c:644
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "A converter o sistema de ficheiros para 32-bit.\n"
 
-#: resize/main.c:631
+#: resize/main.c:646
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "A redimensionar o sistema de ficheiros em %s para %llu (%dk) blocos.\n"
 
-#: resize/main.c:640
+#: resize/main.c:656
 #, c-format
 msgid "while trying to resize %s"
 msgstr "ao tentar redimensionar %s"
 
-#: resize/main.c:643
+#: resize/main.c:659
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7429,7 +7514,7 @@
 "Por favor, execute \"e2fsck -fy %s\" para reparar o sistema de ficheiros\n"
 "após a operação de redimensionamento abortada.\n"
 
-#: resize/main.c:649
+#: resize/main.c:664
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7438,7 +7523,7 @@
 "O sistema de ficheiros em %s tem agora %llu (%dk) blocos.\n"
 "\n"
 
-#: resize/main.c:664
+#: resize/main.c:679
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "ao tentar truncar %s"
@@ -7495,53 +7580,53 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "A realizar redimensionamento em linha de %s para %llu (%dk) blocos.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Ao tentar estender o último grupo"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Ao tentar adicionar o grupo nº %d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr "Sistema de ficheiros em %s montado em %s e o redimensionamento em linha não é suportado neste sistema.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:760
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "inodes (%llu) têm de ser menos de %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1039
 msgid "reserved blocks"
 msgstr "blocos reservados"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1289
 msgid "meta-data blocks"
 msgstr "blocos de meta-dados"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1393 resize/resize2fs.c:2435
 msgid "new meta blocks"
 msgstr "novos meta-blocos"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2659
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "Nunca devia acontecer! Sem sb no último super_sparse bg?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2664
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "Nunca devia acontecer!  old_desc inesperado em super_sparse bg?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2737
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Nunca devia acontecer! inode de redimensionamento corrompido!\n"
 
 # Version could be replaced by a variable, avoiding a new translation.
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.6"
-msgstr "EXT2FS Library versão 1.45.6"
+msgid "EXT2FS Library version 1.46.3"
+msgstr "EXT2FS Library versão 1.46.3"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8259,6 +8344,10 @@
 msgid "Group descriptors not loaded"
 msgstr "Descritores de grupo não carregados"
 
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "A estrutura de dados interna ext2_filsys parece estar corrompida"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Profile versão 0.0"
@@ -8383,47 +8472,47 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Mau valor mágico em profile_file_data_t"
 
-#: lib/support/plausible.c:114
+#: lib/support/plausible.c:119
 #, c-format
 msgid "\tlast mounted on %.*s on %s"
 msgstr "\túltima montagem em %.*s em %s"
 
-#: lib/support/plausible.c:117
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\túltima montagem em %s"
 
-#: lib/support/plausible.c:120
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tcriado em %s"
 
-#: lib/support/plausible.c:123
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\túltima modificação em %s"
 
-#: lib/support/plausible.c:157
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Encontrada uma tabela de partições %s em %s\n"
 
-#: lib/support/plausible.c:187
+#: lib/support/plausible.c:192
 #, c-format
 msgid "The file %s does not exist and no size was specified.\n"
 msgstr "O ficheiro %s não existe e não foi especificado um tamanho.\n"
 
-#: lib/support/plausible.c:195
+#: lib/support/plausible.c:200
 #, c-format
 msgid "Creating regular file %s\n"
 msgstr "A criar ficheiro normal %s\n"
 
-#: lib/support/plausible.c:198
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Impossível abrir %s: %s\n"
 
-#: lib/support/plausible.c:201
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8431,26 +8520,35 @@
 "\n"
 "Aparentemente, o dispositivo não existe; especificou-o correctamente?\n"
 
-#: lib/support/plausible.c:223
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s não é um dispositivo especial de bloco.\n"
 
-#: lib/support/plausible.c:245
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s contém um sistema de ficheiros %s rotulado \"%s\"\n"
 
-#: lib/support/plausible.c:248
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s contém um sistema de ficheiros %s\n"
 
-#: lib/support/plausible.c:272
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s contém dados \"%s\"\n"
 
+#~ msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+#~ msgstr "Uso: %s [-F] [-I inode_buffer_blocks] dispositivo\n"
+
+#~ msgid "while trying to open '%s'"
+#~ msgstr "ao tentar abrir '%s'"
+
+#~ msgid "%u inodes scanned.\n"
+#~ msgstr "%u inodes analisados.\n"
+
 #~ msgid ""
 #~ "The encrypt and casefold features are not compatible.\n"
 #~ "They can not be both enabled simultaneously.\n"
diff --git a/po/sr.gmo b/po/sr.gmo
index 29918a3..3b80fad 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index f91c751..f25838d 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -3,7 +3,7 @@
 # Translators:
 # Marko Uskokovic <uskokovic@etf.bg.ac.yu>, 2007—2008.
 # Алојз Јакоб <jakobyu@yahoo.com>, 2008.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2016, 2017, 2020.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2016–2021.
 #. 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,
 #. there is an @-expansion, where strings like "@i" are expanded to
@@ -75,10 +75,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU e2fsprogs 1.45.3\n"
+"Project-Id-Version: GNU e2fsprogs 1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2019-07-14 20:56-0400\n"
-"PO-Revision-Date: 2020-04-01 12:44+0200\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-17 20:32+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
@@ -86,10 +86,10 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Virtaal 0.7.1\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.3\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Лош блок „%u“ је ван опсега; занемарујем.\n"
@@ -102,35 +102,35 @@
 msgid "while reading the bad blocks inode"
 msgstr "приликом читања и-чвора лоших блокова"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:688 misc/dumpe2fs.c:692 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2796 misc/tune2fs.c:2895 resize/main.c:414
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "док сам покушавао да отворим „%s“"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "док сам покушавао да п-отворим „%s“"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "приликом читања списка лоших блокова из датотеке"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "приликом освежавања и-чвора лоших блокова"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Упозорење: нађох недозвољени блок „%u“ у и-чвору лошег блока.  Очистих га.\n"
 
-#: e2fsck/dirinfo.c:331
+#: e2fsck/dirinfo.c:332
 msgid "while freeing dir_info tdb file"
 msgstr "приликом ослобађања „dir_info“ тбп датотеке"
 
@@ -162,15 +162,15 @@
 msgid "Error writing block %lu (%s).  "
 msgstr "Грешка писања блока „%lu“ (%s).  "
 
-#: e2fsck/emptydir.c:57
+#: e2fsck/emptydir.c:56
 msgid "empty dirblocks"
 msgstr "празни блокови директоријума"
 
-#: e2fsck/emptydir.c:62
+#: e2fsck/emptydir.c:61
 msgid "empty dir map"
 msgstr "празна мапа директоријума"
 
-#: e2fsck/emptydir.c:98
+#: e2fsck/emptydir.c:97
 #, c-format
 msgid "Empty directory block %u (#%d) in inode %u\n"
 msgstr "Празан блок директоријума %u (%d.) у и-чвору „%u“\n"
@@ -180,12 +180,12 @@
 msgid "%s: %s filename nblocks blocksize\n"
 msgstr "%s: величина блока н-блокова „%s“ назива датотеке\n"
 
-#: e2fsck/extend.c:44
+#: e2fsck/extend.c:45
 #, c-format
 msgid "Illegal number of blocks!\n"
 msgstr "Недозвољени број блокова!\n"
 
-#: e2fsck/extend.c:50
+#: e2fsck/extend.c:51
 #, c-format
 msgid "Couldn't allocate block buffer (size=%d)\n"
 msgstr "Не могу да доделим међумеморију блока (величина=%d)\n"
@@ -204,64 +204,36 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "„BLKFLSBUF ioctl“ није подржано!  Не могу да пресунем међумеморије.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Употреба: %s [-F] [-I међумеморија_блокова_и-чвора] уређај\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "приликом отварања „%s“ за пресипање"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:383
-#, c-format
-msgid "while trying to flush %s"
-msgstr "док сам покушавао да пресунем „%s“"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "док сам покушавао да отворим „%s“"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "приликом отварања скенирања и-чвора"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "приликом добављања следећег и-чвора"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "скенираних и-чворова: %u.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "читам супер блок дневника\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: нисам нашао исправан суперблок дневника\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: дневник је прекратак\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3792
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: нетачни брзи блокови предаје\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: опорављам дневник\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: нећу опоравити дневник док је само за читање\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "док сам покушавао поново да отворим „%s“"
@@ -430,56 +402,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<Резервисани и-чвор 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "обична датотека"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "директоријум"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "знаковни уређај"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "блок уређај"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "именована спојка"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "симболичка веза"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "прикључница"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "непозната врста датотеке са режимом „0%o“"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "индиректни блок"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "двоструко индиректни блок"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "троструко индиректни блок"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "блок преводиоца"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "бр. блока"
 
@@ -499,117 +471,125 @@
 msgid "unknown quota type"
 msgstr "непозната врста квоте"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "више пута затражена мапа и-чворова"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:826
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "унутрашња грешка: не могу да нађем дупли_блок за „%llu“\n"
 
-#: e2fsck/pass1b.c:952
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "враћено из блока_датотеке_клона"
 
-#: e2fsck/pass1b.c:976
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "унутрашња грешка: не могу да претражим запис ЕА блока за „%llu“"
 
-#: e2fsck/pass1b.c:988
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "унутрашња грешка: не могу да претражим запис ЕА и-чвора за „%u“"
 
-#: e2fsck/pass1.c:357
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "приликом хеширања уноса са „e_value_inum = %u“"
 
-#: e2fsck/pass1.c:775 e2fsck/pass2.c:1007
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr "читам блок директоријума"
 
-#: e2fsck/pass1.c:1224
-msgid "in-use inode map"
-msgstr "мапа и-чвора у употреби"
-
-#: e2fsck/pass1.c:1235
-msgid "directory inode map"
-msgstr "мапа и-чвора директоријума"
-
-#: e2fsck/pass1.c:1245
-msgid "regular file inode map"
-msgstr "мапа и-чвора обичне датотеке"
-
-#: e2fsck/pass1.c:1254 misc/e2image.c:1282
-msgid "in-use block map"
-msgstr "мапа блока у употреби"
-
-#: e2fsck/pass1.c:1263
-msgid "metadata block map"
-msgstr "мапа блока метаподатака"
-
-#: e2fsck/pass1.c:1325
-msgid "opening inode scan"
-msgstr "отварам скенирање и-чворова"
-
-#: e2fsck/pass1.c:1363
+#: e2fsck/pass1.c:1169
 msgid "getting next inode from scan"
 msgstr "добављам следећи и-чвор из скенираних"
 
-#: e2fsck/pass1.c:2067
+#: e2fsck/pass1.c:1221
+msgid "in-use inode map"
+msgstr "мапа и-чвора у употреби"
+
+#: e2fsck/pass1.c:1232
+msgid "directory inode map"
+msgstr "мапа и-чвора директоријума"
+
+#: e2fsck/pass1.c:1242
+msgid "regular file inode map"
+msgstr "мапа и-чвора обичне датотеке"
+
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
+msgid "in-use block map"
+msgstr "мапа блока у употреби"
+
+#: e2fsck/pass1.c:1260
+msgid "metadata block map"
+msgstr "мапа блока метаподатака"
+
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "мапа претварања и-чвора у мала слова"
+
+#: e2fsck/pass1.c:1336
+msgid "opening inode scan"
+msgstr "отварам скенирање и-чворова"
+
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
 msgstr "1. пролаз"
 
-#: e2fsck/pass1.c:2128
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "читам индиректне блокове и-чвора „%u“"
 
-#: e2fsck/pass1.c:2179
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
 msgstr "лоша мапа и-чвора"
 
-#: e2fsck/pass1.c:2219
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
 msgstr "и-чвор у мапи лошег блока"
 
-#: e2fsck/pass1.c:2239
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
 msgstr "сликовна мапа и-чвора"
 
-#: e2fsck/pass1.c:2270
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr "више пута затражена мапа блока"
 
-#: e2fsck/pass1.c:2395
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "мапа блокова спољних атрибута"
 
-#: e2fsck/pass1.c:3640
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): очекивах „%6lu“ а добих физички „%6lu“ (бр. блокова: %lld)\n"
 
-#: e2fsck/pass1.c:4060
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "битмапа блока"
 
-#: e2fsck/pass1.c:4066
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "битмапа и-чвора"
 
-#: e2fsck/pass1.c:4072
+#: e2fsck/pass1.c:4162
 msgid "inode table"
 msgstr "табела и-чвора"
 
-#: e2fsck/pass2.c:307
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr "2. пролаз"
 
-#: e2fsck/pass2.c:1079 e2fsck/pass2.c:1246
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "„NLS“ је оштећено."
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "Не могу да наставим."
 
@@ -625,11 +605,11 @@
 msgid "Pass 3"
 msgstr "3. пролаз"
 
-#: e2fsck/pass3.c:344
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr "битмапа налажења петље и-чвора"
 
-#: e2fsck/pass4.c:277
+#: e2fsck/pass4.c:289
 msgid "Pass 4"
 msgstr "4. пролаз"
 
@@ -645,187 +625,195 @@
 msgid "check_block_bitmap_checksum: Memory allocation error"
 msgstr "провера_суме_провере_битмапе_блока: Грешка доделе меморије"
 
-#: e2fsck/problem.c:52
+#: e2fsck/problem.c:53
 msgid "(no prompt)"
 msgstr "(нема упита)"
 
-#: e2fsck/problem.c:53
+#: e2fsck/problem.c:54
 msgid "Fix"
 msgstr "Исправи"
 
-#: e2fsck/problem.c:54
+#: e2fsck/problem.c:55
 msgid "Clear"
 msgstr "Очисти"
 
-#: e2fsck/problem.c:55
+#: e2fsck/problem.c:56
 msgid "Relocate"
 msgstr "Премести"
 
-#: e2fsck/problem.c:56
+#: e2fsck/problem.c:57
 msgid "Allocate"
 msgstr "Додели"
 
-#: e2fsck/problem.c:57
+#: e2fsck/problem.c:58
 msgid "Expand"
 msgstr "Рашири"
 
-#: e2fsck/problem.c:58
+#: e2fsck/problem.c:59
 msgid "Connect to /lost+found"
 msgstr "Повежи се са „/изгубљено+нађено“"
 
-#: e2fsck/problem.c:59
+#: e2fsck/problem.c:60
 msgid "Create"
 msgstr "Направи"
 
-#: e2fsck/problem.c:60
+#: e2fsck/problem.c:61
 msgid "Salvage"
 msgstr "Сачувај"
 
-#: e2fsck/problem.c:61
+#: e2fsck/problem.c:62
 msgid "Truncate"
 msgstr "Скрати"
 
-#: e2fsck/problem.c:62
+#: e2fsck/problem.c:63
 msgid "Clear inode"
 msgstr "Очисти и-чвор"
 
-#: e2fsck/problem.c:63
+#: e2fsck/problem.c:64
 msgid "Abort"
 msgstr "Прекини"
 
-#: e2fsck/problem.c:64
+#: e2fsck/problem.c:65
 msgid "Split"
 msgstr "Подели"
 
-#: e2fsck/problem.c:65
+#: e2fsck/problem.c:66
 msgid "Continue"
 msgstr "Настави"
 
-#: e2fsck/problem.c:66
+#: e2fsck/problem.c:67
 msgid "Clone multiply-claimed blocks"
 msgstr "Клонирај више пута затражене блокове"
 
-#: e2fsck/problem.c:67
+#: e2fsck/problem.c:68
 msgid "Delete file"
 msgstr "Обриши датотеку"
 
-#: e2fsck/problem.c:68
+#: e2fsck/problem.c:69
 msgid "Suppress messages"
 msgstr "Потисни поруке"
 
-#: e2fsck/problem.c:69
+#: e2fsck/problem.c:70
 msgid "Unlink"
 msgstr "Развежи"
 
-#: e2fsck/problem.c:70
+#: e2fsck/problem.c:71
 msgid "Clear HTree index"
 msgstr "Очисти индекс Х-стабла"
 
-#: e2fsck/problem.c:71
+#: e2fsck/problem.c:72
 msgid "Recreate"
 msgstr "Поново направи"
 
-#: e2fsck/problem.c:72
+#: e2fsck/problem.c:73
 msgid "Optimize"
 msgstr "Прилагоди"
 
-#: e2fsck/problem.c:81
+#: e2fsck/problem.c:74
+msgid "Clear flag"
+msgstr "Очисти заставицу"
+
+#: e2fsck/problem.c:83
 msgid "(NONE)"
 msgstr "(НИШТА)"
 
-#: e2fsck/problem.c:82
+#: e2fsck/problem.c:84
 msgid "FIXED"
 msgstr "ИСПРАВЉЕНО"
 
-#: e2fsck/problem.c:83
+#: e2fsck/problem.c:85
 msgid "CLEARED"
 msgstr "ОЧИШЋЕНО"
 
-#: e2fsck/problem.c:84
+#: e2fsck/problem.c:86
 msgid "RELOCATED"
 msgstr "ПРЕМЕШТЕНО"
 
-#: e2fsck/problem.c:85
+#: e2fsck/problem.c:87
 msgid "ALLOCATED"
 msgstr "ДОДЕЉЕНО"
 
-#: e2fsck/problem.c:86
+#: e2fsck/problem.c:88
 msgid "EXPANDED"
 msgstr "РАШИРЕНО"
 
-#: e2fsck/problem.c:87
+#: e2fsck/problem.c:89
 msgid "RECONNECTED"
 msgstr "ПОНОВО_ПОВЕЗАНО"
 
-#: e2fsck/problem.c:88
+#: e2fsck/problem.c:90
 msgid "CREATED"
 msgstr "НАПРАВЉЕНО"
 
-#: e2fsck/problem.c:89
+#: e2fsck/problem.c:91
 msgid "SALVAGED"
 msgstr "СПАШЕНО"
 
-#: e2fsck/problem.c:90
+#: e2fsck/problem.c:92
 msgid "TRUNCATED"
 msgstr "СКРАЋЕНО"
 
-#: e2fsck/problem.c:91
+#: e2fsck/problem.c:93
 msgid "INODE CLEARED"
 msgstr "ОБРИСАН И-ЧВОР"
 
-#: e2fsck/problem.c:92
+#: e2fsck/problem.c:94
 msgid "ABORTED"
 msgstr "ПРЕКИНУТО"
 
-#: e2fsck/problem.c:93
+#: e2fsck/problem.c:95
 msgid "SPLIT"
 msgstr "ПОДЕЉЕНО"
 
-#: e2fsck/problem.c:94
+#: e2fsck/problem.c:96
 msgid "CONTINUING"
 msgstr "НАСТАВЉАМ"
 
-#: e2fsck/problem.c:95
+#: e2fsck/problem.c:97
 msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
 msgstr "ВИШЕ ПУТА ЗАТРАЖЕНИ БЛОКОВИ СУ КЛОНИРАНИ"
 
-#: e2fsck/problem.c:96
+#: e2fsck/problem.c:98
 msgid "FILE DELETED"
 msgstr "ОБРИСАНА ДАТОТЕКА"
 
-#: e2fsck/problem.c:97
+#: e2fsck/problem.c:99
 msgid "SUPPRESSED"
 msgstr "ПОТИСНУТО"
 
-#: e2fsck/problem.c:98
+#: e2fsck/problem.c:100
 msgid "UNLINKED"
 msgstr "РАЗВЕЗАНО"
 
-#: e2fsck/problem.c:99
+#: e2fsck/problem.c:101
 msgid "HTREE INDEX CLEARED"
 msgstr "ИНДЕКС Х-СТАБЛА ЈЕ ОЧИШЋЕН"
 
-#: e2fsck/problem.c:100
+#: e2fsck/problem.c:102
 msgid "WILL RECREATE"
 msgstr "НАПРАВИЋУ ПОНОВО"
 
-#: e2fsck/problem.c:101
+#: e2fsck/problem.c:103
 msgid "WILL OPTIMIZE"
 msgstr "ПРИЛАГОДИЋУ"
 
+#: e2fsck/problem.c:104
+msgid "FLAG CLEARED"
+msgstr "ЗАСТАВИЦА ЈЕ ОЧИШЋЕНА"
+
 #. @-expanded: block bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:115
+#: e2fsck/problem.c:118
 msgid "@b @B for @g %g is not in @g.  (@b %b)\n"
 msgstr "Битмапа блока за групу „%g“ није у групи.  (%b. блок)\n"
 
 #. @-expanded: inode bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:119
+#: e2fsck/problem.c:122
 msgid "@i @B for @g %g is not in @g.  (@b %b)\n"
 msgstr "Битмапа и-чвора за групу „%g“ није у групи.  (%b. блок)\n"
 
 #. @-expanded: inode table for group %g is not in group.  (block %b)\n
 #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
-#: e2fsck/problem.c:124
+#: e2fsck/problem.c:127
 msgid ""
 "@i table for @g %g is not in @g.  (@b %b)\n"
 "WARNING: SEVERE DATA LOSS POSSIBLE.\n"
@@ -842,7 +830,7 @@
 #. @-expanded:  or\n
 #. @-expanded:     e2fsck -b 32768 <device>\n
 #. @-expanded: \n
-#: e2fsck/problem.c:130
+#: e2fsck/problem.c:133
 msgid ""
 "\n"
 "The @S could not be read or does not describe a valid ext2/ext3/ext4\n"
@@ -867,7 +855,7 @@
 #. @-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
-#: e2fsck/problem.c:141
+#: e2fsck/problem.c:144
 msgid ""
 "The @f size (according to the @S) is %b @bs\n"
 "The physical size of the @v is %c @bs\n"
@@ -880,7 +868,7 @@
 #. @-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
-#: e2fsck/problem.c:148
+#: e2fsck/problem.c:151
 msgid ""
 "@S @b_size = %b, fragsize = %c.\n"
 "This version of e2fsck does not support fragment sizes different\n"
@@ -891,18 +879,18 @@
 "од величине блока.\n"
 
 #. @-expanded: superblock blocks_per_group = %b, should have been %c\n
-#: e2fsck/problem.c:155
+#: e2fsck/problem.c:158
 msgid "@S @bs_per_group = %b, should have been %c\n"
 msgstr "Блокова_по_групи суперблока = %b, треба да буде %c\n"
 
 #. @-expanded: superblock first_data_block = %b, should have been %c\n
-#: e2fsck/problem.c:160
+#: e2fsck/problem.c:163
 msgid "@S first_data_@b = %b, should have been %c\n"
 msgstr "Први_блок_података суперблока = %b, треба да буде %c\n"
 
 #. @-expanded: filesystem did not have a UUID; generating one.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:165
+#: e2fsck/problem.c:168
 msgid ""
 "@f did not have a UUID; generating one.\n"
 "\n"
@@ -910,7 +898,7 @@
 "Систем датотека нема УУИД; стварам га.\n"
 "\n"
 
-#: e2fsck/problem.c:171
+#: e2fsck/problem.c:174
 #, no-c-format
 msgid ""
 "Note: if several inode or block bitmap blocks or part\n"
@@ -928,48 +916,48 @@
 "\n"
 
 #. @-expanded: Corruption found in superblock.  (%s = %N).\n
-#: e2fsck/problem.c:180
+#: e2fsck/problem.c:183
 msgid "Corruption found in @S.  (%s = %N).\n"
 msgstr "Нађох оштећење у супер-блоку.  (%s = %N).\n"
 
 #. @-expanded: Error determining size of the physical device: %m\n
-#: e2fsck/problem.c:186
+#: e2fsck/problem.c:189
 #, no-c-format
 msgid "Error determining size of the physical @v: %m\n"
 msgstr "Грешка одређивања величине физичког уређаја: %m\n"
 
 #. @-expanded: inode count in superblock is %i, should be %j.\n
-#: e2fsck/problem.c:191
+#: e2fsck/problem.c:194
 msgid "@i count in @S is %i, @s %j.\n"
 msgstr "Број и-чворова у суперблоку је %i, треба бити %j.\n"
 
-#: e2fsck/problem.c:195
+#: e2fsck/problem.c:198
 msgid "The Hurd does not support the filetype feature.\n"
 msgstr "Хурд не подржава функцију врсте датотеке.\n"
 
 #. @-expanded: superblock has an invalid journal (inode %i).\n
-#: e2fsck/problem.c:201
+#: e2fsck/problem.c:204
 #, no-c-format
 msgid "@S has an @n @j (@i %i).\n"
 msgstr "Суперблок има неисправан дневник (%i. и-чвор).\n"
 
 #. @-expanded: External journal has multiple filesystem users (unsupported).\n
-#: e2fsck/problem.c:206
+#: e2fsck/problem.c:209
 msgid "External @j has multiple @f users (unsupported).\n"
 msgstr "Спољни дневник има више корисника система датотека (није подржано).\n"
 
 #. @-expanded: Can't find external journal\n
-#: e2fsck/problem.c:211
+#: e2fsck/problem.c:214
 msgid "Can't find external @j\n"
 msgstr "Не могу да нађем спољни дневник\n"
 
 #. @-expanded: External journal has bad superblock\n
-#: e2fsck/problem.c:216
+#: e2fsck/problem.c:219
 msgid "External @j has bad @S\n"
 msgstr "Спољни дневник има лош суперблок\n"
 
 #. @-expanded: External journal does not support this filesystem\n
-#: e2fsck/problem.c:221
+#: e2fsck/problem.c:224
 msgid "External @j does not support this @f\n"
 msgstr "Спољни дневник не подржава овај систем датотека\n"
 
@@ -977,7 +965,7 @@
 #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal 
 #. @-expanded: format.\n
 #. @-expanded: It is also possible the journal superblock is corrupt.\n
-#: e2fsck/problem.c:226
+#: e2fsck/problem.c:229
 msgid ""
 "@f @j @S is unknown type %N (unsupported).\n"
 "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n"
@@ -988,80 +976,80 @@
 "Такође може бити да је оштећен суперблок дневника.\n"
 
 #. @-expanded: journal superblock is corrupt.\n
-#: e2fsck/problem.c:235
+#: e2fsck/problem.c:238
 msgid "@j @S is corrupt.\n"
 msgstr "Суперблок дневника је оштећен.\n"
 
 #. @-expanded: superblock has_journal flag is clear, but a journal is present.\n
-#: e2fsck/problem.c:240
+#: e2fsck/problem.c:243
 msgid "@S has_@j flag is clear, but a @j is present.\n"
 msgstr "Заставица суперблока „има_дневник“ је поништена, али је дневник присутан.\n"
 
 #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n
-#: e2fsck/problem.c:245
+#: e2fsck/problem.c:248
 msgid "@S needs_recovery flag is set, but no @j is present.\n"
 msgstr "Заставица суперблока „захтева_опоравак“ је постављена, али нема никаквог дневника.\n"
 
 #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n
-#: e2fsck/problem.c:250
+#: e2fsck/problem.c:253
 msgid "@S needs_recovery flag is clear, but @j has data.\n"
 msgstr "Заставица суперблока „захтева_опоравак“ је поништена, али дневник садржи податке.\n"
 
 #. @-expanded: Clear journal
-#: e2fsck/problem.c:255
+#: e2fsck/problem.c:258
 msgid "Clear @j"
 msgstr "Очисти дневник"
 
 #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem.  
-#: e2fsck/problem.c:260 e2fsck/problem.c:796
+#: e2fsck/problem.c:263 e2fsck/problem.c:799
 msgid "@f has feature flag(s) set, but is a revision 0 @f.  "
 msgstr "Систем датотека има постављену заставицу функције, али је ревизија 0 система датотека.  "
 
 #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n
-#: e2fsck/problem.c:265
+#: e2fsck/problem.c:268
 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
 msgstr "%s напуштених и-чворова %i (уид=%Iu, гид=%Ig, режим=%Im, величина=%Is)\n"
 
 #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:270
+#: e2fsck/problem.c:273
 msgid "@I %B (%b) found in @o @i %i.\n"
 msgstr "Нађох недозвољени „%B“ (%b) у напуштеном и-чвору %i.\n"
 
 #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:275
+#: e2fsck/problem.c:278
 msgid "Already cleared %B (%b) found in @o @i %i.\n"
 msgstr "Нађох већ очишћени „%B“ (%b) у напуштеном и-чвору %i.\n"
 
 #. @-expanded: illegal orphaned inode %i in superblock.\n
-#: e2fsck/problem.c:281
+#: e2fsck/problem.c:284
 #, no-c-format
 msgid "@I @o @i %i in @S.\n"
 msgstr "Недозвољени напуштени и-чвор „%i“ у суперблоку.\n"
 
 #. @-expanded: illegal inode %i in orphaned inode list.\n
-#: e2fsck/problem.c:287
+#: e2fsck/problem.c:290
 #, no-c-format
 msgid "@I @i %i in @o @i list.\n"
 msgstr "Недозвољени и-чвор „%i“ на списку напуштених и-чворова.\n"
 
 #. @-expanded: journal superblock has an unknown read-only feature flag set.\n
-#: e2fsck/problem.c:292
+#: e2fsck/problem.c:295
 msgid "@j @S has an unknown read-only feature flag set.\n"
 msgstr "Суперблок дневника има постављену непознату заставицу функције само-читања.\n"
 
 #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n
-#: e2fsck/problem.c:297
+#: e2fsck/problem.c:300
 msgid "@j @S has an unknown incompatible feature flag set.\n"
 msgstr "Суперблок дневника има постављену непознату несагласну заставицу функције.\n"
 
 #. @-expanded: journal version not supported by this e2fsck.\n
-#: e2fsck/problem.c:302
+#: e2fsck/problem.c:305
 msgid "@j version not supported by this e2fsck.\n"
 msgstr "Овај „e2fsck“ не подржава издање дневника.\n"
 
 #. @-expanded: Moving journal from /%s to hidden inode.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:308
+#: e2fsck/problem.c:311
 #, no-c-format
 msgid ""
 "Moving @j from /%s to hidden @i.\n"
@@ -1072,7 +1060,7 @@
 
 #. @-expanded: Error moving journal: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:314
+#: e2fsck/problem.c:317
 #, no-c-format
 msgid ""
 "Error moving @j: %m\n"
@@ -1084,7 +1072,7 @@
 #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n
 #. @-expanded: Clearing fields beyond the V1 journal superblock...\n
 #. @-expanded: \n
-#: e2fsck/problem.c:319
+#: e2fsck/problem.c:322
 msgid ""
 "Found @n V2 @j @S fields (from V1 @j).\n"
 "Clearing fields beyond the V1 @j @S...\n"
@@ -1095,18 +1083,18 @@
 "\n"
 
 #. @-expanded: Run journal anyway
-#: e2fsck/problem.c:325
+#: e2fsck/problem.c:328
 msgid "Run @j anyway"
 msgstr "Ипак покрени дневник"
 
 #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n
-#: e2fsck/problem.c:330
+#: e2fsck/problem.c:333
 msgid "Recovery flag not set in backup @S, so running @j anyway.\n"
 msgstr "Заставица опоравка није постављена у суперблоку резерве, тако да ипак покрећем дневник.\n"
 
 #. @-expanded: Backing up journal inode block information.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:335
+#: e2fsck/problem.c:338
 msgid ""
 "Backing up @j @i @b information.\n"
 "\n"
@@ -1116,7 +1104,7 @@
 
 #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n
 #. @-expanded: is %N; should be zero.  
-#: e2fsck/problem.c:341
+#: e2fsck/problem.c:344
 msgid ""
 "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n"
 "is %N; @s zero.  "
@@ -1125,18 +1113,18 @@
 "је %N; треба бити нула.  "
 
 #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero.  
-#: e2fsck/problem.c:347
+#: e2fsck/problem.c:350
 msgid "Resize_@i not enabled, but the resize @i is non-zero.  "
 msgstr "Није укључена промена величине и-чвора, али промена величине и-чвора није нула.  "
 
 #. @-expanded: Resize inode not valid.  
-#: e2fsck/problem.c:352
+#: e2fsck/problem.c:355
 msgid "Resize @i not valid.  "
 msgstr "Промена величине и-чвора није исправна.  "
 
 #. @-expanded: superblock last mount time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:357
+#: e2fsck/problem.c:360
 msgid ""
 "@S last mount time (%t,\n"
 "\tnow = %T) is in the future.\n"
@@ -1146,7 +1134,7 @@
 
 #. @-expanded: superblock last write time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:362
+#: e2fsck/problem.c:365
 msgid ""
 "@S last write time (%t,\n"
 "\tnow = %T) is in the future.\n"
@@ -1155,14 +1143,14 @@
 "\tсада = %T) је у будућности.\n"
 
 #. @-expanded: superblock hint for external superblock should be %X.  
-#: e2fsck/problem.c:368
+#: e2fsck/problem.c:371
 #, no-c-format
 msgid "@S hint for external superblock @s %X.  "
 msgstr "Погодак суперблока за спољни суперблок треба бити %X.  "
 
 #. @-expanded: Adding dirhash hint to filesystem.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:373
+#: e2fsck/problem.c:376
 msgid ""
 "Adding dirhash hint to @f.\n"
 "\n"
@@ -1171,39 +1159,39 @@
 "\n"
 
 #. @-expanded: group descriptor %g checksum is %04x, should be %04y.  
-#: e2fsck/problem.c:378
+#: e2fsck/problem.c:381
 msgid "@g descriptor %g checksum is %04x, should be %04y.  "
 msgstr "Сума провере описника групе „%g“ је %04x, треба бити %04y.  "
 
 #. @-expanded: group descriptor %g marked uninitialized without feature set.\n
-#: e2fsck/problem.c:384
+#: e2fsck/problem.c:387
 #, no-c-format
 msgid "@g descriptor %g marked uninitialized without feature set.\n"
 msgstr "Описник групе „%g“ је означен као непокренут без постављене функције.\n"
 
 #. @-expanded: group descriptor %g has invalid unused inodes count %b.  
-#: e2fsck/problem.c:389
+#: e2fsck/problem.c:392
 msgid "@g descriptor %g has invalid unused inodes count %b.  "
 msgstr "Описник групе „%g“ има неисправан број некоришћених и-чворова %b.  "
 
 #. @-expanded: Last group block bitmap uninitialized.  
-#: e2fsck/problem.c:394
+#: e2fsck/problem.c:397
 msgid "Last @g @b @B uninitialized.  "
 msgstr "Није покренута битмапа последњег блока групе.  "
 
-#: e2fsck/problem.c:400
+#: e2fsck/problem.c:403
 #, no-c-format
 msgid "Journal transaction %i was corrupt, replay was aborted.\n"
 msgstr "Пренос дневника „%i“ беше оштећен, одговор је прекинут.\n"
 
-#: e2fsck/problem.c:405
+#: e2fsck/problem.c:408
 msgid "The test_fs flag is set (and ext4 is available).  "
 msgstr "Заставица „испробај_сд“ је постављена (а и екст4 је доступан).  "
 
 #. @-expanded: superblock last mount time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:410
+#: e2fsck/problem.c:413
 msgid ""
 "@S last mount time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1214,7 +1202,7 @@
 #. @-expanded: superblock last write time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:416
+#: e2fsck/problem.c:419
 msgid ""
 "@S last write time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1223,103 +1211,103 @@
 "\t(мање од једног дана, вероватно услед погрешно подешеног хардверског сата)\n"
 
 #. @-expanded: One or more block group descriptor checksums are invalid.  
-#: e2fsck/problem.c:422
+#: e2fsck/problem.c:425
 msgid "One or more @b @g descriptor checksums are invalid.  "
 msgstr "Неисправна је једна или неколико сума провере описника групе блокова.  "
 
 #. @-expanded: Setting free inodes count to %j (was %i)\n
-#: e2fsck/problem.c:427
+#: e2fsck/problem.c:430
 msgid "Setting free @is count to %j (was %i)\n"
 msgstr "Постављам број слободних и-чворова на %j (беше %i)\n"
 
 #. @-expanded: Setting free blocks count to %c (was %b)\n
-#: e2fsck/problem.c:432
+#: e2fsck/problem.c:435
 msgid "Setting free @bs count to %c (was %b)\n"
 msgstr "Постављам број слободних блокова на %c (беше %b)\n"
 
 #. @-expanded: Hiding %U quota inode %i (%Q).\n
-#: e2fsck/problem.c:437
+#: e2fsck/problem.c:440
 msgid "Hiding %U @q @i %i (%Q).\n"
 msgstr "Скривам %U квоту и-чвора %i (%Q).\n"
 
 #. @-expanded: superblock has invalid MMP block.  
-#: e2fsck/problem.c:442
+#: e2fsck/problem.c:445
 msgid "@S has invalid MMP block.  "
 msgstr "Супер-блок има неисправан ММП блок.  "
 
 #. @-expanded: superblock has invalid MMP magic.  
-#: e2fsck/problem.c:447
+#: e2fsck/problem.c:450
 msgid "@S has invalid MMP magic.  "
 msgstr "Супер-блок има неисправну ММП магију.  "
 
-#: e2fsck/problem.c:453
+#: e2fsck/problem.c:456
 #, no-c-format
 msgid "ext2fs_open2: %m\n"
 msgstr "екст2сд_отвори2: %m\n"
 
-#: e2fsck/problem.c:459
+#: e2fsck/problem.c:462
 #, no-c-format
 msgid "ext2fs_check_desc: %m\n"
 msgstr "екст2сд_провери_описник: %m\n"
 
 #. @-expanded: superblock metadata_csum supersedes uninit_bg; both feature bits cannot be set 
 #. @-expanded: simultaneously.
-#: e2fsck/problem.c:465
+#: e2fsck/problem.c:468
 msgid "@S metadata_csum supersedes uninit_bg; both feature bits cannot be set simultaneously."
 msgstr "„metadata_csum“ суперблока замењује „uninit_bg“; битови обе функције се не могу подесити истовремено."
 
 #. @-expanded: superblock MMP block checksum does not match.  
-#: e2fsck/problem.c:471
+#: e2fsck/problem.c:474
 msgid "@S MMP @b checksum does not match.  "
 msgstr "Сума провере ММП блока суперблока не одговара.  "
 
 #. @-expanded: superblock 64bit filesystem needs extents to access the whole disk.  
-#: e2fsck/problem.c:476
+#: e2fsck/problem.c:479
 msgid "@S 64bit @f needs extents to access the whole disk.  "
 msgstr "Суперблоку 64-битног система датотека су потребни распони да би приступио читавом диску.  "
 
-#: e2fsck/problem.c:481
+#: e2fsck/problem.c:484
 msgid "First_meta_bg is too big.  (%N, max value %g).  "
 msgstr "Први_мета_бг је превелик.  (%N, највећа вредност је %g).  "
 
 #. @-expanded: External journal superblock checksum does not match superblock.  
-#: e2fsck/problem.c:486
+#: e2fsck/problem.c:489
 msgid "External @j @S checksum does not match @S.  "
 msgstr "Сума провере суперблока спољног дневника не одговара суперблоку.  "
 
 #. @-expanded: superblock metadata_csum_seed is not necessary without metadata_csum.
-#: e2fsck/problem.c:491
+#: e2fsck/problem.c:494
 msgid "@S metadata_csum_seed is not necessary without metadata_csum."
 msgstr "„metadata_csum_seed“ суперблок није неопходан без „metadata_csum“."
 
-#: e2fsck/problem.c:497
+#: e2fsck/problem.c:500
 #, no-c-format
 msgid "Error initializing quota context in support library: %m\n"
 msgstr "Грешка покретања контекста квоте у библиотеци подршке: %m\n"
 
 #. @-expanded: Bad required extra isize in superblock (%N).  
-#: e2fsck/problem.c:502
+#: e2fsck/problem.c:505
 msgid "Bad required extra isize in @S (%N).  "
 msgstr "Лоша затражена додатна и-величина у суперблоку (%N).  "
 
 #. @-expanded: Bad desired extra isize in superblock (%N).  
-#: e2fsck/problem.c:507
+#: e2fsck/problem.c:510
 msgid "Bad desired extra isize in @S (%N).  "
 msgstr "Лоша жељена додатна и-величина у суперблоку (%N).  "
 
 #. @-expanded: Invalid %U quota inode %i.  
-#: e2fsck/problem.c:512
+#: e2fsck/problem.c:515
 msgid "Invalid %U @q @i %i.  "
 msgstr "Неисправна %U квота и-чвора %i.  "
 
 #. @-expanded: superblock would have too many inodes (%N).\n
-#: e2fsck/problem.c:517
+#: e2fsck/problem.c:520
 msgid "@S would have too many inodes (%N).\n"
 msgstr "Супер блок ће имати превише и-чворова (%N).\n"
 
 #. @-expanded: Resize_inode and meta_bg features are enabled. Those features are\n
 #. @-expanded: not compatible. Resize inode should be disabled.  
-#: e2fsck/problem.c:522
+#: e2fsck/problem.c:525
 msgid ""
 "Resize_@i and meta_bg features are enabled. Those features are\n"
 "not compatible. Resize @i should be disabled.  "
@@ -1328,117 +1316,117 @@
 "нису сагласне. Треба да искључите промену_величине_и-чвора.  "
 
 #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n
-#: e2fsck/problem.c:530
+#: e2fsck/problem.c:533
 msgid "Pass 1: Checking @is, @bs, and sizes\n"
 msgstr "1. пролаз: Проверавам и-чворове, блокове, и величине\n"
 
 #. @-expanded: root inode is not a directory.  
-#: e2fsck/problem.c:534
+#: e2fsck/problem.c:537
 msgid "@r is not a @d.  "
 msgstr "корени и-чвор није директоријум.  "
 
 #. @-expanded: root inode has dtime set (probably due to old mke2fs).  
-#: e2fsck/problem.c:539
+#: e2fsck/problem.c:542
 msgid "@r has dtime set (probably due to old mke2fs).  "
 msgstr "корени и-чвор има подешено д-време (вероватно због старог „mke2fs“-а).  "
 
 #. @-expanded: Reserved inode %i (%Q) has invalid mode.  
-#: e2fsck/problem.c:544
+#: e2fsck/problem.c:547
 msgid "Reserved @i %i (%Q) has @n mode.  "
 msgstr "Резервисани и-чвор „%i“ (%Q) има неисправан режим.  "
 
 #. @-expanded: deleted inode %i has zero dtime.  
-#: e2fsck/problem.c:550
+#: e2fsck/problem.c:553
 #, no-c-format
 msgid "@D @i %i has zero dtime.  "
 msgstr "обрисани и-чвор „%i“ има нулто д-време.  "
 
 #. @-expanded: inode %i is in use, but has dtime set.  
-#: e2fsck/problem.c:556
+#: e2fsck/problem.c:559
 #, no-c-format
 msgid "@i %i is in use, but has dtime set.  "
 msgstr "и-чвор „%i“ је у употреби, али има постављено д-време.  "
 
 #. @-expanded: inode %i is a zero-length directory.  
-#: e2fsck/problem.c:562
+#: e2fsck/problem.c:565
 #, no-c-format
 msgid "@i %i is a @z @d.  "
 msgstr "и-чвор „%i“ је директоријум нулте дужине.  "
 
 #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:567
+#: e2fsck/problem.c:570
 msgid "@g %g's @b @B at %b @C.\n"
 msgstr "битмапа блокова групе „%g“ на „%b“ се сукобљава са неким другим блоком система датотека.\n"
 
 #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:572
+#: e2fsck/problem.c:575
 msgid "@g %g's @i @B at %b @C.\n"
 msgstr "битмапа и-чворова групе „%g“ на „%b“ се сукобљава са неким другим блоком система датотека.\n"
 
 #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:577
+#: e2fsck/problem.c:580
 msgid "@g %g's @i table at %b @C.\n"
 msgstr "табела и-чвора групе „%g“ на „%b“ се сукобљава са неким другим блоком система датотека.\n"
 
 #. @-expanded: group %g's block bitmap (%b) is bad.  
-#: e2fsck/problem.c:582
+#: e2fsck/problem.c:585
 msgid "@g %g's @b @B (%b) is bad.  "
 msgstr "битмапа блокова (%b) групе „%g“ је лоша.  "
 
 #. @-expanded: group %g's inode bitmap (%b) is bad.  
-#: e2fsck/problem.c:587
+#: e2fsck/problem.c:590
 msgid "@g %g's @i @B (%b) is bad.  "
 msgstr "битмапа и-чвора (%b) групе „%g“ је лоша.  "
 
 #. @-expanded: inode %i, i_size is %Is, should be %N.  
-#: e2fsck/problem.c:592
+#: e2fsck/problem.c:595
 msgid "@i %i, i_size is %Is, @s %N.  "
 msgstr "и-чвор %i, и_величина је %Is, треба бити %N.  "
 
 #. @-expanded: inode %i, i_blocks is %Ib, should be %N.  
-#: e2fsck/problem.c:597
+#: e2fsck/problem.c:600
 msgid "@i %i, i_@bs is %Ib, @s %N.  "
 msgstr "и-чвор %i, и_блокова је %Ib, треба бити %N.  "
 
 #. @-expanded: illegal %B (%b) in inode %i.  
-#: e2fsck/problem.c:602
+#: e2fsck/problem.c:605
 msgid "@I %B (%b) in @i %i.  "
 msgstr "недозвољено „%B“ (%b) у и-чвору %i.  "
 
 #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i.  
-#: e2fsck/problem.c:607
+#: e2fsck/problem.c:610
 msgid "%B (%b) overlaps @f metadata in @i %i.  "
 msgstr "„%B“ (%b) преклапа метаподатке система датотека у и-чвору %i.  "
 
 #. @-expanded: inode %i has illegal block(s).  
-#: e2fsck/problem.c:613
+#: e2fsck/problem.c:616
 #, no-c-format
 msgid "@i %i has illegal @b(s).  "
 msgstr "и-чвор „%i“ има недозвољен(е) блок(ове).  "
 
 #. @-expanded: Too many illegal blocks in inode %i.\n
-#: e2fsck/problem.c:619
+#: e2fsck/problem.c:622
 #, no-c-format
 msgid "Too many illegal @bs in @i %i.\n"
 msgstr "Превише недозвољених блокова у и-чвору %i.\n"
 
 #. @-expanded: illegal %B (%b) in bad block inode.  
-#: e2fsck/problem.c:624
+#: e2fsck/problem.c:627
 msgid "@I %B (%b) in bad @b @i.  "
 msgstr "Недозвољено „%B“ (%b) у и-чвору лошег блока.  "
 
 #. @-expanded: Bad block inode has illegal block(s).  
-#: e2fsck/problem.c:629
+#: e2fsck/problem.c:632
 msgid "Bad @b @i has illegal @b(s).  "
 msgstr "и-чвор лошег блока има недозвољен(е) блок(ове).  "
 
 #. @-expanded: Duplicate or bad block in use!\n
-#: e2fsck/problem.c:634
+#: e2fsck/problem.c:637
 msgid "Duplicate or bad @b in use!\n"
 msgstr "Удвостручени или лош блок је у употреби!\n"
 
 #. @-expanded: Bad block %b used as bad block inode indirect block.  
-#: e2fsck/problem.c:639
+#: e2fsck/problem.c:642
 msgid "Bad @b %b used as bad @b @i indirect @b.  "
 msgstr "Лош блок „%b“ се користи као индиректни блок и-чвора лошег блока.  "
 
@@ -1446,7 +1434,7 @@
 #. @-expanded: The bad block inode has probably been corrupted.  You probably\n
 #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n
 #. @-expanded: in the filesystem.\n
-#: e2fsck/problem.c:644
+#: e2fsck/problem.c:647
 msgid ""
 "\n"
 "The bad @b @i has probably been corrupted.  You probably\n"
@@ -1460,7 +1448,7 @@
 
 #. @-expanded: \n
 #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n
-#: e2fsck/problem.c:651
+#: e2fsck/problem.c:654
 msgid ""
 "\n"
 "If the @b is really bad, the @f can not be fixed.\n"
@@ -1471,7 +1459,7 @@
 #. @-expanded: You can remove this block from the bad block list and hope\n
 #. @-expanded: that the block is really OK.  But there are no guarantees.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:656
+#: e2fsck/problem.c:659
 msgid ""
 "You can remove this @b from the bad @b list and hope\n"
 "that the @b is really OK.  But there are no guarantees.\n"
@@ -1482,121 +1470,121 @@
 "\n"
 
 #. @-expanded: The primary superblock (%b) is on the bad block list.\n
-#: e2fsck/problem.c:662
+#: e2fsck/problem.c:665
 msgid "The primary @S (%b) is on the bad @b list.\n"
 msgstr "Примарни супер-блок (%b) је на списку лоших блокова.\n"
 
 #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n
-#: e2fsck/problem.c:667
+#: e2fsck/problem.c:670
 msgid "Block %b in the primary @g descriptors is on the bad @b list\n"
 msgstr "Блок „%b“ у описницима примарне групе је на списку лоших блокова\n"
 
 #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n
-#: e2fsck/problem.c:673
+#: e2fsck/problem.c:676
 msgid "Warning: Group %g's @S (%b) is bad.\n"
 msgstr "Упозорење: Супер-блок (%b) групе „%g“ је лош.\n"
 
 #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n
-#: e2fsck/problem.c:679
+#: e2fsck/problem.c:682
 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n"
 msgstr "Упозорење: Умножак групе „%g“ описника групе има лош блок (%b).\n"
 
 #. @-expanded: Programming error?  block #%b claimed for no reason in process_bad_block.\n
-#: e2fsck/problem.c:685
+#: e2fsck/problem.c:688
 msgid "Programming error?  @b #%b claimed for no reason in process_bad_@b.\n"
 msgstr "Грешка програма? Блок бр. %b је затражен без разлога у обради_лоших_блокова.\n"
 
 #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n
-#: e2fsck/problem.c:691
+#: e2fsck/problem.c:694
 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n"
 msgstr "Грешка доделе %N непрекидна(их) блока(ова) у групи блока „%g“ за „%s“: %m\n"
 
 #. @-expanded: error allocating block buffer for relocating %s\n
-#: e2fsck/problem.c:697
+#: e2fsck/problem.c:700
 #, no-c-format
 msgid "@A @b buffer for relocating %s\n"
 msgstr "грешка доделе међумеморије блока за премештање „%s“\n"
 
 #. @-expanded: Relocating group %g's %s from %b to %c...\n
-#: e2fsck/problem.c:702
+#: e2fsck/problem.c:705
 msgid "Relocating @g %g's %s from %b to %c...\n"
 msgstr "Премештам „%g“ групе „%s“ из „%b“ у „%c“...\n"
 
 #. @-expanded: Relocating group %g's %s to %c...\n
-#: e2fsck/problem.c:708
+#: e2fsck/problem.c:711
 #, no-c-format
 msgid "Relocating @g %g's %s to %c...\n"
 msgstr "Премештам „%g“ групе „%s“ у „%c“...\n"
 
 #. @-expanded: Warning: could not read block %b of %s: %m\n
-#: e2fsck/problem.c:713
+#: e2fsck/problem.c:716
 msgid "Warning: could not read @b %b of %s: %m\n"
 msgstr "Упозорење: не могу да прочитам блок „%b“ од „%s“: %m\n"
 
 #. @-expanded: Warning: could not write block %b for %s: %m\n
-#: e2fsck/problem.c:718
+#: e2fsck/problem.c:721
 msgid "Warning: could not write @b %b for %s: %m\n"
 msgstr "Упозорење: не могу да упишем блок „%b“ од „%s“: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:723 e2fsck/problem.c:1871
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "грешка доделе битмапе и-чвора (%N): %m\n"
 
 #. @-expanded: error allocating block bitmap (%N): %m\n
-#: e2fsck/problem.c:728
+#: e2fsck/problem.c:731
 msgid "@A @b @B (%N): %m\n"
 msgstr "грешка доделе битмапе блокова (%N): %m\n"
 
 #. @-expanded: error allocating icount link information: %m\n
-#: e2fsck/problem.c:734
+#: e2fsck/problem.c:737
 #, no-c-format
 msgid "@A icount link information: %m\n"
 msgstr "грешка доделе података везе и-броја: %m\n"
 
 #. @-expanded: error allocating directory block array: %m\n
-#: e2fsck/problem.c:740
+#: e2fsck/problem.c:743
 #, no-c-format
 msgid "@A @d @b array: %m\n"
 msgstr "грешка доделе низа блокова директоријума: %m\n"
 
 #. @-expanded: Error while scanning inodes (%i): %m\n
-#: e2fsck/problem.c:746
+#: e2fsck/problem.c:749
 #, no-c-format
 msgid "Error while scanning @is (%i): %m\n"
 msgstr "Грешка приликом скенирања и-чворова (%i): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i: %m\n
-#: e2fsck/problem.c:752
+#: e2fsck/problem.c:755
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i: %m\n"
 msgstr "Грешка приликом понављања на блоковима у и-чвору „%i“: %m\n"
 
 #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n
-#: e2fsck/problem.c:757
+#: e2fsck/problem.c:760
 msgid "Error storing @i count information (@i=%i, count=%N): %m\n"
 msgstr "Грешка смештања података о броју и-чворова (и-чвор=%i, број=%N): %m\n"
 
 #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n
-#: e2fsck/problem.c:762
+#: e2fsck/problem.c:765
 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n"
 msgstr "Грешка смештања података блока директоријума (и-чвор=%i, блок=%b, број=%N): %m\n"
 
 #. @-expanded: Error reading inode %i: %m\n
-#: e2fsck/problem.c:769
+#: e2fsck/problem.c:772
 #, no-c-format
 msgid "Error reading @i %i: %m\n"
 msgstr "Грешка читања и-чвора „%i“: %m\n"
 
 #. @-expanded: inode %i has imagic flag set.  
-#: e2fsck/problem.c:778
+#: e2fsck/problem.c:781
 #, no-c-format
 msgid "@i %i has imagic flag set.  "
 msgstr "и-чвор „%i“ има постављену и-магичну заставицу.  "
 
 #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n
 #. @-expanded: or append-only flag set.  
-#: e2fsck/problem.c:784
+#: e2fsck/problem.c:787
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n"
@@ -1606,143 +1594,143 @@
 "или постављену заставицу прикачињања-само.  "
 
 #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size.  
-#: e2fsck/problem.c:791
+#: e2fsck/problem.c:794
 #, no-c-format
 msgid "Special (@v/socket/fifo) @i %i has non-zero size.  "
 msgstr "Нарочити и-чвор „%i“ (уређај/прикључница/пупи) има не-нулту величину.  "
 
 #. @-expanded: journal inode is not in use, but contains data.  
-#: e2fsck/problem.c:801
+#: e2fsck/problem.c:804
 msgid "@j @i is not in use, but contains data.  "
 msgstr "и-чвор дневника није у употреби, али садржи податке.  "
 
 #. @-expanded: journal is not regular file.  
-#: e2fsck/problem.c:806
+#: e2fsck/problem.c:809
 msgid "@j is not regular file.  "
 msgstr "дневник није обична датотека.  "
 
 #. @-expanded: inode %i was part of the orphaned inode list.  
-#: e2fsck/problem.c:812
+#: e2fsck/problem.c:815
 #, no-c-format
 msgid "@i %i was part of the @o @i list.  "
 msgstr "и-чвор „%i“ беше део списка напуштених и-чворова.  "
 
 #. @-expanded: inodes that were part of a corrupted orphan linked list found.  
-#: e2fsck/problem.c:818
+#: e2fsck/problem.c:821
 msgid "@is that were part of a corrupted orphan linked list found.  "
 msgstr "Нађох и-чворове који су били део оштећеног напуштеног свезаног списка.  "
 
 #. @-expanded: error allocating refcount structure (%N): %m\n
-#: e2fsck/problem.c:823
+#: e2fsck/problem.c:826
 msgid "@A refcount structure (%N): %m\n"
 msgstr "грешка доделе структуре броја упуте (%N): %m\n"
 
 #. @-expanded: Error reading extended attribute block %b for inode %i.  
-#: e2fsck/problem.c:828
+#: e2fsck/problem.c:831
 msgid "Error reading @a @b %b for @i %i.  "
 msgstr "Грешка читања блока „%b“ проширеног атрибута за и-чвор „%i“.  "
 
 #. @-expanded: inode %i has a bad extended attribute block %b.  
-#: e2fsck/problem.c:833
+#: e2fsck/problem.c:836
 msgid "@i %i has a bad @a @b %b.  "
 msgstr "и-чвор „%i“ има лош блок „%b“ проширеног атрибута.  "
 
 #. @-expanded: Error reading extended attribute block %b (%m).  
-#: e2fsck/problem.c:838
+#: e2fsck/problem.c:841
 msgid "Error reading @a @b %b (%m).  "
 msgstr "Грешка читања блока „%b“ проширеног атрибута (%m).  "
 
 #. @-expanded: extended attribute block %b has reference count %r, should be %N.  
-#: e2fsck/problem.c:843
+#: e2fsck/problem.c:846
 msgid "@a @b %b has reference count %r, @s %N.  "
 msgstr "блок „%b“ проширеног атрибута има број упуте %r, треба бити %N.  "
 
 #. @-expanded: Error writing extended attribute block %b (%m).  
-#: e2fsck/problem.c:848
+#: e2fsck/problem.c:851
 msgid "Error writing @a @b %b (%m).  "
 msgstr "Грешка писања блока „%b“ проширеног атрибута (%m).  "
 
 #. @-expanded: extended attribute block %b has h_blocks > 1.  
-#: e2fsck/problem.c:853
+#: e2fsck/problem.c:856
 msgid "@a @b %b has h_@bs > 1.  "
 msgstr "блок „%b“ проширеног атрибута има h_блокове > 1.  "
 
 #. @-expanded: error allocating extended attribute region allocation structure.  
-#: e2fsck/problem.c:858
+#: e2fsck/problem.c:861
 msgid "@A @a region allocation structure.  "
 msgstr "грешка доделе структуре доделе области проширеног атрибута.  "
 
 #. @-expanded: extended attribute block %b is corrupt (allocation collision).  
-#: e2fsck/problem.c:863
+#: e2fsck/problem.c:866
 msgid "@a @b %b is corrupt (allocation collision).  "
 msgstr "блок „%b“ проширеног атрибута је оштећен (сукоб доделе).  "
 
 #. @-expanded: extended attribute block %b is corrupt (invalid name).  
-#: e2fsck/problem.c:868
+#: e2fsck/problem.c:871
 msgid "@a @b %b is corrupt (@n name).  "
 msgstr "блок „%b“ проширеног атрибута је оштећен (неисправан назив).  "
 
 #. @-expanded: extended attribute block %b is corrupt (invalid value).  
-#: e2fsck/problem.c:873
+#: e2fsck/problem.c:876
 msgid "@a @b %b is corrupt (@n value).  "
 msgstr "блок „%b“ проширеног атрибута је оштећен (неисправна вредност).  "
 
 #. @-expanded: inode %i is too big.  
-#: e2fsck/problem.c:879
+#: e2fsck/problem.c:882
 #, no-c-format
 msgid "@i %i is too big.  "
 msgstr "и-чвор „%i“ је превелик.  "
 
 #. @-expanded: %B (%b) causes directory to be too big.  
-#: e2fsck/problem.c:883
+#: e2fsck/problem.c:886
 msgid "%B (%b) causes @d to be too big.  "
 msgstr "„%B“ (%b) доводи до тога да директоријум буде превелик.  "
 
-#: e2fsck/problem.c:888
+#: e2fsck/problem.c:891
 msgid "%B (%b) causes file to be too big.  "
 msgstr "„%B“ (%b) доводи до тога да датотека буде превелика.  "
 
-#: e2fsck/problem.c:893
+#: e2fsck/problem.c:896
 msgid "%B (%b) causes symlink to be too big.  "
 msgstr "„%B“ (%b) доводи до тога да симболичка веза буде превелика.  "
 
 #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n
-#: e2fsck/problem.c:899
+#: e2fsck/problem.c:902
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set on @f without htree support.\n"
 msgstr "и-чвор „%i“ има постављену заставицу „INDEX_FL“ на систему датотека без подршке х-стабла.\n"
 
 #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n
-#: e2fsck/problem.c:905
+#: e2fsck/problem.c:908
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
 msgstr "и-чвор „%i“ има постављену заставицу „INDEX_FL“ али није директоријум.\n"
 
 #. @-expanded: HTREE directory inode %i has an invalid root node.\n
-#: e2fsck/problem.c:911
+#: e2fsck/problem.c:914
 #, no-c-format
 msgid "@h %i has an @n root node.\n"
 msgstr "и-чвор „%i“ директоријума Х-СТАБЛА има неисправан корени чвор.\n"
 
 #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n
-#: e2fsck/problem.c:916
+#: e2fsck/problem.c:919
 msgid "@h %i has an unsupported hash version (%N)\n"
 msgstr "и-чвор „%i“ директоријума Х-СТАБЛА има неподржано издање хеша (%N)\n"
 
 #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n
-#: e2fsck/problem.c:922
+#: e2fsck/problem.c:925
 #, no-c-format
 msgid "@h %i uses an incompatible htree root node flag.\n"
 msgstr "и-чвор „%i“ директоријума Х-СТАБЛА користи неодговарајућу заставицу кореног чвора х-стабла.\n"
 
 #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n
-#: e2fsck/problem.c:927
+#: e2fsck/problem.c:930
 msgid "@h %i has a tree depth (%N) which is too big\n"
 msgstr "и-чвор „%i“ директоријума Х-СТАБЛА има дубину стабла (%N) која је превелика\n"
 
 #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n
 #. @-expanded: filesystem metadata.  
-#: e2fsck/problem.c:933
+#: e2fsck/problem.c:936
 msgid ""
 "Bad @b @i has an indirect @b (%b) that conflicts with\n"
 "@f metadata.  "
@@ -1751,55 +1739,55 @@
 "метаподацима система датотека.  "
 
 #. @-expanded: Resize inode (re)creation failed: %m.
-#: e2fsck/problem.c:940
+#: e2fsck/problem.c:943
 #, no-c-format
 msgid "Resize @i (re)creation failed: %m."
 msgstr "Није успело (поновно)стварање промене величине и-чвора: %m."
 
 #. @-expanded: inode %i has a extra size (%IS) which is invalid\n
-#: e2fsck/problem.c:945
+#: e2fsck/problem.c:948
 msgid "@i %i has a extra size (%IS) which is @n\n"
 msgstr "и-чвор „%i“ има додатну величину (%IS) која је неисправна\n"
 
 #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n
-#: e2fsck/problem.c:950
+#: e2fsck/problem.c:953
 msgid "@a in @i %i has a namelen (%N) which is @n\n"
 msgstr "проширени атрибут у и-чвору „%i“ има дужину назива (%N) која је неисправна\n"
 
 #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n
-#: e2fsck/problem.c:955
+#: e2fsck/problem.c:958
 msgid "@a in @i %i has a value offset (%N) which is @n\n"
 msgstr "проширени атрибут у и-чвору „%i“ има померај вредности (%N) који је неисправан\n"
 
 #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n
-#: e2fsck/problem.c:960
+#: e2fsck/problem.c:963
 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n"
 msgstr "проширени атрибут у и-чвору „%i“ има блок вредности (%N) који је неисправан (мора бити 0)\n"
 
 #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n
-#: e2fsck/problem.c:965
+#: e2fsck/problem.c:968
 msgid "@a in @i %i has a value size (%N) which is @n\n"
 msgstr "проширени атрибут у и-чвору „%i“ има величину вредности (%N) која је неисправна\n"
 
 #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n
-#: e2fsck/problem.c:970
+#: e2fsck/problem.c:973
 msgid "@a in @i %i has a hash (%N) which is @n\n"
 msgstr "проширени атрибут у и-чвору „%i“ има хеш (%N) који је неисправан\n"
 
 #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n
-#: e2fsck/problem.c:975
+#: e2fsck/problem.c:978
 msgid "@i %i is a %It but it looks like it is really a directory.\n"
 msgstr "и-чвор „%i“ је %It али изгледа као да је стваран директоријум.\n"
 
 #. @-expanded: Error while reading over extent tree in inode %i: %m\n
-#: e2fsck/problem.c:981
+#: e2fsck/problem.c:984
 #, no-c-format
 msgid "Error while reading over @x tree in @i %i: %m\n"
 msgstr "Грешка приликом читања стабла распона у и-чвору „%i“: %m\n"
 
 #. @-expanded: Failed to iterate extents in inode %i\n
 #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n
-#: e2fsck/problem.c:986
+#: e2fsck/problem.c:989
 msgid ""
 "Failed to iterate extents in @i %i\n"
 "\t(op %s, blk %b, lblk %c): %m\n"
@@ -1809,7 +1797,7 @@
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:992
+#: e2fsck/problem.c:995
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -1819,7 +1807,7 @@
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n
-#: e2fsck/problem.c:997
+#: e2fsck/problem.c:1000
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, physical @b %b, @n len %N)\n"
@@ -1828,31 +1816,31 @@
 "\t(логички блок „%c“, физички блок „%b“, неисправне дужине %N)\n"
 
 #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n
-#: e2fsck/problem.c:1003
+#: e2fsck/problem.c:1006
 #, no-c-format
 msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n"
 msgstr "и-чвор „%i“ има постављену заставицу „EXTENTS_FL“ на систему датотека без подршке распона.\n"
 
 #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n
-#: e2fsck/problem.c:1009
+#: e2fsck/problem.c:1012
 #, no-c-format
 msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n"
 msgstr "и-чвор „%i“ је у запису распона, али супер-блоку недостаје функција „EXTENTS“\n"
 
 #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n
-#: e2fsck/problem.c:1015
+#: e2fsck/problem.c:1018
 #, no-c-format
 msgid "@i %i missing EXTENT_FL, but is in extents format\n"
 msgstr "и-чвору „%i“ недостаје „EXTENT_FL“, али је у запису распона\n"
 
-#: e2fsck/problem.c:1021
+#: e2fsck/problem.c:1024
 #, no-c-format
 msgid "Fast symlink %i has EXTENT_FL set.  "
 msgstr "Брза симболичка веза „%i“ има постављено „EXTENT_FL“.  "
 
 #. @-expanded: inode %i has out of order extents\n
 #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1026
+#: e2fsck/problem.c:1029
 msgid ""
 "@i %i has out of order extents\n"
 "\t(@n logical @b %c, physical @b %b, len %N)\n"
@@ -1861,39 +1849,39 @@
 "\t(неисправан логички блок „%c“, физички блок „%b“, дужина %N)\n"
 
 #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n
-#: e2fsck/problem.c:1030
+#: e2fsck/problem.c:1033
 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n"
 msgstr "и-чвор „%i“ има неисправан чвор распона (блок „%b“, лблк %c)\n"
 
 #. @-expanded: Error converting subcluster block bitmap: %m\n
-#: e2fsck/problem.c:1036
+#: e2fsck/problem.c:1039
 #, no-c-format
 msgid "Error converting subcluster @b @B: %m\n"
 msgstr "Грешка претварања битмапе блока подкластера: %m\n"
 
 #. @-expanded: quota inode is not a regular file.  
-#: e2fsck/problem.c:1041
+#: e2fsck/problem.c:1044
 msgid "@q @i is not a regular file.  "
 msgstr "квота и-чвора није обична датотека.  "
 
 #. @-expanded: quota inode is not in use, but contains data.  
-#: e2fsck/problem.c:1046
+#: e2fsck/problem.c:1049
 msgid "@q @i is not in use, but contains data.  "
 msgstr "и-чвор квоте није у употреби, али садржи податке.  "
 
 #. @-expanded: quota inode is visible to the user.  
-#: e2fsck/problem.c:1051
+#: e2fsck/problem.c:1054
 msgid "@q @i is visible to the user.  "
 msgstr "и-чвор квоте је видљив кориснику.  "
 
 #. @-expanded: The bad block inode looks invalid.  
-#: e2fsck/problem.c:1056
+#: e2fsck/problem.c:1059
 msgid "The bad @b @i looks @n.  "
 msgstr "и-чвор лошег блока изгледа неисправно.  "
 
 #. @-expanded: inode %i has zero length extent\n
 #. @-expanded: \t(invalid logical block %c, physical block %b)\n
-#: e2fsck/problem.c:1061
+#: e2fsck/problem.c:1064
 msgid ""
 "@i %i has zero length extent\n"
 "\t(@n logical @b %c, physical @b %b)\n"
@@ -1902,26 +1890,26 @@
 "\t(неисправан логички блок „%c“, физички блок „%b“)\n"
 
 #. @-expanded: inode %i seems to contain garbage.  
-#: e2fsck/problem.c:1067
+#: e2fsck/problem.c:1070
 #, no-c-format
 msgid "@i %i seems to contain garbage.  "
 msgstr "и-чвор %i изгледа да садржи ђубре.  "
 
 #. @-expanded: inode %i passes checks, but checksum does not match inode.  
-#: e2fsck/problem.c:1073
+#: e2fsck/problem.c:1076
 #, no-c-format
 msgid "@i %i passes checks, but checksum does not match @i.  "
 msgstr "и-чвор %i пролази провере, али сума провере не одговара и-чвору.  "
 
 #. @-expanded: inode %i extended attribute is corrupt (allocation collision).  
-#: e2fsck/problem.c:1079
+#: e2fsck/problem.c:1082
 #, no-c-format
 msgid "@i %i @a is corrupt (allocation collision).  "
 msgstr "проширени атрибута и-чвора %i је оштећен (сукоб доделе).  "
 
 #. @-expanded: inode %i extent block passes checks, but checksum does not match extent\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1087
+#: e2fsck/problem.c:1090
 msgid ""
 "@i %i extent block passes checks, but checksum does not match extent\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
@@ -1930,13 +1918,13 @@
 "\t(блоку распона „%c“, физичком блоку „%b“, дужини %N)\n"
 
 #. @-expanded: inode %i extended attribute block %b passes checks, but checksum does not match block.  
-#: e2fsck/problem.c:1096
+#: e2fsck/problem.c:1099
 msgid "@i %i @a @b %b passes checks, but checksum does not match @b.  "
 msgstr "и-чвор %i блока %b проширеног атрибута пролази провере, али сума провере не одговара и-чвору.  "
 
 #. @-expanded: Interior extent node level %N of inode %i:\n
 #. @-expanded: Logical start %b does not match logical start %c at next level.  
-#: e2fsck/problem.c:1101
+#: e2fsck/problem.c:1104
 msgid ""
 "Interior @x node level %N of @i %i:\n"
 "Logical start %b does not match logical start %c at next level.  "
@@ -1946,7 +1934,7 @@
 
 #. @-expanded: inode %i, end of extent exceeds allowed value\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1107
+#: e2fsck/problem.c:1110
 msgid ""
 "@i %i, end of extent exceeds allowed value\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
@@ -1955,37 +1943,37 @@
 "\t(логички блок „%c“, физички блок „%b“, дужина %N)\n"
 
 #. @-expanded: inode %i has inline data, but superblock is missing INLINE_DATA feature\n
-#: e2fsck/problem.c:1113
+#: e2fsck/problem.c:1116
 #, no-c-format
 msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
 msgstr "и-чвор %i има уграђене податке, али суперблоку недостаје функција „INLINE_DATA“\n"
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag on filesystem without inline data support.\n
-#: e2fsck/problem.c:1119
+#: e2fsck/problem.c:1122
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"
 msgstr "и-чвор %i има постављену заставицу „INLINE_DATA_FL“ на систему датотека без подршке уграђених података.\n"
 
 #. @-expanded: inode %i block %b conflicts with critical metadata, skipping block checks.\n
-#: e2fsck/problem.c:1127
+#: e2fsck/problem.c:1130
 #, no-c-format
 msgid "@i %i block %b conflicts with critical metadata, skipping block checks.\n"
 msgstr "и-чвор %i блока %b се сукобљава са критичним метаподацима, прескачем провере блока.\n"
 
 #. @-expanded: directory inode %i block %b should be at block %c.  
-#: e2fsck/problem.c:1132
+#: e2fsck/problem.c:1135
 msgid "@d @i %i @b %b should be at @b %c.  "
 msgstr "блок „%b“ и-чвора „%i“ директоријума треба да буде на блоку „%c“.  "
 
 #. @-expanded: directory inode %i has extent marked uninitialized at block %c.  
-#: e2fsck/problem.c:1138
+#: e2fsck/problem.c:1141
 #, no-c-format
 msgid "@d @i %i has @x marked uninitialized at @b %c.  "
 msgstr "и-чвор „%i“ директоријума има распон означен некоришћеним на блоку „%c“.  "
 
 #. @-expanded: inode %i logical block %b (physical block %c) violates cluster allocation rules.\n
 #. @-expanded: Will fix in pass 1B.\n
-#: e2fsck/problem.c:1143
+#: e2fsck/problem.c:1146
 msgid ""
 "@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\n"
 "Will fix in pass 1B.\n"
@@ -1994,14 +1982,14 @@
 "Биће поправљен у пролазу 1B.\n"
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag but extended attribute not found.  
-#: e2fsck/problem.c:1149
+#: e2fsck/problem.c:1152
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag but @a not found.  "
 msgstr "и-чвор %i има постављену заставицу „INLINE_DATA_FL“ али нисам нашао проширени атрибут.  "
 
 #. @-expanded: Special (device/socket/fifo) file (inode %i) has extents\n
 #. @-expanded: or inline-data flag set.  
-#: e2fsck/problem.c:1156
+#: e2fsck/problem.c:1159
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo) file (@i %i) has extents\n"
@@ -2011,42 +1999,42 @@
 "или постављену заставицу уграђених података.  "
 
 #. @-expanded: inode %i has extent header but inline data flag is set.\n
-#: e2fsck/problem.c:1163
+#: e2fsck/problem.c:1166
 #, no-c-format
 msgid "@i %i has @x header but inline data flag is set.\n"
 msgstr "и-чвор %i има заглавље распона али је постављена заставица уграђених података.\n"
 
 #. @-expanded: inode %i seems to have inline data but extent flag is set.\n
-#: e2fsck/problem.c:1169
+#: e2fsck/problem.c:1172
 #, no-c-format
 msgid "@i %i seems to have inline data but @x flag is set.\n"
 msgstr "и-чвор %i изгледа да има уграђене податке али је постављена заставица распона.\n"
 
 #. @-expanded: inode %i seems to have block map but inline data and extent flags set.\n
-#: e2fsck/problem.c:1175
+#: e2fsck/problem.c:1178
 #, no-c-format
 msgid "@i %i seems to have @b map but inline data and @x flags set.\n"
 msgstr "и-чвор %i изгледа да има мапу блока али су постављене заставице уграђених података и распона.\n"
 
 #. @-expanded: inode %i has inline data and extent flags set but i_block contains junk.\n
-#: e2fsck/problem.c:1181
+#: e2fsck/problem.c:1184
 #, no-c-format
 msgid "@i %i has inline data and @x flags set but i_block contains junk.\n"
 msgstr "и-чвор %i има постављене заставице уграђених података и распона али и_блок садржи ђубре.\n"
 
 #. @-expanded: Bad block list says the bad block list inode is bad.  
-#: e2fsck/problem.c:1186
+#: e2fsck/problem.c:1189
 msgid "Bad block list says the bad block list @i is bad.  "
 msgstr "Лош списак блока каже да је лош и-чвор лошег списка блока.  "
 
 #. @-expanded: error allocating extent region allocation structure.  
-#: e2fsck/problem.c:1191
+#: e2fsck/problem.c:1194
 msgid "@A @x region allocation structure.  "
 msgstr "грешка доделе структуре доделе области распона.  "
 
 #. @-expanded: inode %i has a duplicate extent mapping\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:1196
+#: e2fsck/problem.c:1199
 msgid ""
 "@i %i has a duplicate @x mapping\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -2054,47 +2042,47 @@
 "и-чвор %i има удвостручено мапирање распона\n"
 "\t(логички блок „%c“, неисправан физички блок „%b“, дужине %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
-#: e2fsck/problem.c:1201
-msgid "@A memory for encrypted @d list\n"
-msgstr "грешка доделе меморије за шифровани списак директоријума\n"
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
+#: e2fsck/problem.c:1204
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "грешка доделе %N бајта меморије за шифровани списак и-чворова\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
-#: e2fsck/problem.c:1206
+#: e2fsck/problem.c:1209
 msgid "@i %i @x tree could be more shallow (%b; could be <= %c)\n"
 msgstr "стабло распона и-чвора %i треба бити површније (%b; треба бити <= %c)\n"
 
 #. @-expanded: inode %i on bigalloc filesystem cannot be block mapped.  
-#: e2fsck/problem.c:1212
+#: e2fsck/problem.c:1215
 #, no-c-format
 msgid "@i %i on bigalloc @f cannot be @b mapped.  "
 msgstr "и-чвор %i на систему датотека велике доделе не може бити мапиран блоком.  "
 
 #. @-expanded: inode %i has corrupt extent header.  
-#: e2fsck/problem.c:1218
+#: e2fsck/problem.c:1221
 #, no-c-format
 msgid "@i %i has corrupt @x header.  "
 msgstr "и-чвор %i има оштећено заглавље распона.  "
 
 #. @-expanded: Timestamp(s) on inode %i beyond 2310-04-04 are likely pre-1970.\n
-#: e2fsck/problem.c:1224
+#: e2fsck/problem.c:1227
 #, no-c-format
 msgid "Timestamp(s) on @i %i beyond 2310-04-04 are likely pre-1970.\n"
 msgstr "Временска ознака на и-чвору %i после 04.04.2310. је вероватно пре-1970.\n"
 
 #. @-expanded: inode %i has illegal extended attribute value inode %N.\n
-#: e2fsck/problem.c:1229
+#: e2fsck/problem.c:1232
 msgid "@i %i has @I @a value @i %N.\n"
 msgstr "и-чвор „%i“ има неисправн и-чвор проширеног атрибута вредности „%N“.\n"
 
 #. @-expanded: inode %i has invalid extended attribute. EA inode %N missing EA_INODE flag.\n
-#: e2fsck/problem.c:1235
+#: e2fsck/problem.c:1238
 msgid "@i %i has @n @a. EA @i %N missing EA_INODE flag.\n"
 msgstr "и-чвор „%i“ има неисправан проширени атрибут. ЕА и-чвору „%N“ недостаје обележје „EA_INODE“.\n"
 
 #. @-expanded: EA inode %N for parent inode %i missing EA_INODE flag.\n
 #. @-expanded:  
-#: e2fsck/problem.c:1240
+#: e2fsck/problem.c:1243
 msgid ""
 "EA @i %N for parent @i %i missing EA_INODE flag.\n"
 " "
@@ -2102,10 +2090,56 @@
 "ЕА и-чвору „%N“ родитељског и-чвора „%i“ недостаје обележје „EA_INODE“.\n"
 " "
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "и-чвор %i има проширење означено као некоришћено у блоку %c (величина %N).  "
+
+#. @-expanded: inode %i has the casefold flag set but is not a directory.  
+#: e2fsck/problem.c:1254
+#, c-format
+msgid "@i %i has the casefold flag set but is not a directory.  "
+msgstr "и-чвор „%i“ има постављену заставицу малих слова али није директоријум.  "
+
+#. @-expanded: directory %p has the casefold flag, but the\n
+#. @-expanded: casefold feature is not enabled.  
+#: e2fsck/problem.c:1259
+#, c-format
+msgid ""
+"@d %p has the casefold flag, but the\n"
+"casefold feature is not enabled.  "
+msgstr ""
+"директоријум „%p“ има заставицу малих слова, али\n"
+"функција малих слова није укључена.  "
+
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "и-чвор „%i“ има заставицу шифровања али нема проширени атрибут шифровања.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "Шифровани и-чвор %i има оштећени проширени атрибут шифровања.\n"
+
+#. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
+#: e2fsck/problem.c:1274
+msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
+msgstr "и-чвор „%i“ директоријума Х-СТАБЛА користи хеш издање (%N), али треба да користи „SipHash (6)“ \n"
+
+#. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
+#: e2fsck/problem.c:1279
+#, c-format
+msgid "@h %i uses SipHash, but should not.  "
+msgstr "и-чвор „%i“ директоријума Х-СТАБЛА користи „SipHash“, али не би требало.  "
+
 #. @-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
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2116,46 +2150,46 @@
 "Пролаз 1B: Поново прегледам има ли блокова који су неколико пута затражени\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1255
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "блок(ови) неколико пута затражени у и-чвору „%i“:"
 
-#: e2fsck/problem.c:1271
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Грешка приликом скенирања и-чворова (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "грешка доделе битмапе и-чвора (двострука_мапа_и_чвора): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1283
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Грешка приликом понављања на блоковима у и-чвору „%i“ (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1288 e2fsck/problem.c:1663
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Грешка дотеривања броја упута за блок „%b“ проширеног атрибута (и-чвор „%i“): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1298
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Пролаз 1C: Прегледам директоријуме за и-чворовима са неколико пута затраженим блоковима\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1304
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Пролаз 1D: Поново дотерујем неколико пута затражене блокове\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1309
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2164,18 +2198,18 @@
 "  има %r неколико пута затражен(е) блок(ове), дељен(е) са %N датотеком(е):\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1315
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (и-чвор „%i“, датум измене %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<метаподаци система датотека>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1325
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2185,7 +2219,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1330
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2193,345 +2227,350 @@
 "неколико пута затражени блокови су већ поново додељени или клонирани.\n"
 "\n"
 
-#: e2fsck/problem.c:1344
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Не могу да клонирам датотеку: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1350
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Пролаз 1Е: Оптимизујем стабла распона\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1356
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Нисам успео да оптимизујем стабло распона „%p“ (%i): %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1361
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Оптимизујем стабла распона: "
 
-#: e2fsck/problem.c:1376
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Унутрашња грешка: навећа дубина стабла распона је превелика (%b; очекивано=%c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1381
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "стабло распона и-чвора %i (на нивоу %b) треба бити краће.  "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1386
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "стабло распона и-чвора %i (на нивоу %b) треба бити уже.  "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1393
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "2. пролаз: Проверавам структуру директоријума\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1399
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "неисправан број и-чвора за „.“ у „%i“ и-чвору директоријума.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1404
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) има неисправан и-чвор бр.: %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1409
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "унос „%Dn“ у „%p“ (%i) има обрисан/некоришћени и-чвор %Di.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1414
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "унос „%Dn“ у „%p“ (%i) је веза са „.“  "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1419
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) указује на и-чвор (%Di) који се налази у лошем блоку.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1424
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "унос „%Dn“ у „%p“ (%i) је веза ка директоријуму „%P“ (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1429
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) је веза ка кореном и-чвору.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1434
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) има недозвољени знак у називу.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1440
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "Недостаје „.“ у „%i“ и-чвору директоријума.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "Недостају „..“ у „%i“ и-чвору директоријума.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "Први унос „%Dn“ (и-чвор=%Di) у „%i“ и-чвору директоријума (%p) треба бити „.“\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "Други унос „%Dn“ (и-чвор=%Di) у „%i“ и-чвору директоријума треба бити „..“\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1461
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "„i_faddr“ за и-чвор „%i“ (%Q) је „%IF“, треба бити нула.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1466
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "„i_file_acl“ за и-чвор „%i“ (%Q) је „%If“, треба бити нула.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1471
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "„i_size_high“ за и-чвор „%i“ (%Q) је „%If“, треба бити нула.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1476
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "„i_frag“ за и-чвор „%i“ (%Q) је „%N“, треба бити нула.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1481
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "„i_fsize“ за и-чвор „%i“ (%Q) је „%N“, треба бити нула.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1486
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "и-чвор „%i“ (%Q) има неисправан режим (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1491
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "и-чвор „%i“ директоријума, %B, померај „%N“: директоријум је оштећен\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1496
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "и-чвор „%i“ директоријума, %B, померај „%N“: назив датотеке је предуг\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1501
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "и-чвор „%i“ директоријума има недодељен %B.  "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1507
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "унос директоријума „.“ у и-чвору „%i“ директоријума се не завршава на НИШТА\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "унос директоријума „..“ у и-чвору „%i“ директоријума се не завршава на НИШТА\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "и-чвор „%i“ (%Q) је недозвољени знаковни уређај.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "и-чвор „%i“ (%Q) је недозвољени блок уређај.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1528
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) је удвостручени унос „.“.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1533
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) је удвостручени унос „..“.\n"
 
-#: e2fsck/problem.c:1539 e2fsck/problem.c:1898
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Унутрашња грешка: не могу да нађем податке_директоријума за „%i“.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1544
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) има дужину_записа %Dr, треба бити %N.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "грешка доделе структуре и-броја: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1556
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Грешка понављања у блоковима директоријума: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1561
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Грешка читања блока „%b“ директоријума (и-чвор „%i“): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Грешка писања блока „%b“ директоријума (и-чвор „%i“): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "грешка доделе новог блока директоријума за и-чвор „%i“ (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Грешка размештања и-чвора „%i“: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1584
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "унос директоријума за „.“ у „%p“ (%i) је велик.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1589
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "и-чвор „%i“ (%Q) је недозвољени ПУПИ.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "и-чвор „%i“ (%Q) је недозвољена прикључница.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1599
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Постављам врсту датотеке за унос „%Dn“ у „%p“ (%i) на „%N“.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1604
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "унос „%Dn“ у „%p“ (%i) има неисправну врсту датотека (беше „%Dt“, треба бити „%N“).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1609
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) има постављену врсту датотека.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1614
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) има назив нулте дужине.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1619
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Симболичка веза „%Q“ (и-чвор „%i“) је неисправна.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1624
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "блок проширеног атрибута за и-чвор „%i“ (%Q) је неисправан (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1629
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr "систем датотека садржи велике датотеке, али му недостаје заставица „LARGE_FILE“ у супер-блоку.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1634
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: „%B“ нема упуту\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1639
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: „%B“ је двоупутно\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1644
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: „%B“ има лош најмањи хеш\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1649
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: „%B“ има лош највећи хеш\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1654
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "и-чвор „%d“ директоријума Х-СТАБЛА је неисправан (%q).  "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "систем датотека има велике директоријуме, али му недостаје заставица „LARGE_DIR“ у суперблоку.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1658
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА (%q): лош број блока %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1669
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: корени чвор је неисправан\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1674
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: „%B“ има неисправно ограничење (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1679
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: „%B“ има неисправан број (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1684
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: „%B“ има неуређену хеш табелу\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1689
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: „%B“ има неисправну дубину (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1694
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Нађох удвостручени унос „%Dn“ у „%p“ (%i).  "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1699
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2543,7 +2582,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1704
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2554,155 +2593,175 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1709
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "„i_blocks_hi“ за и-чвор „%i“ (%Q) је „%N“, треба бити нула.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1714
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "Неочекивани блок у и-чвору „%d“ директоријума Х-СТАБЛА (%q).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1719
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) упућује на и-чвор „%Di“ у групи „%g“ је постављено „_INODE_UNINIT“.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1724
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "унос „%Dn“ у „%p“ (%i) упућује на и-чвор „%Di“ нађен у групи „%g“ некоришћене области и-чвора.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1729
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "„i_file_acl_hi“ за и-чвор „%i“ (%Q) је „%N“, треба бити нула.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1735
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: није успела сума провере на кореном чвору.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "проблем у и-чвору „%d“ директоријума Х-СТАБЛА: није успела сума провере на унутрашњем чвору.\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "и-чвор „%i“ директоријума, %B, померај „%N“: директоријум нема суму провере.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "и-чвор директоријума %i, %B: директоријум пролази провере али му не успева сума провере.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1756
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "Величина и-чвора уграђеног директоријума %i (%N) мора бити производ 4.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1762
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Поправљање величине и-чвора уграђеног директоријума %i није успело.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1767
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "Шифровани унос „%Dn“ у „%p“ (%i) је прекратак.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "Шифровани унос „%Dn“ у „%p“ (%i) упућује на нешифровани и-чвор „%Di“.\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "Шифровани унос „%Dn“ у „%p“ (%i) упућује на и-чвор „%Di“, који има другачију политику шифровања.\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "унос „%Dn“ у „%p“ (%i) има неисправне УТФ-8 знакове у свом називу.\n"
+
+#. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
+#: e2fsck/problem.c:1831
+msgid "Duplicate filename @E found.  "
+msgstr "Нађох двоструки унос назива датотеке „%Dn“ у „%p“ (%i).  "
+
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1774
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "3. пролаз: Проверавам повезивост директоријума\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1779
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "корени и-чвор није додељен.  "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Нема места у директоријуму изгубљено+нађено.  "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1790
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "и-чвор „%i“ (%p) директоријума није повезан\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "Неповезани и-чвор директоријума „%i“ (бејаше у „%q“)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1795
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "нисам нашао „/изгубљено+нађено“.  "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1800
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "„..“ у „%Q“ (%i) је „%P“ (%j), треба бити „%q“ (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "„/изгубљено+нађено“ је лош или не постоји.  Не могу поново да се повежем.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1812
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Не могу да раширим „/изгубљено+нађено“: %m\n"
 
-#: e2fsck/problem.c:1818
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Не могу поново да повежем „%i“: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1824
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Грешка када сам покушао да нађем „/изгубљено+нађено“: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1830
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "екст2сд_нови_блок: „%m“ када сам покушао да направим директоријум „/изгубљено+нађено“\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1836
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "екст2сд_нови_и-чвор: „%m“ када сам покушао да направим директоријум „/изгубљено+нађено“\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1842
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "екст2сд_нови_дир_блок: „%m“ када сам покушао да направим нови блок директоријума\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1848
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "екст2сд_пиши_дир_блок: „%m“ када сам писао блок директоријума за „/изгубљено+нађено“\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1854
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Грешка приликом дотеривања броја и-чвора на и-чвору „%i“\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1860
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2713,7 +2772,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1866
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2723,41 +2782,41 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1877
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Грешка стварања кореног директоријума (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1883
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Грешка стварања директоријума „/изгубљено+нађено“ (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1888
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "корени и-чвор није директоријум; прекидам.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Не могу да наставим без кореног и-чвора.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "„/изгубљено+нађено“ није директоријум (и-чвор=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1909
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/изгубљено+нађено има уграђене податке\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1914
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2768,7 +2827,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1919
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2779,52 +2838,58 @@
 "\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1924
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "„/изгубљено+нађено“ је шифровано\n"
 
-#: e2fsck/problem.c:1931
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "Дубински упетљан и-чвор директоријума „%i“ (%p)\n"
+
+#: e2fsck/problem.c:2002
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Пролаз 3A: Оптимизујем директоријуме\n"
 
-#: e2fsck/problem.c:1937
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Нисам успео да створим приступник „директоријуми_у_хеш“: %m\n"
 
-#: e2fsck/problem.c:1942
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Нисам успео да оптимизујем директоријум „%q“ (%d): %m\n"
 
-#: e2fsck/problem.c:1947
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Оптимизација директоријума: "
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Пролаз 4: Проверавам бројеве упута\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1970
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "не закачен и-чвор „%i“ нулте дужине.  "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:1976
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "не закачен и-чвор „%i“\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:1981
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "број упута и-чвора „%i“ је %Il, треба бити %N.  "
 
 #. @-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
-#: e2fsck/problem.c:1985
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2835,146 +2900,151 @@
 "податак_везе_и-чвора[%i] је %N,\t„и-чвор.број_и_везе“ је %Il. Требало би да буду исти!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:1992
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
-msgstr "број упута и-чвора „%i“ је %N, треба бити %n.  "
+msgstr "број упута и-чвора „%i“ је %N, треба бити %n. "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "директоријум прелази максимум веза, али нема „DIR_NLINK“ функције у супер блоку.\n"
 
+#. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
+#: e2fsck/problem.c:2073
+msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
+msgstr "упута броја и-чвора директоријума „%i“ је постављена на прекорачење али треба бити тачна вредност %N.  "
+
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2004
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Пролаз 5: Проверавам податке сажетка групе\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2009
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr "Попуњавање на крају битмапе и-чвора није постављено. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2014
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
 msgstr "Попуњавање на крају битмапе блока није постављено. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "разлике битмапе блокова: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "разлике битмапе и-чворова: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2063
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Број слободних и-чворова је погрешан за групу бр. %g (%i, избројано=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2068
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Број директоријума је погрешан за групу бр. %g (%i, избројано=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Број слободних и-чворова је погрешан (%i, избројано=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2078
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Број слободних блокова је погрешан за групу бр. %g (%b, избројано=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2083
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Број слободних блокова је погрешан (%b, избројано=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2088
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr "ГРЕШКА ПРОГРАМИРАЊА: крајње тачке (%b, %c) битмапе система датотека (бр. %N) не одговарају израчунатим крајњим тачкама битмапе (%i, %j)\n"
 
-#: e2fsck/problem.c:2094
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Унутрашња грешка: привидно дотерујем крај битмапе (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Грешка умножавања у битмапи замене и-чвора: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2106
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Грешка умножавања у битмапи замене блока: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2136
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "блок(ови) групе „%g“ је(су) у употреби али је група означена „BLOCK_UNINIT“\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2142
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "и-чвор(ови) групе „%g“ је(су) у употреби али је група означена „INODE_UNINIT“\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2148
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "битмапа и-чвора групе „%g“ не одговара суми провере.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2154
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "битмапа блока групе „%g“ не одговара суми провере.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2161
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "Поново направи дневник"
 
-#: e2fsck/problem.c:2166
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "Освежи податке квоте за врсту квоте „%N“"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2172
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Грешка постављања података суме провере групе блока: %m\n"
 
-#: e2fsck/problem.c:2178
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Грешка писања података система датотека: %m\n"
 
-#: e2fsck/problem.c:2184
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Грешка пресипања писања на складишни уређај: %m\n"
 
-#: e2fsck/problem.c:2189
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Грешка писања података квоте за врсту квоте „%N“: %m\n"
 
-#: e2fsck/problem.c:2352
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Непозната грешка кода (0x%x)!\n"
 
-#: e2fsck/problem.c:2482 e2fsck/problem.c:2486
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "ЗАНЕМАРЕНО"
 
@@ -2984,14 +3054,18 @@
 
 #: e2fsck/scantest.c:79
 #, c-format
-msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
-msgstr "Коришћена меморија: %d, протекло време: %6.3f/%6.3f/%6.3f\n"
+msgid "Memory used: %lu, elapsed time: %6.3f/%6.3f/%6.3f\n"
+msgstr "Коришћена меморија: %lu, протекло време: %6.3f/%6.3f/%6.3f\n"
 
 #: e2fsck/scantest.c:98
 #, c-format
 msgid "size of inode=%d\n"
 msgstr "величина и-чвора=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "приликом отварања скенирања и-чвора"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "приликом покретања скенирања и-чвора"
@@ -3010,15 +3084,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "приликом позивања „ext2fs_adjust_ea_refcount2“ за и-чвор „%u“"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "Скраћујем"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Чистим"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3029,7 +3103,7 @@
 "\t\t[-l|-L дттка_лоших_блокова] [-C описник_дттке] [-j спољни_дневник]\n"
 "\t\t[-E проширене-опције] [-z опозив_дттке] уређај\n"
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3049,7 +3123,7 @@
 " -f                   Приморава проверу чак и ако је систем\n"
 "\t\t\tдатотека означен као чист\n"
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3067,12 +3141,12 @@
 " -L дттка_лшх_блква   Поставља списак лоших блокова\n"
 " -z опозив_дттке      Ствара датотеку опозива\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %u/%u датотеке (%0d.%d%% са прекидима), %llu/%llu блока\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3090,7 +3164,7 @@
 "\n"
 "%12u и-чворова је коришћено (%2.2f%%, од %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
@@ -3098,7 +3172,7 @@
 msgstr[1] "%12u датотеке са прекидима (%0d.%d%%)\n"
 msgstr[2] "%12u датотека са прекидима (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
@@ -3106,16 +3180,16 @@
 msgstr[1] "%12u директоријума са прекидима (%0d.%d%%)\n"
 msgstr[2] "%12u директоријума са прекидима (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             број и-чворова са „ind/dind/tind“ блокова: %u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr "             Хистограм дубине распона: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
@@ -3123,7 +3197,7 @@
 msgstr[1] "%12llu блока су коришћена (%2.2f%%, од %llu)\n"
 msgstr[2] "%12llu блокова је коришћено (%2.2f%%, од %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
@@ -3131,7 +3205,7 @@
 msgstr[1] "%12u лоша блока\n"
 msgstr[2] "%12u лоших блокова\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
@@ -3139,7 +3213,7 @@
 msgstr[1] "%12u велике датотеке\n"
 msgstr[2] "%12u великих датотека\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3157,7 +3231,7 @@
 "\n"
 "%12u обичних датотека\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
@@ -3165,7 +3239,7 @@
 msgstr[1] "%12u директоријума\n"
 msgstr[2] "%12u директоријума\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
@@ -3173,7 +3247,7 @@
 msgstr[1] "%12u датотеке знаковног уређаја\n"
 msgstr[2] "%12u датотека знаковног уређаја\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
@@ -3181,7 +3255,7 @@
 msgstr[1] "%12u датотеке блок уређаја\n"
 msgstr[2] "%12u датотека блок уређаја\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
@@ -3189,7 +3263,7 @@
 msgstr[1] "%12u пупи-ја\n"
 msgstr[2] "%12u пупи-ја\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
@@ -3197,7 +3271,7 @@
 msgstr[1] "%12u везе\n"
 msgstr[2] "%12u веза\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
@@ -3205,7 +3279,7 @@
 msgstr[1] "%12u симболичке везе"
 msgstr[2] "%12u симболичких веза"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
@@ -3213,7 +3287,7 @@
 msgstr[1] " (%u брзе симболичке везе)\n"
 msgstr[2] " (%u брзих симболичких веза)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
@@ -3221,7 +3295,7 @@
 msgstr[1] "%12u прикључнице\n"
 msgstr[2] "%12u прикључница\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
@@ -3229,33 +3303,33 @@
 msgstr[1] "%12u датотеке\n"
 msgstr[2] "%12u датотека\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2986 misc/util.c:129
-#: resize/main.c:354
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "приликом одређивања да ли је „%s“ прикачен."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Упозорење! „%s“ је прикачен.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Упозорење! „%s“ је у употреби.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "„%s“ је прикачен.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr "„%s“ је у употреби.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3263,7 +3337,7 @@
 "Не могу да наставим, прекидам.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3277,85 +3351,85 @@
 "***ОЗБИЉНО*** ћете ***ОШТЕТИТИ*** систем датотека.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "Да ли стварно желите да наставите"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "провера је прекинута.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " садржи систем датотека са грешкама"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " није исправно откачен"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr " функције примарног суперблока се разликују од резерве"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " је био прикачен %u пута а да није провераван"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " има време провере система датотека у будућности"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " прошла су %u дана а да није провераван"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr "занемарујем период провере, подешено је „broken_system_clock“\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", провера је присилна.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: чист, %u/%u датотеке, %llu/%llu блока"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr " (провера је одложена; ради на батерији)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (провера након следећег качења)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (провера након %ld качења)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "ГРЕШКА: Не могу да отворим „/dev/null“ (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Неисправно ЕА издање.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "Неисправна величина међумеморије.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Непозната проширена опција: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3367,15 +3441,15 @@
 "\tкоји је подешен знаком једнакости (=). Исправне проширене опције су:\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "\tea_ver=<еа_издање (1 или 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "\treadahead_kb=<величина међумеморије>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3384,55 +3458,65 @@
 "Грешка синтаксе у датотеци подешавања „e2fsck“-а (%s, %d. ред)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Грешка потврђивања описника датотеке „%d“: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr "Неисправан описник датотеке података довршавања"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Може бити наведена само једна од опција „-p/-a“, „-n“ или „-y“."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "Опција „-t“ није подржана на овом издању „e2fsck“-а.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1695 misc/tune2fs.c:1990 misc/tune2fs.c:2008
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Не могу да решим „%s“"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr "Опције „-n“ и „-D“ нису сагласне."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr "Опције „-n“ и „-c“ нису сагласне."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr "Опције „-n“ и „-l/-L“ нису сагласне."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Опције „-D“ и „-E fixes_only“ нису сагласне."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Опције „-E bmap2extent“ и „fixes_only“ нису сагласне."
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "приликом отварања „%s“ за пресипање"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "док сам покушавао да пресунем „%s“"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "Не можете користити у исто време опције „-c“ и „-l/-L“.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3441,7 +3525,7 @@
 "E2FSCK_JBD_DEBUG „%s“ није цео број\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3452,16 +3536,16 @@
 "Неисправан не-бројевни аргумент за „-%c“ (%s)\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "ММП период је %u секунде а укупно време чекања је %u секунде. Сачекајте малко...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "приликом провере ММП блока"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3470,13 +3554,13 @@
 "Ако сте сигурни да систем датотека није у употреби ни на једном чвору, покрените:\n"
 "„tune2fs -f -E clear_mmp %s“\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "приликом читања ММП блока"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2696 misc/mke2fs.c:2747 misc/tune2fs.c:2713
-#: misc/tune2fs.c:2758 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3487,57 +3571,57 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2736 misc/tune2fs.c:2747
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "приликом покушаја брисања „%s“"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2762 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "приликом покушаја постављања датотеке поништавања\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Грешка: издање библиотеке „ext2fs“ је застарело!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "када сам покушао да покренем програм"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\tКористим „%s“, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "потребан је терминал за међудејствене поправке"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: „%s“ покушавам да направим резерву блокова...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "Суперблок је неисправан,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Описник групе изгледа лоше..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: „%s“ приликом коришћења резерве блокова"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: враћам се на изворни суперблок\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3547,28 +3631,28 @@
 "(Или је суперблок система датотека оштећен)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "Да није ово партиција нулте дужине?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Морате имати право „%s“ на систему датотека или бити администратор\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Можда је непостојећи или разменски уређај?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "Систем датотека је прикачен или отворен искључиво другим програмом?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "Можда је непостојећи или уређај?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3576,77 +3660,77 @@
 "Диск је заштићен од писања; користите опцију „-n“ да одрадите проверу\n"
 "само за читање уређаја.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: Покушавам да учитам суперблок упркос грешкама...\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr "Набавите најновије издање „e2fsck“-а!"
 
-#: e2fsck/unix.c:1749
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "приликом провере дневника за „%s“"
 
-#: e2fsck/unix.c:1752
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr "Не могу наставити са провером система датотека"
 
-#: e2fsck/unix.c:1763
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr "Упозорење: прескачем опоравак дневника зато што вршим проверу система датотека само за читање.\n"
 
-#: e2fsck/unix.c:1775
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "не могу да поставим заставице суперблока на „%s“\n"
 
-#: e2fsck/unix.c:1781
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Нађох грешку провере суме дневника у „%s“\n"
 
-#: e2fsck/unix.c:1785
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Дневник је оштећен у „%s“\n"
 
-#: e2fsck/unix.c:1789
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "приликом поправке дневника за „%s“"
 
-#: e2fsck/unix.c:1811
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "„%s“ има неподржану(е) функцију(е):"
 
-#: e2fsck/unix.c:1826
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "„%s“ има неподржано кодирање: %0x\n"
 
-#: e2fsck/unix.c:1876
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: „%s“ приликом читања и-чвора лоших блокова\n"
 
-#: e2fsck/unix.c:1879
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Ово не слути на добро, али ћемо покушати да наставимо...\n"
 
-#: e2fsck/unix.c:1919
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Правим дневник (%d блока): "
 
-#: e2fsck/unix.c:1929
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr " Готово.\n"
 
-#: e2fsck/unix.c:1931
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3654,24 +3738,24 @@
 "\n"
 "*** дневник је поново створен ***\n"
 
-#: e2fsck/unix.c:1937
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "прекинуто"
 
-#: e2fsck/unix.c:1939
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: „e2fsck“ је отказан.\n"
 
-#: e2fsck/unix.c:1966
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "Поново покрећем „e2fsck“ из почетка...\n"
 
-#: e2fsck/unix.c:1970
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "приликом враћања поставки контекста"
 
-#: e2fsck/unix.c:2029
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
@@ -3680,12 +3764,12 @@
 "\n"
 "%s: ***** ГРЕШКЕ СИСТЕМА ДАТОТЕКА СУ ИСПРАВЉЕНЕ *****\n"
 
-#: e2fsck/unix.c:2031
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: Систем датотека је измењен.\n"
 
-#: e2fsck/unix.c:2035 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3694,12 +3778,12 @@
 "\n"
 "%s: ***** СИСТЕМ ДАТОТЕКА ЈЕ ИЗМЕЊЕН *****\n"
 
-#: e2fsck/unix.c:2040
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** ПОНОВО ПОДИЖЕМ СИСТЕМ *****\n"
 
-#: e2fsck/unix.c:2050 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3710,51 +3794,51 @@
 "%s: ********** УПОЗОРЕЊЕ: Систем датотека још увек има грешака **********\n"
 "\n"
 
-#: e2fsck/util.c:196 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "дД"
 
-#: e2fsck/util.c:197 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "нН"
 
-#: e2fsck/util.c:198
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "аА"
 
-#: e2fsck/util.c:202
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " („а“ укључује „да“ за све) "
 
-#: e2fsck/util.c:219
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<д>"
 
-#: e2fsck/util.c:221
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<н>"
 
-#: e2fsck/util.c:223
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (д/н)"
 
-#: e2fsck/util.c:246
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "отказано!\n"
 
-#: e2fsck/util.c:279
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "да за све\n"
 
-#: e2fsck/util.c:281
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "да\n"
 
-#: e2fsck/util.c:283
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "не\n"
 
-#: e2fsck/util.c:293
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3763,7 +3847,7 @@
 "%s? не\n"
 "\n"
 
-#: e2fsck/util.c:297
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3772,38 +3856,38 @@
 "%s? да\n"
 "\n"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "да"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "не"
 
-#: e2fsck/util.c:317
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps: недозвољени блок(ови) битмапе за „%s“"
 
-#: e2fsck/util.c:322
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "читам битмапе и-чвора и блокова"
 
-#: e2fsck/util.c:334
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "док сам поново покушао да читам битмапе за „%s“"
 
-#: e2fsck/util.c:346
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "пишем битмапе блока и и-чвора"
 
-#: e2fsck/util.c:351
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "приликом преписивања битмапа блока и и-чвора за „%s“"
 
-#: e2fsck/util.c:363
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3816,37 +3900,37 @@
 "%s: НЕОЧЕКИВАНА НЕДОСЛЕДНОСТ; ПОКРЕНИТЕ „fsck“ РУЧНО.\n"
 "\t(тј., без „-a“ или „-p“)\n"
 
-#: e2fsck/util.c:444
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
-msgid "Memory used: %luk/%luk (%luk/%luk), "
-msgstr "Коришћена меморија: %luk/%luk (%luk/%luk), "
+msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
+msgstr "Коришћена меморија: %lluk/%lluk (%lluk/%lluk), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
-msgid "Memory used: %lu, "
-msgstr "Коришћена меморија: %lu, "
+msgid "Memory used: %lluk, "
+msgstr "Коришћена меморија: %lluk, "
 
-#: e2fsck/util.c:455
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "време: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:460
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "протекло време: %6.3f\n"
 
-#: e2fsck/util.c:495 e2fsck/util.c:509
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "приликом читања и-чвора „%lu“ у „%s“"
 
-#: e2fsck/util.c:523 e2fsck/util.c:536
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "приликом писања и-чвора „%lu“ у „%s“"
 
-#: e2fsck/util.c:792
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "НЕОЧЕКИВАНА НЕДОСЛЕДНОСТ: систем датотека је измењен док је „fsck“ био покренут.\n"
 
@@ -3962,52 +4046,62 @@
 msgid "during test data write, block %lu"
 msgstr "приликом писања података теста, блок %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "„%s“ је прикачен; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "лоши блокови су ипак присиљени.  Надам се да је „/etc/mtab“ нетачан.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "није безбедно покренути лоше блокове!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "„%s“ се делимично користи на систему; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "лоши блокови су ипак присиљени.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "неисправано „%s“ — %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "Највећи износ од %u лоша блока је превелик — највише је %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "не могу да доделим меморију за тест_шаблон — %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "Максимум једног тест_шаблона може бити наведен у режиму само за читање"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "Насумични тест_шаблон није дозвољен у режиму само за читање"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Неисправна величина блока: %d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Неисправно „blocks_at_once“: %d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4015,109 +4109,109 @@
 "Не могу да одредим величину уређаја; морате ручно\n"
 "навести величину\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "док сам покушавао да одредим величину уређаја"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "последњи блок"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "први блок"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "неисправан почетни блок (%llu): мора бити мање од %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "неисправан крајњи блок (%llu): мора бити 32-битна вредност"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "приликом стварања списка лоших блокова у-меморији"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "улазна датотека — лош запис"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "приликом додавања списка лоших блокова у-меморији"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Пролаз је обављен, нађених лоших блокова: %u. (грешака: %d/%d/%d)\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...\n"
-msgstr "Употреба: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v издање] датотеке...\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "Употреба: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p пројекат] [-v издање] датотеке...\n"
 
-#: misc/chattr.c:160
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "лош пројекат — %s\n"
 
-#: misc/chattr.c:174
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "лоше издање — %s\n"
 
-#: misc/chattr.c:220 misc/lsattr.c:127
+#: misc/chattr.c:221 misc/lsattr.c:127
 #, c-format
 msgid "while trying to stat %s"
 msgstr "приликом покушаја да добавим податке „%s“"
 
-#: misc/chattr.c:227
+#: misc/chattr.c:228
 #, c-format
 msgid "while reading flags on %s"
 msgstr "приликом читања заставица на „%s“"
 
-#: misc/chattr.c:232 misc/chattr.c:244
+#: misc/chattr.c:233 misc/chattr.c:245
 #, c-format
 msgid "Flags of %s set as "
 msgstr "Заставице за „%s“ су постављене као "
 
-#: misc/chattr.c:253
+#: misc/chattr.c:254
 #, c-format
 msgid "while setting flags on %s"
 msgstr "приликом постављања заставица на „%s“"
 
-#: misc/chattr.c:261
+#: misc/chattr.c:262
 #, c-format
 msgid "Version of %s set as %lu\n"
 msgstr "Издање за „%s“ је постављено као %lu\n"
 
-#: misc/chattr.c:265
+#: misc/chattr.c:266
 #, c-format
 msgid "while setting version on %s"
 msgstr "приликом постављања издања на „%s“"
 
-#: misc/chattr.c:272
+#: misc/chattr.c:273
 #, c-format
 msgid "Project of %s set as %lu\n"
 msgstr "Пројекат за „%s“ је постављено као %lu\n"
 
-#: misc/chattr.c:276
+#: misc/chattr.c:277
 #, c-format
 msgid "while setting project on %s"
 msgstr "приликом постављања пројекта на „%s“"
 
-#: misc/chattr.c:298
+#: misc/chattr.c:299
 msgid "Couldn't allocate path variable in chattr_dir_proc"
 msgstr "Не могу да доделим променљиву путање у „chattr_dir_proc“"
 
-#: misc/chattr.c:338
+#: misc/chattr.c:339
 msgid "= is incompatible with - and +\n"
 msgstr "= није сагласно са - и +\n"
 
-#: misc/chattr.c:346
+#: misc/chattr.c:347
 msgid "Must use '-v', =, - or +\n"
 msgstr "Морате користити „-v“, =, - или +\n"
 
@@ -4126,8 +4220,8 @@
 msgid "while reading inode %u"
 msgstr "приликом читања и-чвора „%u“"
 
-#: misc/create_inode.c:90 misc/create_inode.c:288 misc/create_inode.c:353
-#: misc/create_inode.c:391
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "приликом ширења директоријума"
 
@@ -4136,143 +4230,152 @@
 msgid "while linking \"%s\""
 msgstr "приликом повезивања „%s“"
 
-#: misc/create_inode.c:105 misc/create_inode.c:132 misc/create_inode.c:322
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "приликом писања и-чвора „%u“"
 
-#: misc/create_inode.c:152 misc/create_inode.c:176
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "приликом исписивања атрибута за „%s“"
 
-#: misc/create_inode.c:163
+#: misc/create_inode.c:165
 #, c-format
 msgid "while opening inode %u"
 msgstr "приликом отварања и-чвора „%u“"
 
-#: misc/create_inode.c:169 misc/create_inode.c:196 misc/create_inode.c:1043
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "приликом читања x-атрибута за и-чвор %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "приликом доделе меморије"
 
-#: misc/create_inode.c:189 misc/create_inode.c:205
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "приликом читања атрибута „%s“ за „%s“"
 
-#: misc/create_inode.c:214
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "приликом писања атрибута „%s“ у и-чвор „%u“"
 
-#: misc/create_inode.c:224
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "приликом затварања и-чвора „%u“"
 
-#: misc/create_inode.c:275
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "приликом доделе и-чвора „%s“"
 
-#: misc/create_inode.c:294
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "приликом стварања и-чвора „%s“"
 
-#: misc/create_inode.c:360
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "приликом стварања симболичке везе „%s“"
 
-#: misc/create_inode.c:378 misc/create_inode.c:963
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "приликом тражења „%s“"
 
-#: misc/create_inode.c:398
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "приликом стварања директоријума „%s“"
 
-#: misc/create_inode.c:627
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "приликом отварања „%s“ за умножавање"
 
-#: misc/create_inode.c:805
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "приликом промене радног директоријума у „%s“"
 
-#: misc/create_inode.c:815
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "приликом прегледа директоријума „%s“"
 
-#: misc/create_inode.c:825
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "приликом покушаја да добавим податке за „%s“"
 
-#: misc/create_inode.c:875
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "приликом стварања специјалне датотеке „%s“"
 
-#: misc/create_inode.c:884
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "није успела додела меморије"
 
-#: misc/create_inode.c:892
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "приликом покушаја читања везе „%s“"
 
-#: misc/create_inode.c:899
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "симболичкој вези се повећала величина између „lstat()“ и „readlink()“"
 
-#: misc/create_inode.c:910
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "приликом писања симболичке везе „%s“"
 
-#: misc/create_inode.c:921
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "приликом писања датотеке „%s“"
 
-#: misc/create_inode.c:934
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "приликом прављења директоријума „%s“"
 
-#: misc/create_inode.c:952
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "приликом промене директоријума"
 
-#: misc/create_inode.c:958
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "занемарујем унос „%s“"
 
-#: misc/create_inode.c:971
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "приликом подешавања и-чвора за „%s“"
 
-#: misc/create_inode.c:978
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "приликом постављања х-атрибута за „%s“"
 
-#: misc/create_inode.c:1004
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "приликом чувања података и-чвора"
 
+#: misc/create_inode.c:1077
+msgid "while copying xattrs on root directory"
+msgstr "приликом умножавања х-атрибута на кореном директоријуму"
+
 #: misc/dumpe2fs.c:56
 #, c-format
 msgid "Usage: %s [-bfghimxV] [-o superblock=<num>] [-o blocksize=<num>] device\n"
@@ -4389,59 +4492,59 @@
 msgid "while printing bad block list"
 msgstr "приликом штампања списка оштећених блокова"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Лоших блокова: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:373
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "приликом читања и-чвора дневника"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr "приликом отварања и-чвора дневника"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "приликом читања суперблока дневника"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Чаробни број суперблока дневника је неисправан!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:216
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "приликом читања суперблока дневника"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Не могу да нађем чаробне бројеве суперблока дневника"
 
-#: misc/dumpe2fs.c:468
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr "нисам успео да доделим ММП међумеморију\n"
 
-#: misc/dumpe2fs.c:479
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "читам ММП блок %llu из „%s“\n"
 
-#: misc/dumpe2fs.c:507 misc/mke2fs.c:800 misc/tune2fs.c:2027
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Не могу да доделим меморију да бих обрадио опције!\n"
 
-#: misc/dumpe2fs.c:533
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Неисправан параметар суперблока: %s\n"
 
-#: misc/dumpe2fs.c:548
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Неисправан параметар величине блока: %s\n"
 
-#: misc/dumpe2fs.c:559
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4464,27 +4567,27 @@
 "\tsuperblock=<број суперблока>\n"
 "\tblocksize=<величина блока>\n"
 
-#: misc/dumpe2fs.c:649 misc/mke2fs.c:1889
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tКористим „%s“\n"
 
-#: misc/dumpe2fs.c:694 misc/e2image.c:1629 misc/tune2fs.c:2913
-#: resize/main.c:416
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Не могу да нађем исправан суперблок система датотека.\n"
 
-#: misc/dumpe2fs.c:716
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: ММП функција није укључена.\n"
 
-#: misc/dumpe2fs.c:747
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "приликом покушаја читања битмапа „%s“\n"
 
-#: misc/dumpe2fs.c:756
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4492,193 +4595,197 @@
 "*** Покрећем „e2fsck“!\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
-msgid "Usage: %s [ -r|Q ] [ -f ] [ -b superblock ] [ -B blocksize][ -fr ] device image-file\n"
-msgstr "Употреба: %s [ -r|Q ] [ -f ] [ -b супер блок ] [ -B величина блока][ -fr ] уређај датотека-слике\n"
+msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
+msgstr "Употреба: %s [ -r|-Q ] [ -f ] [ -b супер блок ] [ -B величина блока ] уређај датотека-слике\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "       %s -I уређај датотека_слике\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
-msgid "       %s -ra  [  -cfnp  ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
-msgstr "       %s -ra  [  -cfnp  ] [ -o померај_извора ] [ -O померај_одредишта ] сд_извора [ сд_одредишта ]\n"
+msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
+msgstr "       %s -ra  [ -cfnp ] [ -o померај_извора ] [ -O померај_одредишта ] сд_извора [ сд_одредишта ]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "приликом доделе међумеморије"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "Пишем блок %llu\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr "грешка писања блока %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "грешка у функцији „generic_write()“"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Грешка: величина заглавља је већа од величине писања\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr "Не могу да доделим међумеморију заглавља\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "приликом писања суперблока"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "приликом писања табеле и-чвора"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "приликом писања битмапе блока"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "приликом писања битмапе и-чвора"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Оштећени блок директоријума %llu: лоша дужина_записа (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Оштећени блок директоријума %llu: лоша дужина_назива (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu / %llu блока (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "Умножавам "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr "Заустављање ће оштетити систем датотека, прекините опет ако сте сигурни\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " преостаје %s при %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr "грешка читања блока %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Умножих %llu / %llu блока (%d%%) у „%s“ "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "при %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr "приликом додељивања табеле „l1“"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr "приликом додељивања оставе „l2“"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 "Упозорење: Још увек има табела у остави приликом стављања оставе, подаци ће бити изгубљени тако да слика можда неће бити исправна.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr "приликом доделе „ext2_qcow2_image“"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr "приликом покретања „ext2_qcow2_image“"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Грешка програма: направљено је неколико секвентних блокова броја упута!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr "приликом доделе битмапе блока"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr "приликом доделе битмапе испремештаних блокова"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr "Прегледам и-чворове...\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr "Не могу да доделим међумеморију блока"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "приликом добављања следећег и-чвора"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "приликом понављања на и-чвору %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "Сирова и „qcow2“ слике не могу бити инсталиране"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "грешка читања битмапа"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "приликом отварања датотеке уређаја"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr "приликом враћања табеле слике"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "Опција „-a“ се може користити само са сировим или „QCOW2“ сликама."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "Опција „-b“ се може користити само са сировим или „QCOW2“ сликама."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr "Помераји су дозвољени само са сировим сликама."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr "Режим премештања је дозвољен само са сировим сликама."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr "Режим премештања захтева све режиме података."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "проверавам да ли је прикачен"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4690,56 +4797,56 @@
 "недоследности слике која потом неће бити корисна у сврхе исправљања грешака.\n"
 "Користите опцију „-f“ ако стварно желите ово.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "„QCOW2“ слика не може бити исписана на стандардном излазу!\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr "Не могу да добавим податке излаза\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "Слика (%s) је сажета\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "Слика (%s) је шифрована\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "Слика (%s) је оштећена\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "приликом покушаја претварања „qcow2“ слике (%s) у сирову слику (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr "Опција „-c“ је подржана једино у сировом режиму\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "Опција „-c“ није подржана приликом писања на стандардном излазу\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr "приликом доделе међумеморије провере"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr "Опција „-p“ је подржана једино у сировом режиму\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d блока већ садрже податке за умножавање\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Употреба: %s -r уређај\n"
@@ -4764,7 +4871,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: није систем датотека екст2\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3117
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Упозорење: натпис је предуг, скраћујем.\n"
@@ -4779,7 +4886,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: грешка писања суперблока\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1687
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Употреба: e2label уређај [нови_натпис]\n"
@@ -4789,151 +4896,151 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Употреба: %s [-f] [-h] [-n] [-o померај] [-v] [-z дттка_врати] <датотека преноса> <систем датотека>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "Суперблок система датотека не одговара датотеци опозива.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "УУИД не одговара.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "Време последњег качења не одговара.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "Време последњег писања не одговара.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Бројач времена писања не одговара.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "приликом читања суперблока система датотека."
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "приликом довлачења суперблока"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "Сума провере суперблока датотеке опозива не одговара.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "неисправан померај — %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "Нећу писати у датотеку опозива приликом одговарања.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "проликом отварања датотеке опозива „%s“\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "приликом читања датотеке опозива"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: Није датотека опозива.\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: Сума провере заглавља не одговара.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: Оштећено заглавље датотеке опозива.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: Величина блока опозива је превелика.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: Величина блока опозива је премала.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: Непозната подешена функције датотеке опозива.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Грешка приликом одређивања да ли је „%s“ прикачен."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "„e2undo“ треба покретати само на откаченим системима датотека"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "приликом отварања „%s“"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "наведени померај је превелик"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "приликом читања кључева"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: погрешна магија кључа на %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: грешка суме провере блока кључа на %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: блок %llu је предуг."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "приликом довлачења блока %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "грешка суме провере у блоку система датотека %llu (поништавам „blk %llu“)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "приликом писања блока %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Оштећење датотеке опозива; САДА покрените „e2fsck“!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "УИ грешка приликом одговора; САДА покрените „e2fsck“!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Непотпун запис опозива; покрените „e2fsck“.\n"
@@ -4982,7 +5089,7 @@
 msgid "byte_offset  byte_start     byte_end  fs_blocks blksz  grp  mkfs/mount_time           sb_uuid label\n"
 msgstr "померај_бајта  почетак_бајта     крај_бајта  сд_блокови блквел  грп  mkfs/време_качења           цб_ууид натпис\n"
 
-#: misc/findsuper.c:264
+#: misc/findsuper.c:265
 #, c-format
 msgid ""
 "\n"
@@ -4991,17 +5098,17 @@
 "\n"
 "%11Lu: је завршено грешком %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "УПОЗОРЕЊЕ: не могу да отворим „%s“: %s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr "УПОЗОРЕЊЕ: лош запис у %d. реду за „%s“\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5013,37 +5120,37 @@
 "        поправите датотеку „/etc/fstab“ што пре будете могли.\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck: %s: нисам нашао\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr "%s: тренутак: Нема више произашлих процеса?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr "Упозорење... „%s“ за уређај „%s“ је завршио сигналом %d.\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr "%s %s: стање је „%x“, ово не би требало никада да се деси.\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Завршено је са „%s“ (стање излаза %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr "%s: Грешка „%d“ приликом извршавања „fsck.%s“ за „%s“\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
@@ -5051,88 +5158,93 @@
 "Или све или ниједна врста система датотека прослеђена за „-t“ мора имати префикс\n"
 "„no“ или „!“.\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr "Не могу да доделим меморију за врсте система датотека\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr "%s: прескачем лош ред у датотеци „/etc/fstab“: свезујем качење са не-нултим бројем пролаза „fsck“-а\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr "fsck: не могу да проверим „%s“: нисам нашао „fsck.%s“\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "Проверавам све системе датотека.\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "——чекам—— (%d. корак)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr "Употреба: fsck [-AMNPRTV] [ -C [ од ] ] [-t врста_сис_дат] [опције_сис_дат] [сис_дттка...]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s: превише уређаја\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: превише аргумената\n"
 
-#: misc/fuse2fs.c:3745
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Качим само за читање.\n"
 
-#: misc/fuse2fs.c:3769
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: Омогућавам корисницима да доделе све блокове. Ово је опасно!\n"
 
-#: misc/fuse2fs.c:3781 misc/fuse2fs.c:3795
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3797 misc/tune2fs.c:3013
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Покрените „e2fsck -fy“ „%s“.\n"
 
-#: misc/fuse2fs.c:3804
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: качим само за читање без опоравка дневника\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Дневнику је потребан опоравак; треба да покренете „e2fsck -E дневник_само“.\n"
 
-#: misc/fuse2fs.c:3812
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: Писање у дневник није подржано.\n"
 
-#: misc/fuse2fs.c:3827
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Упозорење: Качим непроверени сис_дттка, покретање „e2fsck“ је препоручљиво.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Упозорење: Достигнут је највећи број качења, покретање „e2fsck“ је препоручљиво.\n"
 
-#: misc/fuse2fs.c:3836
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Упозорење: Достигнуто је време провере, покретање „e2fsck“ је препоручљиво.\n"
 
-#: misc/fuse2fs.c:3840
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Откривени су сирочићи; покретање „e2fsck“ је препоручљиво.\n"
 
-#: misc/fuse2fs.c:3844
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Откривене су грешке; покретање „e2fsck“ је препоручљиво.\n"
 
@@ -5156,7 +5268,11 @@
 msgid "While reading version on %s"
 msgstr "За време читања издања на „%s“"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "Не могу да доделим променљиву путање у „lsattr_dir_proc“\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5177,35 +5293,35 @@
 "\t[-t fs-type] [-T врста_употребе ] [-U UUID] [-e понашање_грешака][-z датотека_опозива]\n"
 "        [-jnqvDFSV] уређај [број_блокова]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Покрећем наредбу: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "док сам покушавао да покренем „%s“"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "приликом обраде списка лоших блокова из програма"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Блок %d у области описника примарног суперблока/групе је лош.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "Блокови од %u до %u морају бити добри да би се изградио систем датотека.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Прекидам...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5216,19 +5332,19 @@
 "\tлоше блокове.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "приликом обележавања лоших блокова коришћеним"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "приликом писања резервисаних и-чворова"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Пишем табеле и-чвора: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5237,76 +5353,80 @@
 "\n"
 "Не могу да запишем %d блока у табели и-чвора са почетком %llu: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2809 misc/mke2fs.c:3214
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "готово                            \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "приликом стварања кореног директоријума"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "приликом читања кореног и-чвора"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "приликом постављања власништва кореног и-чвора"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "приликом стварања „/изгубљено+нађено“"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "приликом тражења „/изгубљено+нађено“"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "приликом ширења „/изгубљено+нађено“"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "приликом постављања и-чвора оштећених блокова"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Нестало је меморије током брисања сектора %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Упозорење: не могу да читам блок 0: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Упозорење: не могу да обришем сектор %d: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "приликом поделе величине дневника"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "приликом покретања суперблока дневника"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Постављам на нулу уређај дневника: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "приликом постављања на нулу уређаја дневника (блок %llu, укупно %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "приликом писања суперблока дневника"
 
-#: misc/mke2fs.c:665
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "Стварам систем датотека са %llu %dk блока и %u и-чвора\n"
 
-#: misc/mke2fs.c:673
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5315,164 +5435,164 @@
 "упозорење: %llu блока се не користе.\n"
 "\n"
 
-#: misc/mke2fs.c:678
+#: misc/mke2fs.c:688
 #, c-format
-msgid "Filesystem label=%s\n"
-msgstr "Натпис система датотека=%s\n"
+msgid "Filesystem label=%.*s\n"
+msgstr "Натпис система датотека=%.*s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "Врста ОС-а: %s\n"
 
-#: misc/mke2fs.c:683
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Величина блока=%u (записник=%u)\n"
 
-#: misc/mke2fs.c:686
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Величина кластера=%u (записник=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Величина фрагмента=%u (записник=%u)\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "Искорак = %u блока, ширина траке = %u блока\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u и-чвора, %llu блока\n"
 
-#: misc/mke2fs.c:696
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu блока (%2.2f%%) је резревисано за администратора\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Први блок података=%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Власник кореног директоријума=%u:%u\n"
 
-#: misc/mke2fs.c:703
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Највећи број блокова систем датотека=%lu\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u групе блокова\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u група блокова\n"
 
-#: misc/mke2fs.c:711
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u блока по групи, %u кластера по групи\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u блока по групи, %u фрагмента по групи\n"
 
-#: misc/mke2fs.c:716
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u и-чвора по групи\n"
 
-#: misc/mke2fs.c:725
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "УУИД система датотека: %s\n"
 
-#: misc/mke2fs.c:726
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Резерве суперблока смештене на блоковима: "
 
-#: misc/mke2fs.c:822
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "„%s“ захтева „-O 64бита“\n"
 
-#: misc/mke2fs.c:828
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "„%s“ мора бити пре „resize=%u“\n"
 
-#: misc/mke2fs.c:841
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "Неисправна величина описника: %s\n"
 
-#: misc/mke2fs.c:855
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "Неисправно семе хеша: %s\n"
 
-#: misc/mke2fs.c:867
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Неисправан померај: %s\n"
 
-#: misc/mke2fs.c:881 misc/tune2fs.c:2055
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "Неисправан период освежавања ммп-а: %s\n"
 
-#: misc/mke2fs.c:898
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Неисправан број суперблокова резерве: %s\n"
 
-#: misc/mke2fs.c:920
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Неисправан параметар искорака: %s\n"
 
-#: misc/mke2fs.c:935
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Неисправан параметар ширине траке: %s\n"
 
-#: misc/mke2fs.c:958
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Неисправан параметар промене величине: %s\n"
 
-#: misc/mke2fs.c:965
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "Највећа вредност промене величине мора бити већа од величине система датотека.\n"
 
-#: misc/mke2fs.c:989
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr "Промена величине на мрежи није подржана са системима датотека ревизије 0\n"
 
-#: misc/mke2fs.c:1015 misc/mke2fs.c:1024
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "Неисправан корени власник: %s\n"
 
-#: misc/mke2fs.c:1069
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "Неисправно кодирање: %s"
 
-#: misc/mke2fs.c:1087
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5525,7 +5645,7 @@
 "\tquotatype=<врста квоте за укључивање>\n"
 "\n"
 
-#: misc/mke2fs.c:1114
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5536,17 +5656,17 @@
 "Упозорење: РАИД ширина траке %u није парни умножак искорака %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1125
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr "грешка: Неисправна заставица кодирања: %s\n"
 
-#: misc/mke2fs.c:1131
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr "грешка: Кодирање мора изричито бити наведено приликом давања заставица кодирања\n"
 
-#: misc/mke2fs.c:1179
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5555,17 +5675,17 @@
 "Грешка синтаксе у датотеци подешавања „mke2fs“-а (%s, %d. ред)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1192 misc/tune2fs.c:1068
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Постављена је неисправна опција система датотека: %s\n"
 
-#: misc/mke2fs.c:1204 misc/tune2fs.c:417
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Постављена је неисправна опција качења: %s\n"
 
-#: misc/mke2fs.c:1340
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5574,7 +5694,7 @@
 "\n"
 "Ваша датотека „mke2fs.conf“ не дефинише „%s“ врсту система датотека.\n"
 
-#: misc/mke2fs.c:1344
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5582,11 +5702,11 @@
 "Вероватно треба да инсталирате освежену датотеку „mke2fs.conf“.\n"
 "\n"
 
-#: misc/mke2fs.c:1348
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "Прекидам...\n"
 
-#: misc/mke2fs.c:1389
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5597,79 +5717,79 @@
 "Упозорење: врста система датотека „%s“ није дефинисана у датотеци „mke2fs.conf“\n"
 "\n"
 
-#: misc/mke2fs.c:1571
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Не могу да доделим меморију за нову ПУТАЊУ.\n"
 
-#: misc/mke2fs.c:1608
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "Не могу успешно да покренем профил (грешка: %ld).\n"
 
-#: misc/mke2fs.c:1641
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "неисправна величина блока — %s"
 
-#: misc/mke2fs.c:1645
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Упозорење: величина блока %d није употребљива на већини система.\n"
 
-#: misc/mke2fs.c:1661
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "неисправна величина кластера — %s"
 
-#: misc/mke2fs.c:1674
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "„-R“ је застарело, користите „-E“"
 
-#: misc/mke2fs.c:1688 misc/tune2fs.c:1784
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "лоше понашање грешке — %s"
 
-#: misc/mke2fs.c:1700
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Недозвољени број за блокове по групи"
 
-#: misc/mke2fs.c:1705
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "блокова по групи мора бити умножак од 8"
 
-#: misc/mke2fs.c:1713
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Недозвољени број за величину „flex_bg“"
 
-#: misc/mke2fs.c:1719
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "Величина „flex_bg“ мора бити степен 2"
 
-#: misc/mke2fs.c:1724
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "Величина „flex_bg“ (%lu) мора бити мање или једнака са 2^31"
 
-#: misc/mke2fs.c:1734
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "неисправан опсег и-чвора %s (најм. %d/најв. %d)"
 
-#: misc/mke2fs.c:1744
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "неисправна величина и-чвора — %s"
 
-#: misc/mke2fs.c:1757
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "Упозорење: Опција „-K“ је застарела и не треба више да се користи. Користите проширену опцију „-E nodiscard“!\n"
 
-#: misc/mke2fs.c:1768
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "у додели меморије за назив_датотеке_лоших_блокова"
 
-#: misc/mke2fs.c:1777
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
@@ -5678,67 +5798,77 @@
 "Упозорење: натпис је предуг; биће скраћен на „%s“\n"
 "\n"
 
-#: misc/mke2fs.c:1786
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "неисправан проценат резервисаних блокова — %s"
 
-#: misc/mke2fs.c:1801
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "лош број и-чворова — %s"
 
-#: misc/mke2fs.c:1814
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "приликом доделе ниске функције система датотека"
 
-#: misc/mke2fs.c:1831
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "лош ниво ревизије — %s"
 
-#: misc/mke2fs.c:1836
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "приликом покушаја стварања ревизије %d"
 
-#: misc/mke2fs.c:1850
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "Опција „-t“ се може користити само једном"
 
-#: misc/mke2fs.c:1858
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "Опција „-T“ се може користити само једном"
 
-#: misc/mke2fs.c:1914 misc/mke2fs.c:3298
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "приликом покушаја отварања уређаја дневника „%s“\n"
 
-#: misc/mke2fs.c:1920
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr "Величина блока уређаја дневника (%d) је мања од најмање величине блока %d\n"
 
-#: misc/mke2fs.c:1926
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Користим величину блока уређаја дневника: %d\n"
 
-#: misc/mke2fs.c:1937
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "неисправни блокови „%s“ на уређају „%s“"
 
-#: misc/mke2fs.c:1967
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "систем датотека"
 
-#: misc/mke2fs.c:1985 resize/main.c:497
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "Не постоји датотека „%s“ и никаква величина није наведена.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Стварам обичну датотеку „%s“\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "док сам покушавао да одредим величину система датотека"
 
-#: misc/mke2fs.c:1991
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5746,7 +5876,7 @@
 "Не могу да одредим величину уређаја; морате навести\n"
 "величину система датотека\n"
 
-#: misc/mke2fs.c:1998
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5758,48 +5888,48 @@
 "\tизмењена партиција заузета и у употреби.  Морате поново да подигнете\n"
 "\tсистем да бисте поново прочитали табелу патриција.\n"
 
-#: misc/mke2fs.c:2015
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "Систем датотека је већи од привидне величине уређаја."
 
-#: misc/mke2fs.c:2035
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "Нисам успео да обрадим списак врста система датотека\n"
 
-#: misc/mke2fs.c:2085
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "ХУРД не подржава функцију врсте датотеке.\n"
 
-#: misc/mke2fs.c:2090
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "ХУРД не подржава функцију велике датотеке.\n"
 
-#: misc/mke2fs.c:2095
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "ХУРД не подржава функцију суме провере метаподатака.\n"
 
-#: misc/mke2fs.c:2100
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "ХУРД не подржава функцију „еа_чвор“.\n"
 
-#: misc/mke2fs.c:2110
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "док сам покушавао да одредим величину хардверског сектора"
 
-#: misc/mke2fs.c:2116
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "док сам покушавао да одредим величину физичког сектора"
 
-#: misc/mke2fs.c:2148
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "приликом постављања величине блока; премала је за уређај\n"
 
-#: misc/mke2fs.c:2153
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Упозорење: наведена величина блока %d је мања од величине физичког сектора уређаја %d\n"
 
-#: misc/mke2fs.c:2177
+#: misc/mke2fs.c:2206
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5808,7 +5938,7 @@
 "%s: Величина уређаја (0x%llx blocs) „%s“ је превише велика да би била изражена\n"
 "\tса 32 бита коришћењем величине блока од %d.\n"
 
-#: misc/mke2fs.c:2191
+#: misc/mke2fs.c:2220
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5817,80 +5947,85 @@
 "%s: Величина уређаја (0x%llx blocs) „%s“ је превише велика за прављење\n"
 "\tс истема датотека коришћењем величине блока од %d.\n"
 
-#: misc/mke2fs.c:2213
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "врсте_сд-а за резолуцију „mke2fs.conf“-а: "
 
-#: misc/mke2fs.c:2220
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr "Функције система датотека нису подржане са системима датотека ревизије 0\n"
 
-#: misc/mke2fs.c:2228
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr "Оскудни суперблокови нису подржани са системима датотека ревизије 0\n"
 
-#: misc/mke2fs.c:2238
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr "Дневници нису подржани са системима датотека ревизије 0\n"
 
-#: misc/mke2fs.c:2251
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "неисправан проценат резервисаних блокова — %lf"
 
-#: misc/mke2fs.c:2268
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr "Распони МОРАЈУ бити укључени за 64-битни систем датотека. Проследите распоне „-O“ да исправите.\n"
 
-#: misc/mke2fs.c:2288
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "Величина кластера не може бити мања од величине блока.\n"
 
-#: misc/mke2fs.c:2294
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "навођење величине кластера захтева функцију „bigalloc“"
 
-#: misc/mke2fs.c:2314
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "упозорење: Не могу да добавим геометрију уређаја за „%s“\n"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "Поравнање „%s“ је померено за %lu бајта.\n"
 
-#: misc/mke2fs.c:2319
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr "Ово може довести до врло слабог учинка, предлаже вам се (поновно)-партиционисање.\n"
 
-#: misc/mke2fs.c:2340
+#: misc/mke2fs.c:2363
+#, 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 "„%s“ има могућност ДАИкс-а али тренутна величина блока %u се разликује од величине странице система %u тако да систем датотека неће подржавати ДАИкс.\n"
+
+#: misc/mke2fs.c:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "блокови од %d бајта су превелики за систем (најв. %d)"
 
-#: misc/mke2fs.c:2344
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr "Упозорење: блокови од %d бајта су превелики за систем (најв. %d), приморано је настављање\n"
 
-#: misc/mke2fs.c:2352
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Предлог: КОристите језгро Линукса >= 3.18 због побољшане стабилности функција метаподатака и суме провере дневника.\n"
 
-#: misc/mke2fs.c:2398
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr "Непознато кодирање назива датотеке из профила: %s"
 
-#: misc/mke2fs.c:2409
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr "Непознате заставице кодирања из профила: %s"
 
-#: misc/mke2fs.c:2434
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5905,24 +6040,16 @@
 "оно што ви желите.\n"
 "\n"
 
-#: misc/mke2fs.c:2449
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "и-чворови од %d бајта су премали за квоту пројекта"
 
-#: misc/mke2fs.c:2465
-msgid ""
-"The encrypt and casefold features are not compatible.\n"
-"They can not be both enabled simultaneously.\n"
-msgstr ""
-"Функције кодирања и увијања слова нису сагласне.\n"
-"Не могу бити укључене истовремено.\n"
-
-#: misc/mke2fs.c:2480
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "Не могу да подржим функцију „bigalloc“ без функције распона"
 
-#: misc/mke2fs.c:2487
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -5930,51 +6057,54 @@
 "Функције „resize_inode“ и „meta_bg“ нису сагласне.\n"
 "Не могу бити укључене истовремено.\n"
 
-#: misc/mke2fs.c:2495
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
 "\n"
-"Упозорење: функција „bigalloc“ је још увек у развоју\n"
-"Видите „https://ext4.wiki.kernel.org/index.php/Bigalloc“ за више о томе\n"
-"\n"
+"Упозорење: „bigalloc“ системи датотека са величином кластера већом\n"
+"16 пута од величине блока се сматра експерименталним\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr "резервисани блокови промене величине на мрежи нису подржани на не-оскудном систему датотека"
 
-#: misc/mke2fs.c:2516
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "број блокова по групи је ван опсега"
 
-#: misc/mke2fs.c:2538
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "Функција „flex_bg“ није укључена, тако да величина „flex_bg“ не може бити наведена"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "неисправна величина и-чвора %d (најм. %d/најв. %d)"
 
-#: misc/mke2fs.c:2565
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "и-чворови од %d бајта су премали за уграђене податке; наведите већу величину"
 
-#: misc/mke2fs.c:2580
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "128-битни и-чворови не могу да раде са подацима изван 2038 а јесу и застарели\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "превише и-чворова (%llu), да повећам опсег и-чвора?"
 
-#: misc/mke2fs.c:2587
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "превише и-чворова (%llu), наведи < 2^32 и-чвора"
 
-#: misc/mke2fs.c:2601
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -5985,65 +6115,69 @@
 "\tсистем датотека са %llu блок(ов)а, наведите већи опсег_и-чвора (-i)\n"
 "\tили смањите број_и-чворова (-N).\n"
 
-#: misc/mke2fs.c:2788
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
 msgstr "Одбацујем блокове уређаја: "
 
-#: misc/mke2fs.c:2804
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "неуспех — "
 
-#: misc/mke2fs.c:2863
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "приликом покретања контекста квоте"
 
-#: misc/mke2fs.c:2870
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "приликом писања и-чвора квоте"
 
-#: misc/mke2fs.c:2895
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "лоше понашање грешке у профилу — %s"
 
-#: misc/mke2fs.c:2971
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "у додели меморије за „android_sparse_params“"
 
-#: misc/mke2fs.c:2985
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "приликом постављања суперблока"
 
-#: misc/mke2fs.c:3001
+#: misc/mke2fs.c:3065
 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 "Распони нису укључени.  Стаблу распона датотеке се може урадити сума провере, док мапама блокова не.  Не укључивање распона смањује покривање метаподатака током суме провере. Проследите „-O“ распонима да исправите.\n"
 
-#: misc/mke2fs.c:3008
+#: misc/mke2fs.c:3072
 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 "Подршка 64-битног система датотека није укључена.  Већа поља обезбеђена овом функцијом укључују свеобухватну суму проевере.  Проследите „-O 64-бита“ да исправите.\n"
 
-#: misc/mke2fs.c:3016
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "Функција „metadata_csum_seed“ захтева функцију „metadata_csum“.\n"
 
-#: misc/mke2fs.c:3040
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "Одбацивање је успело а као резултат даће 0s — прескачем брисање табеле и-чвора\n"
 
-#: misc/mke2fs.c:3139
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "непознат ос — %s"
 
-#: misc/mke2fs.c:3202
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
 msgstr "Додељујем табеле групе: "
 
-#: misc/mke2fs.c:3210
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "приликом покушаја додељивања табела система датотека"
 
-#: misc/mke2fs.c:3219
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "приликом одзначавања лоших блокова"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6051,30 +6185,34 @@
 "\n"
 "\tприликом претварања битмапе подкластера"
 
-#: misc/mke2fs.c:3225
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "приликом израчунавања прекорачења"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "„%s“ може бити и даље оштећено преписивањем суперблоком\n"
 
-#: misc/mke2fs.c:3266
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "приликом постављања на нулу блока %llu на крају система датотека"
 
-#: misc/mke2fs.c:3279
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr "приликом резервисања блокова за промену величине на мрежи"
 
-#: misc/mke2fs.c:3291 misc/tune2fs.c:1492
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "дневник"
 
-#: misc/mke2fs.c:3303
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Додајем дневник уређају „%s“: "
 
-#: misc/mke2fs.c:3310
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
@@ -6083,21 +6221,21 @@
 "\n"
 "\tприликом покушаја додавања дневника уређају „%s“"
 
-#: misc/mke2fs.c:3315 misc/mke2fs.c:3344 misc/mke2fs.c:3382
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1521 misc/tune2fs.c:1540
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "готово\n"
 
-#: misc/mke2fs.c:3321
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "Прескачем стварање дневника у режиму само-супер\n"
 
-#: misc/mke2fs.c:3331
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Правим дневник (%u блока): "
 
-#: misc/mke2fs.c:3340
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6105,7 +6243,7 @@
 "\n"
 "\tприликом покушаја стварања дневника"
 
-#: misc/mke2fs.c:3352 misc/tune2fs.c:1133
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6113,28 +6251,28 @@
 "\n"
 "Грешка приликом укључивања функције заштите од вишеструког качења."
 
-#: misc/mke2fs.c:3357
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr "Заштита од вишеструког качења је укључена са периодом освежавања од %d секунде.\n"
 
-#: misc/mke2fs.c:3373
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "Умножавам датотеке на уређај: "
 
-#: misc/mke2fs.c:3379
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
 msgstr "приликом попуњавања система датотека"
 
-#: misc/mke2fs.c:3386
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr "Записујем податке предрачуна суперблокова и система датотека: "
 
-#: misc/mke2fs.c:3393
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "приликом писања и затварања система датотека"
 
-#: misc/mke2fs.c:3396
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6147,26 +6285,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "приликом постављања на нулу блока %llu за велику датотеку"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Померај партиције од %llu (%uk) блока није сагласан са величином кластера %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Огромне датотеке биће сведене на нулу\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Стварам %lu огромну(е) датотеку(е) "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "са %llu блока свака"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "приликом стварања огромне датотеке %lu"
@@ -6210,7 +6348,7 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s: h=%3d s=%3d c=%4d   почетак=%8d величина=%8lu крај=%8d\n"
 
-#: misc/tune2fs.c:119
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
@@ -6218,15 +6356,15 @@
 "\n"
 "Ова операција захтева недавно проверени систем датотека.\n"
 
-#: misc/tune2fs.c:121
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "Покрените „e2fsck -f“ на систему датотека.\n"
 
-#: misc/tune2fs.c:123
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "Покрените „e2fsck -fD“ на систему датотека.\n"
 
-#: misc/tune2fs.c:136
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6247,20 +6385,20 @@
 "\t[-E проширена_опција[,...]] [-T последње_време_провере] [-U УУИД]\n"
 "\t[-I нова_величина_и-чвора] [-z датотека_поништења] уређај\n"
 
-#: misc/tune2fs.c:223
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "Нисам нашао суперблок дневника!\n"
 
-#: misc/tune2fs.c:281
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "приликом покушаја отварања спољног дневника"
 
-#: misc/tune2fs.c:287 misc/tune2fs.c:2804
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "„%s“ није уређај дневника.\n"
 
-#: misc/tune2fs.c:296 misc/tune2fs.c:2813
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
@@ -6269,11 +6407,11 @@
 "Суперблок дневника је оштећен, бр_корисника\n"
 "је превисок (%d).\n"
 
-#: misc/tune2fs.c:303 misc/tune2fs.c:2820
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr "Нисам нашао УУИД система датотека на уређају дневника.\n"
 
-#: misc/tune2fs.c:327
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6281,52 +6419,52 @@
 "Не могу да нађем уређај дневника. НИЈЕ уклоњен\n"
 "Користите опцију „-f“ да уклоните недостајући уређај дневника.\n"
 
-#: misc/tune2fs.c:336
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Дневник је уклоњен\n"
 
-#: misc/tune2fs.c:380
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "приликом читања битмапа"
 
-#: misc/tune2fs.c:388
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "приликом брисања и-чвора дневника"
 
-#: misc/tune2fs.c:399
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "приликом писања и-чвора дневника"
 
-#: misc/tune2fs.c:435 misc/tune2fs.c:458 misc/tune2fs.c:471
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(и после поново подигните систем!)\n"
 
-#: misc/tune2fs.c:486
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Након што покренете „e2fsck“, покрените „resize2fs %s %s“"
 
-#: misc/tune2fs.c:489
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Покрените „resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z „%s“"
 
-#: misc/tune2fs.c:495
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "“ да укључите 64-битни режим.\n"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "“ да искључите 64-битни режим.\n"
 
-#: misc/tune2fs.c:1035
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6334,17 +6472,17 @@
 "УПОЗОРЕЊЕ: Не могу да потврдим подршку језгра за „metadata_csum_seed“.\n"
 "  Ово захтева Линукс >= v4.4.\n"
 
-#: misc/tune2fs.c:1071
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "Брисање „%s“ функције система датотека није подржано.\n"
 
-#: misc/tune2fs.c:1077
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "Постављање „%s“ функције система датотека није подржано.\n"
 
-#: misc/tune2fs.c:1086
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6352,7 +6490,7 @@
 "Функција „has_journal“ може бити очишћена само када је систем датотека\n"
 "откачен или прикачен само за читање.\n"
 
-#: misc/tune2fs.c:1094
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6360,7 +6498,7 @@
 "Заставица „needs_recovery“ је постављена. Покрените „e2fsck“ пре\n"
 "брисања заставице „has_journal“.\n"
 
-#: misc/tune2fs.c:1112
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6368,7 +6506,7 @@
 "Постављање „sparse_super“ функције система датотека није подржано\n"
 "за системе датотека са укљученом функцијом „meta_bg“.\n"
 
-#: misc/tune2fs.c:1125
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6378,12 +6516,12 @@
 "бити постављена ако је систем датотека прикачен\n"
 "или само за читање.\n"
 
-#: misc/tune2fs.c:1143
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr "Заштита од вишеструког качења је била укључена са периодом освежавања од %d сек.\n"
 
-#: misc/tune2fs.c:1152
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6391,20 +6529,28 @@
 "Функција заштите од вишеструког качења не може бити\n"
 "искључена ако је систем датотека само за читање.\n"
 
-#: misc/tune2fs.c:1160
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "Грешка приликом читања битмапа\n"
 
-#: misc/tune2fs.c:1169
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "Магични број у ММП блоку не одговара. очекиван: %x, стваран: %x\n"
 
-#: misc/tune2fs.c:1174
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
 msgstr "приликом читања ММП блока."
 
-#: misc/tune2fs.c:1206
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Искључивање индекс директоријума на систему датотека са сумама провере може да потраје."
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Не могу да искључим „dir_index“ на прикаченом систему датотека!\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
@@ -6412,7 +6558,7 @@
 "Брисање заставице „flex_bg“ ће довести до недоследности\n"
 "система датотека.\n"
 
-#: misc/tune2fs.c:1217
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6420,46 +6566,54 @@
 "Функција „huge_file“ може бити очишћена само када је систем датотека\n"
 "откачен или прикачен само за читање.\n"
 
-#: misc/tune2fs.c:1228
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr "Укључивање сума провере може потрајати."
 
-#: misc/tune2fs.c:1230
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "Не могу да укључим „metadata_csum“ на прикаченом систему датотека!\n"
 
-#: misc/tune2fs.c:1236
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr "Распони нису укључени.  Стаблу распона датотеке се може урадити сума провере, док мапама блокова не.  Не укључивање распона смањује покривање метаподатака током суме провере.  Поново покрените са „-O“ распоном да исправите.\n"
 
-#: misc/tune2fs.c:1243
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr "Подршка 64-битног система датотека није укључена.  Већа поља обезбеђена овом функцијом укључују свеобухватну суму проевере.  Покрените „resize2fs -b“ да исправите.\n"
 
-#: misc/tune2fs.c:1269
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
 msgstr "Искључивање сума провере може потрајати."
 
-#: misc/tune2fs.c:1271
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "Не могу да искључим „metadata_csum“ на прикаченом систему датотека!\n"
 
-#: misc/tune2fs.c:1334
+#: misc/tune2fs.c:1372
+msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
+msgstr "Не могу да укључим „uninit_bg“ на прикаченом систему датотека!\n"
+
+#: misc/tune2fs.c:1387
+msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
+msgstr "Не могу да искључим „uninit_bg“ на прикаченом систему датотека!\n"
+
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "Не могу да укључим 64-битни режим док је прикачен!\n"
 
-#: misc/tune2fs.c:1344
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "Не могу да искључим 64-битни режим док је прикачен!\n"
 
-#: misc/tune2fs.c:1374
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "Не могу да омогућим функцију пројекта; величина и-чвора је премала.\n"
 
-#: misc/tune2fs.c:1395
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6467,11 +6621,11 @@
 "\n"
 "Упозорење: Опција „^quota“ превазилази аргументе „-Q“.\n"
 
-#: misc/tune2fs.c:1405
-msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
-msgstr "Не могу да омогућим функцију шифровања на системима датотека са укљученом функцијом кодирања.\n"
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
+msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
+msgstr "Функција малих слова се може изменити само када је систем датотека откачен.\n"
 
-#: misc/tune2fs.c:1419
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6479,7 +6633,7 @@
 "Постављање функције „metadata_csum_seed“ је подржано само\n"
 "на системима датотека са укљученом функцијом „metadata_csum“.\n"
 
-#: misc/tune2fs.c:1437
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
@@ -6487,15 +6641,15 @@
 "УУИД је измењен од укључивања функције „metadata_csum“.  Систем датотека мора бити откачен \n"
 "да би се безбедно преписали сви метаподаци како би одговарали новом УУИД-у.\n"
 
-#: misc/tune2fs.c:1443
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr "Поновно израчунавање сума провере може потрајати."
 
-#: misc/tune2fs.c:1485
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "Систем датотека већ има дневник.\n"
 
-#: misc/tune2fs.c:1505
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6504,21 +6658,21 @@
 "\n"
 "\tприликом покушаја отварања дневника на „%s“\n"
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Стварам дневник на уређају „%s“: "
 
-#: misc/tune2fs.c:1517
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "приликом додавања система датотека дневнику на „%s“"
 
-#: misc/tune2fs.c:1523
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
 msgstr "Стварам и-чвор дневника: "
 
-#: misc/tune2fs.c:1537
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6526,31 +6680,31 @@
 "\n"
 "\tприликом покушаја стварања датотеке дневника"
 
-#: misc/tune2fs.c:1575
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "Не могу да омогућим квоту пројекта; величина и-чвора је премала.\n"
 
-#: misc/tune2fs.c:1588
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
 msgstr "приликом покретања контекста квоте у библиотеци подршке"
 
-#: misc/tune2fs.c:1603
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "приликом освежавања ограничења квоте (%d)"
 
-#: misc/tune2fs.c:1611
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "приликом писања датотеке квоте (%d)"
 
-#: misc/tune2fs.c:1629
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "приликом уклањања датотеке квоте (%d)"
 
-#: misc/tune2fs.c:1672
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6572,65 +6726,65 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1730
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Не могу да обрадим одредник датума/времена: %s"
 
-#: misc/tune2fs.c:1755 misc/tune2fs.c:1768
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "лош број качења — %s"
 
-#: misc/tune2fs.c:1811
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "лош назив гид-а/групе — %s"
 
-#: misc/tune2fs.c:1844
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "лош период — %s"
 
-#: misc/tune2fs.c:1873
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "лош опсег резервисаног блока — %s"
 
-#: misc/tune2fs.c:1888
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
 msgstr "„-o“ се може навести само једном"
 
-#: misc/tune2fs.c:1897
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
 msgstr "„-O“ се може навести само једном"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "лош број резервисаних блокова — %s"
 
-#: misc/tune2fs.c:1943
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "лош назив уид-а/корисника — %s"
 
-#: misc/tune2fs.c:1960
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "лоша величина и-чвора — %s"
 
-#: misc/tune2fs.c:1967
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "Величина и-чвора мора бити степен двојке — %s"
 
-#: misc/tune2fs.c:2064
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "период_ммп_освежавања је превелик: %lu\n"
 
-#: misc/tune2fs.c:2069
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
@@ -6638,32 +6792,52 @@
 msgstr[1] "Постављам период освежавања заштите од вишеструког качења на %lu секунде\n"
 msgstr[2] "Постављам период освежавања заштите од вишеструког качења на %lu секунди\n"
 
-#: misc/tune2fs.c:2078
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Постављам зставицу грешке система датотека на присилну проверу истог.\n"
 
-#: misc/tune2fs.c:2096
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Неисправан РАИД искорак: %s\n"
 
-#: misc/tune2fs.c:2111
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Неисправна РАИД ширина траке: %s\n"
 
-#: misc/tune2fs.c:2126
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Неисправан хеш алгоритам: %s\n"
 
-#: misc/tune2fs.c:2132
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Постављам основни хеш алгоритам на „%s“ (%d)\n"
 
-#: misc/tune2fs.c:2151
+#: misc/tune2fs.c:2252
+#, c-format
+msgid "Cannot alter existing encoding\n"
+msgstr "Не могу да изменим постојеће кодирање\n"
+
+#: misc/tune2fs.c:2258
+#, c-format
+msgid "Invalid encoding: %s\n"
+msgstr "Неисправно кодирање: %s\n"
+
+#: misc/tune2fs.c:2264
+#, c-format
+msgid "Setting encoding to '%s'\n"
+msgstr "Постављам кодирање на „%s“\n"
+
+#: misc/tune2fs.c:2288
+#, c-format
+msgid "Setting encoding_flags to '%s'\n"
+msgstr "Постављам заставице кодирања на „%s“\n"
+
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6681,6 +6855,8 @@
 "\tforce_fsck\n"
 "\ttest_fs\n"
 "\t^test_fs\n"
+"\tencoding=<encoding>\n"
+"\tencoding_flags=<flags>\n"
 msgstr ""
 "\n"
 "Наведене су лоше опције.\n"
@@ -6698,32 +6874,34 @@
 "\tforce_fsck\n"
 "\ttest_fs\n"
 "\t^test_fs\n"
+"\tencoding=<кодирање>\n"
+"\tencoding_flags=<заставице>\n"
 
-#: misc/tune2fs.c:2622
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
 msgstr "Нисам успео да прочитам битмапу и-чвора\n"
 
-#: misc/tune2fs.c:2627
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "Нисам успео да прочитам битмапу блока\n"
 
-#: misc/tune2fs.c:2644 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "блокови за премештање"
 
-#: misc/tune2fs.c:2647
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Нисам успео да доделим битмау блока приликом повећања величине и-чвора\n"
 
-#: misc/tune2fs.c:2653
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr "Нема довољно простора за повећање величине и-чвора \n"
 
-#: misc/tune2fs.c:2658
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Нисам успео да преместим блокове приликом промене величине и-чвора \n"
 
-#: misc/tune2fs.c:2690
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6731,7 +6909,7 @@
 "Грешка промене величине и-чвора.\n"
 "Покрените „e2undo“ да поништите измене система датотека. \n"
 
-#: misc/tune2fs.c:2900
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6739,7 +6917,7 @@
 "Ако сте сигурни да систем датотека није у употреби ни на једном чвору, покрените:\n"
 "„tune2fs -f -E clear_mmp {уређај}“\n"
 
-#: misc/tune2fs.c:2907
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6748,29 +6926,29 @@
 "Магија ММП блока је лоша. Покушајте да је поправите покретањем:\n"
 "„e2fsck -f %s“\n"
 
-#: misc/tune2fs.c:2919
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "Не могу да изменим уређај дневника.\n"
 
-#: misc/tune2fs.c:2932
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "Величина и-чвора је већ %lu\n"
 
-#: misc/tune2fs.c:2939
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
 msgstr "Скупљање величине и-чвора није подржано\n"
 
-#: misc/tune2fs.c:2944
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "Неисправна величина и-чвора %lu (најв. %d)\n"
 
-#: misc/tune2fs.c:2950
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr "Промена величине и-чворова може потрајати мало дуже."
 
-#: misc/tune2fs.c:2998
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6787,57 +6965,57 @@
 "затим поново покренути ову наредбу.  У супротном, све начињене измене могу бити преписане\n"
 "опоравком дневника.\n"
 
-#: misc/tune2fs.c:3009
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Опорављам дневник.\n"
 
-#: misc/tune2fs.c:3028
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Постављам највећи број качења на %d\n"
 
-#: misc/tune2fs.c:3034
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Постављам текући број качења на %d\n"
 
-#: misc/tune2fs.c:3039
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Постављам понашање грешке на %d\n"
 
-#: misc/tune2fs.c:3044
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "Постављам гид резервисаних блокова на %lu\n"
 
-#: misc/tune2fs.c:3049
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "период између провера је превелик (%lu)"
 
-#: misc/tune2fs.c:3056
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Постављам период између провера на %lu секунде\n"
 
-#: misc/tune2fs.c:3063
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Постављам проценат резервисаних блокова на %g%% (%llu блока)\n"
 
-#: misc/tune2fs.c:3069
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "број резервисаних блокова је превелик (%llu)"
 
-#: misc/tune2fs.c:3076
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Постављам брј резервисаних блокова на %llu\n"
 
-#: misc/tune2fs.c:3081
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -6845,7 +7023,7 @@
 "\n"
 "Систем датотека већ има оскудне суперблокове.\n"
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -6855,7 +7033,7 @@
 "Постављање заставице оскудног суперблока није подржано\n"
 "за системе датотека са укљученом функцијом „meta_bg“.\n"
 
-#: misc/tune2fs.c:3094
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
@@ -6864,7 +7042,7 @@
 "\n"
 "Заставица оскудног суперблока је постављена.  %s"
 
-#: misc/tune2fs.c:3099
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -6872,49 +7050,53 @@
 "\n"
 "Брисање заставице оскудног суперблока није подржано.\n"
 
-#: misc/tune2fs.c:3107
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "Постављам време последње провере система датотека на %s\n"
 
-#: misc/tune2fs.c:3113
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "Постављам уид резервисаних блокова на %lu\n"
 
-#: misc/tune2fs.c:3145
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Грешка коришћења „clear_mmp“-а. Мора се користити са „-f“\n"
 
-#: misc/tune2fs.c:3163
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "Функција квоте се може изменити само када је систем датотека откачен.\n"
 
-#: misc/tune2fs.c:3181
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Не могу да изменим УУИД овог система датотека јер има заставицу функције „stable_inodes“.\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Подешавање УУИД-а на овом систему датотека може потрајати."
 
-#: misc/tune2fs.c:3196
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "УУИД се може изменити само када је систем датотека откачен.\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr "Ако користите само језгра новија од v4.4, покрените „tune2fs -O metadata_csum_seed“ и поново је покрените.\n"
 
-#: misc/tune2fs.c:3229
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Неисправан УУИД запис\n"
 
-#: misc/tune2fs.c:3245
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "Потребно је освежавање суперблока дневника.\n"
 
-#: misc/tune2fs.c:3267
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr "Величина и-чвора се може изменити само када је систем датотека откачен.\n"
 
-#: misc/tune2fs.c:3274
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -6922,61 +7104,61 @@
 "Промена величине и-чвора није подржана за системе датотека са укљученом\n"
 "функцијом „flex_bg“.\n"
 
-#: misc/tune2fs.c:3292
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Постављам величину и-чвора %lu\n"
 
-#: misc/tune2fs.c:3296
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
 msgstr "Нисам успео да изменим величину и-чвора\n"
 
-#: misc/tune2fs.c:3310
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Постављам величину искорака на %d\n"
 
-#: misc/tune2fs.c:3315
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Постављам ширину траке на %d\n"
 
-#: misc/tune2fs.c:3322
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "Постављам проширене основне опције качења на „%s“\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
 msgstr "<настављам>\n"
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "Да наставим (или да сачекам %d сек.) ? (y,N = да,не) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
 msgstr "Да наставим ипак? (y,N = да,не) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "„mke2fs“ је ипак присиљено.  Надам се да је „/etc/mtab“ неисправно.\n"
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "неће овде направити „%s“!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "„mke2fs“ је ипак присиљено.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr "Не могу да доделим меморију за обраду опција дневника!\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -6985,7 +7167,7 @@
 "\n"
 "Не могу да нађем уређај дневника који одговара „%s“\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7015,7 +7197,7 @@
 "Величина дневника мора бити између 1024 и 10240000 блокова система датотека.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7023,26 +7205,26 @@
 "\n"
 "Систем датотека је премали за дневник\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
 "Затражена величина дневника је %d блока; мора бити\n"
 "између 1024 и 10240000 блокова.  Прекидам.\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"Величина дневника је превелика за систем датотека.\n"
+"Укупна величина дневника је превелика за систем датотека.\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7186,11 +7368,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Употреба: %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# Избачај распона:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr "#\tБрој=%llu, Величина=%llu, Курзор=%llu, Поређано=%llu\n"
@@ -7245,17 +7427,17 @@
 "сопствену одговорност!  Користите опцију „force“ ако ипак желите да наставите.\n"
 "\n"
 
-#: resize/main.c:366
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "приликом отварања „%s“"
 
-#: resize/main.c:374
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "приликом добављања података стања за „%s“"
 
-#: resize/main.c:451
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7264,30 +7446,34 @@
 "Прво покрените „e2fsck -f %s“.\n"
 "\n"
 
-#: resize/main.c:470
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Процењена најмања величина система датотека: %llu\n"
 
-#: resize/main.c:507
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "Неисправна нова величина: %s\n"
 
-#: resize/main.c:526
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "Нова величина је превише велика да би била изражена са 32 бита\n"
 
-#: resize/main.c:534
+#: resize/main.c:560
+msgid "New size results in too many block group descriptors.\n"
+msgstr "Нова величина резултира са превише описника групе блока.\n"
+
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "Нова величина је мања од најмање (%llu)\n"
 
-#: resize/main.c:540
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Неисправна дужина искорака"
 
-#: resize/main.c:564
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7298,27 +7484,27 @@
 "Затражили сте нову величину од %llu блока.\n"
 "\n"
 
-#: resize/main.c:571
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Не могу да подесим и да поништим 64-битну функцију.\n"
 
-#: resize/main.c:575
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "Не могу да изменим 64-битну функцију на систему датотека који је већи од 2^32 блокова.\n"
 
-#: resize/main.c:581
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "Не могу да изменим 64-битну функцију док је систем датотека прикачен.\n"
 
-#: resize/main.c:587
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Укључите функцију распона са „tune2fs“ пре него што укључите 64-битну функцију.\n"
 
-#: resize/main.c:593
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7327,37 +7513,42 @@
 "Систем датотека је већ од %llu блока (%dk). Ништа за урадити!\n"
 "\n"
 
-#: resize/main.c:600
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "Систем датотека је већ 64-битни.\n"
 
-#: resize/main.c:605
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "Систем датотека је већ 32-битни.\n"
 
-#: resize/main.c:613
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Не могу да скупим овај систем датотека јер има заставицу функције „stable_inodes“.\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Претварам систем датотека на 64-битни.\n"
 
-#: resize/main.c:615
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Претварам систем датотека на 32-битни.\n"
 
-#: resize/main.c:617
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "Мењам величину система датотека „%s“-а на %llu (%dk) блока.\n"
 
-#: resize/main.c:626
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "приликом покушаја промене величине „%s“"
 
-#: resize/main.c:629
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7366,7 +7557,7 @@
 "Покрените „e2fsck -fy %s“ да поправите систем датотека\n"
 "након прекинуте радње промене величине.\n"
 
-#: resize/main.c:635
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7375,7 +7566,7 @@
 "Систем датотека на „%s“ је сада величине %llu блока (%dk).\n"
 "\n"
 
-#: resize/main.c:650
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "приликом покушаја скраћивања „%s“"
@@ -7432,52 +7623,52 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "Обављам промену величине на мрежи за „%s“ на %llu (%dk) блока.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Када сам покушао да раширим последњу групу"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Када сам покушао да додам групу бр. %d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr "Систем датотека за „%s“ је прикачен на „%s“, а промена величине није подржана на том систему.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "број и-чворова (%llu) мора бити мањи од %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "резервисани блокови"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "блокови метаподатака"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "нови мета блокови"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "Ово није требало да се деси! Нема суперблока у последњој „super_sparse“ групи блока?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "Ово није требало да се деси! Неочекивани стари описник (old_desc) у „super_sparse“ групи блока?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Ово није требало да се деси: промена величине и-чвора је оштећена!\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.3"
-msgstr "„EXT2FS“ библиотека издања 1.45.3"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "„EXT2FS“ библиотека издањeа 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8191,6 +8382,22 @@
 msgid "Inode containing extended attribute value is corrupted"
 msgstr "И-чвор који садржи вредност проширеног атрибута је оштећен"
 
+#: lib/ext2fs/ext2_err.c:190
+msgid "Group descriptors not loaded"
+msgstr "Описници групе нису учитани"
+
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "Изгледа да је оштећена унутрашња структура „ext2_filsys“ података"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "Нађох цикличну петљу у стаблу проширења"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "Радња није подржана на спољном журналу"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Издање профила 0.0"
@@ -8315,47 +8522,37 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Лоша магична вредност у табели података датотеке профила"
 
-#: lib/support/plausible.c:118
+#: lib/support/plausible.c:119
 #, c-format
-msgid "\tlast mounted on %s on %s"
-msgstr "\tпоследњи пут је прикачен у %s у %s"
+msgid "\tlast mounted on %.*s on %s"
+msgstr "\tпоследњи пут је прикачен у %.*s у %s"
 
-#: lib/support/plausible.c:121
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tпоследњи пут је прикачен у %s"
 
-#: lib/support/plausible.c:124
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tнаправљен је у %s"
 
-#: lib/support/plausible.c:127
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tпоследњи пут је измењен у %s"
 
-#: lib/support/plausible.c:161
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Нашао сам партициону табелу „%s“ у „%s“\n"
 
-#: lib/support/plausible.c:191
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "Не постоји датотека „%s“ и никаква величина није наведена.\n"
-
-#: lib/support/plausible.c:199
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Стварам обичну датотеку „%s“\n"
-
-#: lib/support/plausible.c:202
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Не могу да отворим „%s“: %s\n"
 
-#: lib/support/plausible.c:205
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8363,26 +8560,56 @@
 "\n"
 "Уређај као да не постоји; да ли сте га исправно навели?\n"
 
-#: lib/support/plausible.c:227
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "„%s“ није специјални уређај блока.\n"
 
-#: lib/support/plausible.c:249
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "„%s“ садржи „%s“ систем датотека са натписом „%s“\n"
 
-#: lib/support/plausible.c:252
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "„%s“ садржи „%s“ систем датотека\n"
 
-#: lib/support/plausible.c:276
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "„%s“ садржи податке „%s“\n"
 
+#~ msgid ""
+#~ "\n"
+#~ "Warning: the bigalloc feature is still under development\n"
+#~ "See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Упозорење: функција „bigalloc“ је још увек у развоју\n"
+#~ "Видите „https://ext4.wiki.kernel.org/index.php/Bigalloc“ за више о томе\n"
+#~ "\n"
+
+#~ msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+#~ msgstr "Употреба: %s [-F] [-I међумеморија_блокова_и-чвора] уређај\n"
+
+#~ msgid "while trying to open '%s'"
+#~ msgstr "док сам покушавао да отворим „%s“"
+
+#~ msgid "%u inodes scanned.\n"
+#~ msgstr "скенираних и-чворова: %u.\n"
+
+#~ msgid ""
+#~ "The encrypt and casefold features are not compatible.\n"
+#~ "They can not be both enabled simultaneously.\n"
+#~ msgstr ""
+#~ "Функције кодирања и увијања слова нису сагласне.\n"
+#~ "Не могу бити укључене истовремено.\n"
+
+#~ msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
+#~ msgstr "Не могу да омогућим функцију шифровања на системима датотека са укљученом функцијом кодирања.\n"
+
 #~ msgid "i_dir_acl @F %Id, @s zero.\n"
 #~ msgstr "„i_dir_acl“ за и-чвор „%i“ (%Q) је „%Id“, треба бити нула.\n"
 
diff --git a/po/sv.po b/po/sv.po
index c812198..403c588 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,10 +1,10 @@
 # Swedish messages for e2fsprogs.
-# Copyright © 2003, 2005, 2006, 2008, 2009, 2010, 2011, 2012, 2014, 2016, 2017, 2018, 2019, 2021 Theodore Tso (msgids)
+# Copyright © 2003, 2005, 2006, 2008, 2009, 2010, 2011, 2012, 2014, 2016, 2017, 2018, 2019, 2021, 2022 Theodore Tso (msgids)
 # This file is distributed under the same license as the e2fsprogs package.
 #
-# Göran Uddeborg <goeran@uddeborg.se>, 2003, 2005, 2006, 2008, 2009, 2010, 2011, 2012, 2014, 2016, 2017, 2018, 2019, 2021.
+# Göran Uddeborg <goeran@uddeborg.se>, 2003, 2005, 2006, 2008, 2009, 2010, 2011, 2012, 2014, 2016, 2017, 2018, 2019, 2021, 2022.
 #
-# $Revision: 1.105 $
+# $Revision: 1.111 $
 #
 #. 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,
@@ -77,10 +77,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs 1.46.0\n"
+"Project-Id-Version: e2fsprogs 1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-01-28 13:42-0500\n"
-"PO-Revision-Date: 2021-02-04 21:03+0100\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-13 15:58+0200\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -90,7 +90,7 @@
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Dåligt block %u utanför giltigt intervall; ignoreras.\n"
@@ -103,30 +103,30 @@
 msgid "while reading the bad blocks inode"
 msgstr "vid läsning av inoden för dåliga block"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:692 misc/dumpe2fs.c:696 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2881 misc/tune2fs.c:2980 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "vid försök att öppna %s"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "vid försök att använda popen ”%s”"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "vid läsning i listan över dåliga block från fil"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "vid uppdatering av inoden för dåliga block"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Varning: otillåtet block %u hittat i inoden får dåliga block.  Tömt.\n"
@@ -205,64 +205,36 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "BLKFLSBUF-ioctl stöds inte!  Kan inte tömma buffertar.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Användning: %s [-F] [-I inodbuffertblock] enhet\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "vid öppning av %s för utskrivning"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:385
-#, c-format
-msgid "while trying to flush %s"
-msgstr "vid försök att skriva ut %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "vid försök att öppna ”%s”"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "vid öppning av inodsökning"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "när nästa inod hämtades"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "%u inoder genomsökta.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "läser journalsuperblock\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: inget giltigt journalsuperblock hittades\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: journalen för kort\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3787
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: felaktiga block för snabbfastställande\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: återhämtar journalen\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: återhämtar inte journalen i skrivskyddat läge\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "vid försök att återöppna %s"
@@ -447,56 +419,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<Reserverad inod 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "normal fil"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "katalog"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "teckenenhet"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "blockenhet"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "namngivet rör"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "symbolisk länk"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "uttag (socket)"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "okänd filtyp med typ 0%o"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "indirekt block"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "dubbelt indirekt block"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "trippelt indirekt block"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "översättningsblock"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "block nr."
 
@@ -516,117 +488,125 @@
 msgid "unknown quota type"
 msgstr "okänd kvottyp"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "karta över flerfaldigt i anspråkstagna inoder"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "internt fel: kan inte hitta dup_blk för %llu\n"
 
-#: e2fsck/pass1b.c:956
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "återvände från clone_file_block"
 
-#: e2fsck/pass1b.c:980
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "internt fel: det gick inte att slå upp EA-blockpost för %llu"
 
-#: e2fsck/pass1b.c:992
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "internt fel: det gick inte att slå upp EA-inodpost för %u"
 
-#: e2fsck/pass1.c:358
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "vid hashning av post med e_value_inum = %u"
 
-#: e2fsck/pass1.c:776 e2fsck/pass2.c:1018
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr "läser katalogblock"
 
-#: e2fsck/pass1.c:1175
+#: e2fsck/pass1.c:1169
 msgid "getting next inode from scan"
 msgstr "hämtar nästa inod från sökning"
 
-#: e2fsck/pass1.c:1227
+#: e2fsck/pass1.c:1221
 msgid "in-use inode map"
 msgstr "karta över använda inoder"
 
-#: e2fsck/pass1.c:1238
+#: e2fsck/pass1.c:1232
 msgid "directory inode map"
 msgstr "kataloginodskarta"
 
-#: e2fsck/pass1.c:1248
+#: e2fsck/pass1.c:1242
 msgid "regular file inode map"
 msgstr "inodskarta över reguljära filer"
 
-#: e2fsck/pass1.c:1257 misc/e2image.c:1282
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
 msgid "in-use block map"
 msgstr "karta över använda block"
 
-#: e2fsck/pass1.c:1266
+#: e2fsck/pass1.c:1260
 msgid "metadata block map"
 msgstr "blockkarta över metadata"
 
-#: e2fsck/pass1.c:1328
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "inod-skiftlägesavbildning"
+
+#: e2fsck/pass1.c:1336
 msgid "opening inode scan"
 msgstr "öppnar inodsökning"
 
-#: e2fsck/pass1.c:2083
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
 msgstr "Pass 1"
 
-#: e2fsck/pass1.c:2144
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "läser indirektblock för inod %u"
 
-#: e2fsck/pass1.c:2195
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
 msgstr "karta över dåliga inoder"
 
-#: e2fsck/pass1.c:2253
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
 msgstr "inod i karta över dåliga block"
 
-#: e2fsck/pass1.c:2273
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
 msgstr "imagic inodskarta"
 
-#: e2fsck/pass1.c:2304
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr "karta över flerfaldigt i anspråkstagna block"
 
-#: e2fsck/pass1.c:2429
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "karta över block för utökade attribut"
 
-#: e2fsck/pass1.c:3685
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): förväntade %6lu fick fys %6lu (blkant %lld)\n"
 
-#: e2fsck/pass1.c:4105
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "blockbitkarta"
 
-#: e2fsck/pass1.c:4111
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "inodbitkarta"
 
-#: e2fsck/pass1.c:4117
+#: e2fsck/pass1.c:4162
 msgid "inode table"
 msgstr "inodstabell"
 
-#: e2fsck/pass2.c:312
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr "Pass 2"
 
-#: e2fsck/pass2.c:1091 e2fsck/pass2.c:1266
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "NLS är trasigt."
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "Kan inte fortsätta."
 
@@ -642,7 +622,7 @@
 msgid "Pass 3"
 msgstr "Pass 3"
 
-#: e2fsck/pass3.c:350
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr "bitkarta för upptäckt av inodsslingor"
 
@@ -1541,7 +1521,7 @@
 #: e2fsck/problem.c:700
 #, no-c-format
 msgid "@A @b buffer for relocating %s\n"
-msgstr "Fil vid allokering av blockbuffert för relokering av %s\n"
+msgstr "Fel vid allokering av blockbuffert för relokering av %s\n"
 
 #. @-expanded: Relocating group %g's %s from %b to %c...\n
 #: e2fsck/problem.c:705
@@ -1565,7 +1545,7 @@
 msgstr "Varning: kunde inte skriva block %b av %s: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:726 e2fsck/problem.c:1898
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "Fel vid allokering av inodbitkarta (%N): %m\n"
 
@@ -1696,7 +1676,7 @@
 #. @-expanded: error allocating extended attribute region allocation structure.  
 #: e2fsck/problem.c:861
 msgid "@A @a region allocation structure.  "
-msgstr "Fel vid allokering utökade attributs regionallokeringsstruktur.  "
+msgstr "Fel vid allokering av utökade attributs regionallokeringsstruktur.  "
 
 #. @-expanded: extended attribute block %b is corrupt (allocation collision).  
 #: e2fsck/problem.c:866
@@ -2068,7 +2048,7 @@
 #. @-expanded: error allocating extent region allocation structure.  
 #: e2fsck/problem.c:1194
 msgid "@A @x region allocation structure.  "
-msgstr "Fel vid allokering utsträckningars regionallokeringsstruktur.  "
+msgstr "Fel vid allokering av utsträckningars regionallokeringsstruktur.  "
 
 #. @-expanded: inode %i has a duplicate extent mapping\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
@@ -2080,10 +2060,10 @@
 "Inod %i har dubblerad utsträckningmappning\n"
 "\t(logiskt block %c, ogiltigt fysiskt block %b, längd %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
 #: e2fsck/problem.c:1204
-msgid "@A memory for encrypted @d list\n"
-msgstr "fel vid allokering av minne för krypterad kataloglista\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "fel vid allokering av %N byte minne för krypterad inodslista\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
 #: e2fsck/problem.c:1209
@@ -2128,15 +2108,21 @@
 "EA-inod %N för föräldrainod %i saknar EA_INODE-flaggan.\n"
 " "
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "Inod %i har en utsträckning markerad oinitierad vid block %c (längd %N).  "
+
 #. @-expanded: inode %i has the casefold flag set but is not a directory.  
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1254
 #, c-format
 msgid "@i %i has the casefold flag set but is not a directory.  "
-msgstr "Inod %i har flaggan casefold_FL satt men är inte en katalog.  "
+msgstr "Inod %i har flaggan casefold satt men är inte en katalog.  "
 
 #. @-expanded: directory %p has the casefold flag, but the\n
 #. @-expanded: casefold feature is not enabled.  
-#: e2fsck/problem.c:1253
+#: e2fsck/problem.c:1259
 #, c-format
 msgid ""
 "@d %p has the casefold flag, but the\n"
@@ -2145,13 +2131,25 @@
 "Katalogen %p har flaggan casefold satt, men\n"
 "funktionen casefold är inte aktiverad.  "
 
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "Inod %i har en krypteringsflagga men inget utökat attribut för kryptering.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "Krypterad inod %i har trasigt utökat attribut för kryptering.\n"
+
 #. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
-#: e2fsck/problem.c:1258
+#: e2fsck/problem.c:1274
 msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
 msgstr "HTREE katalog-inod %i använder hashversion (%N), men skulle använda SipHash (6) \n"
 
 #. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
-#: e2fsck/problem.c:1263
+#: e2fsck/problem.c:1279
 #, c-format
 msgid "@h %i uses SipHash, but should not.  "
 msgstr "HTREE katalog-inod %i använder SipHash, men skulle inte.  "
@@ -2159,7 +2157,7 @@
 #. @-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
-#: e2fsck/problem.c:1270
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2170,46 +2168,46 @@
 "Pass 1B: Söker igen efter block som används flera gånger\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "Flerfaldigt ianspråkstagna block i inod %i:"
 
-#: e2fsck/problem.c:1293
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Fel vid genomsökning av inoder (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1299
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "Fel vid allokering av inodbitkarta (inode_dup_map): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1305
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Fel vid iterering över block i inod %i (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1310 e2fsck/problem.c:1685
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Fel vid justering av referensräknare för externa attribut-block %b (inod %i): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Pass 1C: Söker kataloger efter inoder med flerfaldigt ianspråkstagna block\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1326
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Pass 1D: Förlikar flerfaldigt ianspråkstagna block\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1331
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2218,18 +2216,18 @@
 "  har %r flerfaldigt ianspråkstagna block, delade med %N filer:\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1337
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (inod nr. %i, modifieringstid %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1342
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<filsystemsmetadata>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1347
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2239,7 +2237,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1352
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2247,347 +2245,352 @@
 "Flerfaldig ianspråkstagna block redan överlåtna eller klonade.\n"
 "\n"
 
-#: e2fsck/problem.c:1366
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Kunde inte klona fil: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1372
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Pass 1E: Optimerar utsträckningsträd\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1378
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Misslyckades att optimera utsträckningsträd %p (%i): %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1383
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Optimerar utsträckningsträd: "
 
-#: e2fsck/problem.c:1398
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Internt fel: max djup på utsträckningsträd är för stort (%b; förväntat=%c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1403
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "inod %i:s utsträckningsträd (på nivå %b) kunde vara kortare.  "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1408
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "inod %i:s utsträckningsträd (på nivå %b) kunde vara smalare.  "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1415
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Pass 2: Kontrollerar katalogstruktur\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1421
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "Ogiltigt inodsnummer för ”.” i kataloginod %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1426
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "Post ”%Dn” i %p (%i) har ogiltigt inodsnummer: %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1431
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "Post ”%Dn” i %p (%i) har raderad/oanvänd inod %Di.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1436
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "Post ”%Dn” i %p (%i) är en länk till ”.”  "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1441
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "Post ”%Dn” i %p (%i) pekar på inod (%Di) som finns i ett trasigt block.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "Post ”%Dn” i %p (%i) är en länk till katalog %P (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "Post ”%Dn” i %p (%i) är en länk till rotinoden.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "Post ”%Dn” i %p (%i) har ogiltiga tecken i namnet.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1462
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "”.” saknas i kataloginod %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1468
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "”..” saknas i kataloginod %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1473
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "Första post ”%Dn” (inod=%Di) i kataloginod %i (%p) skulle varit ”.”\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1478
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "Andra post ”%Dn” (inod=%Di) i kataloginod %i skulle varit ”..”\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1483
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "i_faddr för inod %i (%Q) är %IF, skulle varit noll.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1488
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "i_file_acl för inod %i (%Q) är %If, skulle varit noll.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1493
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "i_size_high för inod %i (%Q) är %Id, skulle varit noll.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1498
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "i_frag för inod %i (%Q) är %N, skulle varit noll.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1503
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "i_fsize för inod %i (%Q) är %N, skulle varit noll.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1508
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "Inod %i (%Q) har ogiltiga rättigheter (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "Kataloginod %i, %B, position %N: katalogen trasig\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "Kataloginod %i, %B, position %N: för långt filnamn\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "Kataloginod %i har ett oallokerat %B.  "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1529
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "Katalogposten ”.” i kataloginod %i är inte nollterminerad\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1535
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "Katalogposten ”..” i kataloginod %i är inte nollterminerad\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1540
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "Inod %i (%Q) är en ogiltig teckenenhet.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1545
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "Inod %i (TQ är en ogiltig blockenhet.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "Post ”%Dn” i %p (%i) är duplicerad ”.”-post.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1555
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "Post ”%Dn” i %p (%i) är duplicerad ”..”-post.\n"
 
-#: e2fsck/problem.c:1561 e2fsck/problem.c:1925
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Internt fel: kunde inte hitta dir_info för %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "Post ”%Dn” i %p (%i) har rec_len %Dr, skulle varit %N.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "Fel vid allokering av icount-struktur: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Fel vid iterering över katalogblock: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1583
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Fel vid läsning av katalogblock %b (inod %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1588
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Fel vid skrivning av katalogblock %b (inod %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "Fel vid allokering av nytt katalogblock för inod %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1600
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Fel vid deallokering av inod %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1606
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "Katalogpost för ”.” i %p (%i) är stor.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1611
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "Inod %i (%Q) är en ogiltig FIFO.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1616
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "Inod %i (%Q) är ett ogiltigt uttag (socket).\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1621
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Sätter filtyp för post ”%Dn” i %p (%i) till %N.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1626
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "Post ”%Dn” i %p (%i) har felaktig filtyp (var %Dt, skulle varit %N).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1631
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "Post ”%Dn” i %p (%i) har filtyp satt.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1636
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "Post ”%Dn” i %p (%i) har nollängdsnamn.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1641
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Symlänk %Q (inod nr. %i) är ogiltig.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1646
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "Utökat attribut-block för inod %i (%Q) är ogiltigt (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1651
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr "Filsystem innehåller stora filer, men saknar flaggan LARGE_FILE i superblock.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1656
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "Problem i HTREE-kataloginod %d: %B inte refererad\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1661
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "Problem i HTREE-kataloginod %d: %B refererat två gånger\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1666
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "Problem i HTREE-kataloginod %d: %B har felaktig min-hash\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1671
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "Problem i HTREE-kataloginod %d: %B har felaktig max-hash\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1676
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "Ogiltig HTREE-kataloginod %d (%q).  "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "Filsystem har stora kataloger, men saknar flaggan LARGE_DIR i superblocket.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1680
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "Problem i HTREE-kataloginod %d (%q): felaktigt blocknummer %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1691
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "Problem i HTREE-kataloginod %d: ogiltig rotnod.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1696
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "Problem i HTREE-kataloginod %d: %B har ogiltig gräns (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1701
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr ""
 "Problem i HTREE-kataloginod %d: %B har ogiltigt antal (%N)\n"
 "\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1706
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "Problem i HTREE-kataloginod %d: %B har en oordnad hash-tabell\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1711
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "Problem i HTREE-kataloginod %d: %B har ogiltigt djup (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1716
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Duplicerad post ”%Dn” i %p (%i) hittad.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1721
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2599,7 +2602,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1726
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2610,160 +2613,175 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1731
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi för inod %i (%Q) är %N, skulle varit noll.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1736
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "Oväntat block i HTREE-katalog %d (%q).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "Post ”%Dn” i %p (%i) refererar inod %Di i grupp %g där _INODE_UNINIT är satt.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "Post ”%Dn” i %p (%i) refererar inod %Di funnen i oanvänt inodsområde i grupp %g.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "i_file_acl_hi för inod %i (%Q) är %N, skulle varit noll.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1757
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "Problem i HTREE-kataloginod %d: rotnoden stämmer inte med kontrollsumman.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1763
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "Problem i HTREE-kataloginod %d: intern nod har inte rätt kontrollsumma.\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1768
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "Kataloginod %i, %B, position %N: katalogen har ingen kontrollsumma.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1773
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "kataloginod %i, %B: katalogen passerar kontrollerna men kontrollsumman stämmer inte.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1778
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "Inline-kataloginod %i:s storlek (%N) måste vara en multipel av 4.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Att rätta storleken på inline-kataloginod %i misslyckades.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1789
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "Krypterad post ”%Dn” i %p (%i) är för kort.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "Krypterad post ”%Dn” i %p (%i) refererar okrypterad inod %Di.\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "Krypterad post ”%Dn” i %p (%i) refererar inod %Di, vilken har en annan krypteringspolicy.\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "Post ”%Dn” i %p (%i) har ogiltiga UTF-8-tecken i namnet.\n"
+
 #. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1794
+#: e2fsck/problem.c:1831
 msgid "Duplicate filename @E found.  "
 msgstr "Duplicerad filnamnspost ”%Dn” i %p (%i) hittad.  "
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1801
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Pass 3: Kontrollerar katalogförbindelser\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "Rotinod inte allokerad.  "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1811
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Ingen plats i lost+found-katalog.  "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1817
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "Oförbunden kataloginod %i (%p)\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "Oförbunden kataloginod %i (fanns i %q)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1822
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "/lost+found inte funnen.  "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1827
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "”..” i %Q (%i) är %P (%j), skulle varit %q (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1833
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "Felaktig eller ej existerande /lost+found.  Kan inte återansluta.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1839
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Kunde inte expandera /lost+found: %m\n"
 
-#: e2fsck/problem.c:1845
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Kunde inte återförbinda %i: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1851
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Fel vid försök att hitta /lost+found: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1857
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_block: %m ved försök att skapa /lost+found-katalog\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1863
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_inode: %m vid försök att skapa /lost+found-katalog\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1869
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_block: %m när nytt katalogblock skapades\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1875
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_block: %m vid skrivning av katalogblocket för /lost+found\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1881
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Fel vid justering av inodräknare på inod %i\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1887
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2774,7 +2792,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2784,41 +2802,41 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Fel vid skapande av rotkatalog (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1910
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Fel vid skapande av /lost+found-katalog (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1915
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "Rotinod är inte en katalog; avbryter.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1920
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Kan inte fortsätta utan en rotinod.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/lost+found är inte en katalog (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1936
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/lost+found har inline-data\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1941
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2829,7 +2847,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1946
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2840,52 +2858,58 @@
 "\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1951
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/lost+found är krypterad\n"
 
-#: e2fsck/problem.c:1958
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "Rekursiv slinga i kataloginod %i (%p)\n"
+
+#: e2fsck/problem.c:2002
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Pass 3A: Optimerar kataloger\n"
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Misslyckades att skapa dirs_to_hash-iterator: %m\n"
 
-#: e2fsck/problem.c:1969
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Misslyckades att optimera katalog %q (%d): %m\n"
 
-#: e2fsck/problem.c:1974
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Optimerar kataloger: "
 
-#: e2fsck/problem.c:1991
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Pass 4: Kontrollerar referensräknare\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "Lös nollängdsinod %i.  "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:2003
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "lös inod %i\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:2008
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "Inod %i referensräknare är %Il, skulle varit %N.  "
 
 #. @-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
-#: e2fsck/problem.c:2012
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2896,153 +2920,153 @@
 "inod_link_info[%i] är %N, inod.i_links_count är %Il.  De skulle vara samma!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "Inod %i för utökade attribut har referensräknare som är %N, skulle varit %n. "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:2024
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "Katalogen överskrider maximala antalet länkar, men DIR_NLINK-funktionen finns inte i superblocket.\n"
 
 #. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
-#: e2fsck/problem.c:2029
+#: e2fsck/problem.c:2073
 msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
 msgstr "referensräknaren för kataloginod %i satt att spilla över men kan vara exakt värdet %N.  "
 
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2036
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Pass 5: Kontrollerar gruppsammanfattningsinformation\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr "Utfyllnad vid slutet av inodsbitkarta är inte satt. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2046
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
 msgstr "Utfyllnad vid slutet av blockbitkarta är inte satt. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2051
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "Blockbitkarteskillnader: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "Inodsbitkarteskillnader: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2095
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Antal fria inoder är fel för grupp nr. %g (%i, räknade=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Katalogantal fel för grupp nr. %g (%i, räknade=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2105
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Antal fria inoder är fel (%i, räknade=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2110
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Antal fria block är fel för grupp nr. %g (%b, räknade=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2115
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Antal fria block är fel (%b, räknade=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2120
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr ""
 "PROGRAMMERINGSFEL: filsystem (nr. %N) bitkartas ändpunkter (%b, %c) stämmer\n"
 "inte med beräknade bitkarteändpunkter (%i, %j)\n"
 
-#: e2fsck/problem.c:2126
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Internt fel: fuskar till slut på bitkarta (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2132
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Fel vid kopiering av ersättningsinodskarta: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2138
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Fel vid inkopiering av ersättningsbitkarta: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2168
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "block i grupp %g används men gruppen är markerad BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2174
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "inoder i grupp %g används men gruppen är markerad INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2180
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "grupp %g:s inodsbitkarta stämmer inte med kontrollsumman.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2186
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "grupp %g:s blockbitkarta stämmer inte med kontrollsumman.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2193
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "Återskapa journal"
 
-#: e2fsck/problem.c:2198
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "Uppdatera kvotinformation för kvottyp %N"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2204
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Fel när kontrollsummeinformation för blockgrupp sattes: %m\n"
 
-#: e2fsck/problem.c:2210
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Fel vid skrivning av filsystemsinformation: %m\n"
 
-#: e2fsck/problem.c:2216
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Fel när skrivningar tömdes till lagringsenheten: %m\n"
 
-#: e2fsck/problem.c:2221
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Fel när kvotinformation skrevs för kvottyp %N: %m\n"
 
-#: e2fsck/problem.c:2384
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Ej hanterad felkod (0x%x)!\n"
 
-#: e2fsck/problem.c:2514 e2fsck/problem.c:2518
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "IGNORERAT"
 
@@ -3060,6 +3084,10 @@
 msgid "size of inode=%d\n"
 msgstr "storlek på inod=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "vid öppning av inodsökning"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "vid start av inodsgenomsökning"
@@ -3078,15 +3106,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "vid anrop av ext2fs_adjust_ea_refcount2 för inod %u"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "Kapar"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Tömmer"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3097,7 +3125,7 @@
 "\t\t[-l|-L dåliga_block_fil] [-C fd] [-j extern_journal]\n"
 "\t\t[-E utökade-flaggor] [-z gör_ogjort_fil] enhet\n"
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3115,7 +3143,7 @@
 " -c                   Leta efter dåliga block och lägg till dem i listan\n"
 " -f                   Framtvinga kontroll även om filsystemet är markerat rent\n"
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3133,12 +3161,12 @@
 " -L dåliga_block_fil  Ange lista över dåliga block\n"
 " -z gör_ogjort_fil    Skapa en gör-ogjort-fil\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %u/%u filer (%0d.%d%% ej sammanhängande), %llu/%llu block\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3153,51 +3181,51 @@
 "\n"
 "%12u inoder använda (%2.2f %%, av %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
 msgstr[0] "%12u ej konsekutiv fil (%0d.%d %%)\n"
 msgstr[1] "%12u ej konsekutiva filer (%0d.%d %%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
 msgstr[0] "%12u ej konsekutiv katalog (%0d.%d %%)\n"
 msgstr[1] "%12u ej konsekutiva kataloger (%0d.%d %%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             antal inoder med ind/dind/tind-block: %u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr "             Histogram över utsträckningars djup: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] "%12llu använt block (%2.2f %%, av %llu)\n"
 msgstr[1] "%12llu använda block (%2.2f %%, av %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] "%12u dåligt block\n"
 msgstr[1] "%12u dåliga block\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] "%12u stor fil\n"
 msgstr[1] "%12u stora filer\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3212,96 +3240,96 @@
 "\n"
 "%12u normala filer\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
 msgstr[0] "%12u katalog\n"
 msgstr[1] "%12u kataloger\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
 msgstr[0] "%12u teckenenhetsfil\n"
 msgstr[1] "%12u teckenenhetsfiler\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
 msgstr[0] "%12u blockenhetsfil\n"
 msgstr[1] "%12u blockenhetsfiler\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] "%12u fifo\n"
 msgstr[1] "%12u fifon\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] "%12u länk\n"
 msgstr[1] "%12u länkar\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] "%12u symbolisk länk"
 msgstr[1] "%12u symboliska länkar"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
 msgstr[0] " (%u snabb symbolisk länk)\n"
 msgstr[1] " (%u snabba symboliska länkar)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
 msgstr[0] "%12u uttag (socket)\n"
 msgstr[1] "%12u uttag (sockets)\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] "%12u fil\n"
 msgstr[1] "%12u filer\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3072 misc/util.c:129
-#: resize/main.c:356
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "när det avgjordes om %s är monterat."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Varning!  %s är monterat.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Varning!  %s används.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s är monterat.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s används.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3309,7 +3337,7 @@
 "Kan inte fortsätta, avbryter.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3323,85 +3351,85 @@
 "du att orsaka ***ALLVARLIG*** skada på filsystemet.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "Vill du verkligen fortsätta"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "kontroll avbruten.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " innehåller ett filsystem med fel"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " var inte fläckfritt avmonterat"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr " det primära superblockets egenskaper skiljer från reservens"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " har monterats %u gånger utan att kontrolleras"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " har tidpunkten för senaste filsystemskontroll i framtiden"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " har inte kontrollerats på %u dagar"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr "ignorerar kontrollintervallet, broken_system_clock är satt\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", kontroll framtvingad.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: rent, %u/%u filer, %llu/%llu block"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr " (kontroll senarelagd; på batteri)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (kontrollera efter nästa montering)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (kontrollera om %ld monteringar)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "FEL: Kunde inte öppna /dev/null (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Ogiltig EA-version.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "Ogiltig buffertstorlek för förhandsläsning.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Okänd utökad flagga: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3413,15 +3441,15 @@
 "med ett likhetstecken (”=”).  Giltiga utökade flaggor är:\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "\tea_ver=<ea_version (1 eller 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "\treadahead_kb=<buffertstorlek>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3430,55 +3458,65 @@
 "Syntaxfel i e2fsck:s konfigurationsfil (%s, rad nr %d)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Fel vid validering av filidentifierare %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr "Ogiltig filidentifierare för förloppsinformation"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Endast en av flaggorna -p/-a, -n eller -y kan anges."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "Flaggan -t stödjs inte i denna version av e2fsck.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1721 misc/tune2fs.c:2016 misc/tune2fs.c:2034
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Kan inte hitta ”%s”"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr "Flaggorna -n och -D är inkompatibla."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr "Flaggorna -n och -c är inkompatibla."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr "Flaggorna -n och -l/-L är inkompatibla."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Flaggorna -D och -E fixes_only är inkompatibla."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Flaggorna -E bmap2extent och fixes_only är inkompatibla."
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "vid öppning av %s för utskrivning"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "vid försök att skriva ut %s"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "Flaggorna -c och -l/-L kan inte båda användas på samma gång.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3487,7 +3525,7 @@
 "E2FSCK_JBD_DEBUG ”%s” är inte ett heltal\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3498,16 +3536,16 @@
 "Ogiltigt ickenumeriskt argument till -%c (”%s”)\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "MMP-intervall är %u sekunder och den totala väntetiden är %u sekunder.  Var god dröj ...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "vid uppsättning av MMP-block"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3516,13 +3554,13 @@
 "Om du är säker på att filsystemet inte används på någon nod, kör:\n"
 "”tune2fs -f -E clear_mmp %s”\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "vid läsning av MMP-block"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2708 misc/mke2fs.c:2759 misc/tune2fs.c:2798
-#: misc/tune2fs.c:2843 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3533,57 +3571,57 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2748 misc/tune2fs.c:2832
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "vid försök att ta bort %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2774 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "vid försök att skapa en gör-ogjort-fil\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Fel: ext2fs-biblioteksversion inaktuell!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "vid försök att initiera program"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\tAnvänder %s, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "behöver terminal för interaktiva reparationer"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s försöker med reservblock ...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "Superblocket är ogiltigt,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Gruppbeskrivarna ser trasiga ut ..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: %s när reservblocken användes"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: går tillbaka till originalsuperblock\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3593,28 +3631,28 @@
 "(Eller så är filsystemets superblock trasigt)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "Kan detta vara en nollängdspartition?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Du måste ha %s-åtkomst till filsystemet eller vara root\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Kanske inte existerar eller växlingsenhet?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "Filsystemet monterat eller öppnat exklusivt av ett annat program?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "Kanske en enhet som inte existerar?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3622,77 +3660,77 @@
 "Skrivskyddad disk; använd flaggan -n för att göra en läsningskontroll\n"
 "av enheten.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: Försöker läsa in superblocket trots fel …\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr "Hämta en nyare version av e2fsck!"
 
-#: e2fsck/unix.c:1748
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "vid kontroll av journal för %s"
 
-#: e2fsck/unix.c:1751
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr "Kan inte fortsätta med filsystemskontrollen"
 
-#: e2fsck/unix.c:1762
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr "Varning: hoppar över journalåterhämtning eftersom en läsningskontroll av filsystem görs.\n"
 
-#: e2fsck/unix.c:1774
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "kan inte sätta superblocksflaggor på %s\n"
 
-#: e2fsck/unix.c:1780
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Fel i journalkontrollsumman funnet i %s\n"
 
-#: e2fsck/unix.c:1784
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "Journalen trasig i %s\n"
 
-#: e2fsck/unix.c:1788
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "vid återhämtning av journalen för %s"
 
-#: e2fsck/unix.c:1810
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s har funktioner som inte stöds:"
 
-#: e2fsck/unix.c:1825
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s har kodning som inte stöds: %0x\n"
 
-#: e2fsck/unix.c:1875
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: %s vid läsning av inod för dåliga block\n"
 
-#: e2fsck/unix.c:1878
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Detta bådar inte gott, men vi skall försöka att fortsätta ...\n"
 
-#: e2fsck/unix.c:1918
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Skapar journal (%d block): "
 
-#: e2fsck/unix.c:1928
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr " Klar.\n"
 
-#: e2fsck/unix.c:1930
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3700,24 +3738,24 @@
 "\n"
 "*** journalen har genererats om ***\n"
 
-#: e2fsck/unix.c:1936
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "avbruten"
 
-#: e2fsck/unix.c:1938
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: e2fsck inställd.\n"
 
-#: e2fsck/unix.c:1965
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "Startar om e2fsck från början ...\n"
 
-#: e2fsck/unix.c:1969
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "vid återställning av omgivning"
 
-#: e2fsck/unix.c:2028
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
@@ -3726,12 +3764,12 @@
 "\n"
 "%s: ***** FEL I FILSYSTEMET RÄTTADE *****\n"
 
-#: e2fsck/unix.c:2030
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: Filsystemet modifierades.\n"
 
-#: e2fsck/unix.c:2034 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3740,12 +3778,12 @@
 "\n"
 "%s: ***** FILSYSTEMET MODIFIERADES *****\n"
 
-#: e2fsck/unix.c:2039
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** STARTA OM SYSTEMET *****\n"
 
-#: e2fsck/unix.c:2049 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3756,51 +3794,51 @@
 "%s: ********** VARNING: Filsystemet har fortfarande fel **********\n"
 "\n"
 
-#: e2fsck/util.c:195 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "yYjJ"
 
-#: e2fsck/util.c:196 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:197
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "aA"
 
-#: e2fsck/util.c:201
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " (”a”  aktiverar ”ja” för alla) "
 
-#: e2fsck/util.c:218
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<j>"
 
-#: e2fsck/util.c:220
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:222
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (j/n)"
 
-#: e2fsck/util.c:245
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "inställd!\n"
 
-#: e2fsck/util.c:278
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "ja för alla\n"
 
-#: e2fsck/util.c:280
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "ja\n"
 
-#: e2fsck/util.c:282
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "nej\n"
 
-#: e2fsck/util.c:292
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3809,7 +3847,7 @@
 "%s? nej\n"
 "\n"
 
-#: e2fsck/util.c:296
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3818,38 +3856,38 @@
 "%s? ja\n"
 "\n"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "ja"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "nej"
 
-#: e2fsck/util.c:316
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps: ogiltiga bitkarteblock för %s"
 
-#: e2fsck/util.c:321
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "läser inod- och blockbitkartor"
 
-#: e2fsck/util.c:333
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "vid upprepat försök att läsa bitkarta för %s"
 
-#: e2fsck/util.c:345
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "skriver block- och inodsbitkartor"
 
-#: e2fsck/util.c:350
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "vid omskrivning av block- och inodsbitkartor för %s"
 
-#: e2fsck/util.c:362
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3862,37 +3900,37 @@
 "%s: OVÄNTAD INKONSEKVENS; KÖR fsck MANUELLT.\n"
 "\t(d.v.s., utan flaggorna -a eller -p)\n"
 
-#: e2fsck/util.c:442
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
 msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Använt minne: %llu k/%llu k (%llu k/%llu k), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
 msgid "Memory used: %lluk, "
 msgstr "Använt minne: %llu k, "
 
-#: e2fsck/util.c:454
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "tid: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:459
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "förfluten tid: %6.3f\n"
 
-#: e2fsck/util.c:494 e2fsck/util.c:508
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "när inod %lu i %s lästes"
 
-#: e2fsck/util.c:522 e2fsck/util.c:535
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "när inod %lu i %s skrevs"
 
-#: e2fsck/util.c:793
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "OVÄNTAD INKONSISTENS: filsystemet modifieras medan fsck körs.\n"
 
@@ -4009,52 +4047,62 @@
 msgid "during test data write, block %lu"
 msgstr "vid testdataskrivning, block %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s är monterat, "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "badblocks framtvingat ändå.  Hoppas /etc/mtab är felaktig.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "det är inte säkert att köra badblocks!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s används uppenbarligen av systemet; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "badblocks framtvingat ändå.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "ogiltig %s - %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "För stort maximalt antal dåliga block %u — maximum är %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "kunde inte allokera minne för testmönster - %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "Högst ett testmönster får anges i skrivskyddat läge"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "Slumpvis testmönster är inte tillåtet i skrivskyddat läge"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Felaktig blockstorlek: %d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Felaktigt blocks_at_once: %d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4062,56 +4110,56 @@
 "Kunde inte avgöra enhetsstorlek; du måste ange\n"
 "storleken manuellt\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "vid försök att avgöra enhetsstorlek"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "sista block"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "första block"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "felaktigt startblock (%llu): måste vara mindre än %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "felaktigt startblock (%llu): måste vara ett 32-bitars värde"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "när lista över dåliga block i minnet skapades"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "indatafil — felaktigt format"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "när tillägg gjordes till lista i minnet över dåliga block gjordes"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Pass avslutat, %u dåliga block hittade. (%d/%d/%d fel)\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
-msgstr "Användning: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] filer…\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "Användning: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p projekt] [-v version] filer…\n"
 
-#: misc/chattr.c:161
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "felaktigt projekt - %s\n"
 
-#: misc/chattr.c:175
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "felaktig version - %s\n"
@@ -4173,8 +4221,8 @@
 msgid "while reading inode %u"
 msgstr "när inod %u lästes"
 
-#: misc/create_inode.c:90 misc/create_inode.c:290 misc/create_inode.c:355
-#: misc/create_inode.c:393
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "vid utvidgning av katalogen"
 
@@ -4183,12 +4231,12 @@
 msgid "while linking \"%s\""
 msgstr "när ”%s” länkades"
 
-#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:324
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "när inod %u skrevs"
 
-#: misc/create_inode.c:154 misc/create_inode.c:178
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "när attributen på ”%s” listades"
@@ -4198,129 +4246,134 @@
 msgid "while opening inode %u"
 msgstr "när inod %u öppnades"
 
-#: misc/create_inode.c:171 misc/create_inode.c:198 misc/create_inode.c:1045
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "när xattr för inod %u lästes"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "vid allokering av minne"
 
-#: misc/create_inode.c:191 misc/create_inode.c:207
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "när attributet ”%s” på ”%s” lästes"
 
-#: misc/create_inode.c:216
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "när attributet ”%s” skrevs till inod %u"
 
-#: misc/create_inode.c:226
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "när inod %u stängdes"
 
-#: misc/create_inode.c:277
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "när inod ”%s” allokerades"
 
-#: misc/create_inode.c:296
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "när inod ”%s” skapades"
 
-#: misc/create_inode.c:362
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "när symlänk ”%s” skapades"
 
-#: misc/create_inode.c:380 misc/create_inode.c:965
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "när ”%s” slogs upp"
 
-#: misc/create_inode.c:400
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "när katalogen ”%s” skapades"
 
-#: misc/create_inode.c:629
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "när ”%s” öppnades för att kopieras"
 
-#: misc/create_inode.c:807
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "när arbetskatalog byttes till ”%s”"
 
-#: misc/create_inode.c:817
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "när katalogen ”%s” skannades"
 
-#: misc/create_inode.c:827
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "vid lstat ”%s”"
 
-#: misc/create_inode.c:877
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "när specialfilen ”%s” skapades"
 
-#: misc/create_inode.c:886
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "malloc misslyckades"
 
-#: misc/create_inode.c:894
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "vid försök att läsa länken ”%s”"
 
-#: misc/create_inode.c:901
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "symlänk ökade i storlek mellan lstat() och readlink()"
 
-#: misc/create_inode.c:912
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "när symlänken ”%s” skrevs"
 
-#: misc/create_inode.c:923
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "när filen ”%s” skrevs"
 
-#: misc/create_inode.c:936
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "när katalogen ”%s” skapades"
 
-#: misc/create_inode.c:954
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "vid byte av katalog"
 
-#: misc/create_inode.c:960
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "ignorerar posten ”%s”"
 
-#: misc/create_inode.c:973
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "när inoden för ”%s” sattes"
 
-#: misc/create_inode.c:980
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "när xattrs för ”%s” sattes"
 
-#: misc/create_inode.c:1006
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "när inodsdata sparades"
 
-#: misc/create_inode.c:1056
+#: misc/create_inode.c:1077
 msgid "while copying xattrs on root directory"
 msgstr "vid kopiering av xattr på rotkatalogen"
 
@@ -4440,59 +4493,59 @@
 msgid "while printing bad block list"
 msgstr "vid utskrift av lista över dåliga block"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Dåliga block: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:375
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "vid läsning av journalinod"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr "när journalinoden öppnades"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "när journalsuperblocket lästes"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Journalsuperblockets magiska tal felaktigt!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:218
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "vid läsning av journalsuperblock"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Kunde inte hitta journalsuperblockets magiska tal"
 
-#: misc/dumpe2fs.c:470
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr "misslyckades att allokera en MMP-buffert\n"
 
-#: misc/dumpe2fs.c:481
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "läser MMP-block %llu från ”%s”\n"
 
-#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2056
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Kunde inte allokera minne för att tolka flaggor!\n"
 
-#: misc/dumpe2fs.c:537
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Ogiltig superblockparameter: %s\n"
 
-#: misc/dumpe2fs.c:552
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Ogiltig blockstorleksparameter: %s\n"
 
-#: misc/dumpe2fs.c:563
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4515,27 +4568,27 @@
 "\tsuperblock=<superblocknummer>\n"
 "\tblocksize=<blockstorlek>\n"
 
-#: misc/dumpe2fs.c:653 misc/mke2fs.c:1892
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tAnvänder %s\n"
 
-#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2998
-#: resize/main.c:418
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Kunde inte hitta giltigt filsystemssuperblock.\n"
 
-#: misc/dumpe2fs.c:720
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: funktionen MMP är inte aktiverad.\n"
 
-#: misc/dumpe2fs.c:751
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "vid försök att läsa ”%s”-bitkartor\n"
 
-#: misc/dumpe2fs.c:760
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4543,193 +4596,197 @@
 "*** Kör e2fsck nu!\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
 msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
 msgstr "Användning: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blockstorlek ] enhet avbildsfil\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "            %s -I enhet avbildsfil\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
 msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr "       %s -ra  [ -cfnp ] [ -o källavstånd ] [ -O målavstånd ] käll-fs [ mål-fs ]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "vid allokering av buffert"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "När block %llu skrevs\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr "fel när block %llu skrevs"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "fel i generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Fel: huvudstorlek är större än wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr "Kunde inte allokera huvudbuffert\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "vid skrivning av superblock"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "vid skrivning av inodtabell"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "vid skrivning av blockbitkarta"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "vid skrivning av inodbitkarta"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Trasigt katalogblock %llu: felaktig rec_len (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Trasigt katalogblock %llu: felaktig name_len (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu / %llu block (%d %%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "Kopierar "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr "Att sluta nu kommer förstöra filsystemet, avbryt igen om du är säker\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " %s återstår med %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr "fel när block %llu lästes"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Kopierade %llu / %llu block (%d %%) på %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "med %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr "när l1-tabell allokerades"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr "när l2-cache allokerades"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 "Varning: det finns fortfarande tabeller i cachen medan cachen skrivs, data kommer gå förlorade så avbilden kommer kanske inte vara korrekt.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr "när ext2_qcow2_image allokerades"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr "när ext2_qcow2_image initierades"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Programmeringsfel: multipla sekventiella referensräknarblock skapade!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr "när blockbitkarta allokerades"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr "när förvrängd blockbitkarta allokerades"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr "Söker igenom inoder …\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr "Kan inte allokera en blockbuffert"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "när nästa inod hämtades"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "vid iteration över inod %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "Raw- och qcow2-avbilder kan inte installeras"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "fel när bitkartor lästes"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "när enhetsfil öppnades"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr "när avbildstabellen återställdes"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "flaggan -a kan endast användas med raw- eller QCOW2-avbilder."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "flaggan -b kan endast användas med raw- eller QCOW2-avbilder."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr "Avstånd är endast tillåtna med raw-avbilder."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr "Flyttningsläge är endast tillåtet med raw-avbilder."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr "Flyttningsläge behöver läget all data."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "kontrollerar om monterad"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4741,56 +4798,56 @@
 "kan resultera i en inkonsistent avbild som inte kommer vara användbar för\n"
 "felsökningsändamål.  Använd flaggan -f om du verkligen vill göra det.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "En QCOW2-avbild kan inte skrivas till standard ut!\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr "Kan inte ta status på utdata\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "Avbilden (%s) är komprimerad\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "Avbilden (%s) är krypterad\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "Avbilden (%s) är trasig\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "vid försök att konvertera en qcow2-bild (%s) till en rå bild (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr "Flaggan -c stödjs endast i raw-läge\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "Flaggan -c stödjs inte vid skrivning till standard ut\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr "när check_buf allokerades"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr "Flaggan -p stödjs endast i raw-läge\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d block innehöll redan de data som skulle kopieras\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Användning: %s -r enhet\n"
@@ -4815,7 +4872,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: inte ett ext2-filsystem\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3203
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Varning: etikett för lång, avkortar.\n"
@@ -4830,7 +4887,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: fel vid skrivning av superblock\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1713
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Användning: e2label enhet [ny-etikett]\n"
@@ -4840,151 +4897,151 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Användning: %s [-f] [-h] [-n] [-o avstånd] [-v] [-z gör-ogjort-fil] <transaktionsfil> <filsystem>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "Filsystemets superblock stämmer inte med gör-ogjort-filen.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "UUID stämmer inte.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "Senaste monteringstid stämmer inte.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "Sista skrivningstiden stämmer inte.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Livstidsskrivningsräknaren stämmer inte.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "när filsystemets superblock lästes."
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "när superblocket skrevs"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "Gör-ogjort-superblockets kontrollsumma stämmer inte.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "felaktigt avstånd - %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "Kommer inte skriva till en gör-ogjort-fil under återuppspelning av den.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "när gör-ogjort-filen ”%s” öppnades\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "när gör-ogjort-filen lästes"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: Inte en gör-ogjort-fil.\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: Huvudets kontrollsumma stämmer inte.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: Trasig huvud i gör-ogjort-filen.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: Gör-ogjort-blockstorleken är för stor.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: Gör-ogjort-blockstorleken är för liten.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: Okänd funktionsuppsättning i gör-ogjort-fil.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Fel när det avgjordes om %s är monterat."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo skall endast köras på omonterade filsystem"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "när ”%s” öppnades"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "angivet avstånd är för stort"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "när nycklar lästes"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: fel nyckelmagi vid %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: kontrollsumman för nyckelblock är fel vid %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: block %llu är för långt."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "när block %llu hämtades."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "kontrollsumman i filsystemblock %llu (gör-ogjort-block %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "fel när block %llu skrevs."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Gör-ogjort-filen trasig; kör e2fsck NU!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "IO-fel vid återuppspelning; kör e2fsck NU!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Ofullständig gör-ogjort-post; kör e2fsck.\n"
@@ -5042,17 +5099,17 @@
 "\n"
 "%11Lu: avslutade med felnummer %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "VARNING: kunde inte öppna %s: %s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr "VARNING: fel format på rad %d av %s\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5064,37 +5121,37 @@
 "\tbör rätta din /etc/fstab-fil så snart du kan.\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck: %s: inte funnen\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr "%s: wait: Inga fler barnprocesser?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr "Varning... %s för enhet %s avslutade med signal %d.\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr "%s %s: status är %x, skulle aldrig inträffa.\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Avslutade med %s (slutstatus %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr "%s: Fel %d när fsck.%s kördes för %s\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
@@ -5102,88 +5159,93 @@
 "Antingen alla eller inga av filsystemstyperna som ges till -t måste ha\n"
 "prefix ”no” eller ”!”.\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr "Kunde inte allokera minne för filsystemtyper\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr "%s: hoppar över felaktig rad i /etc/fstab: bind-montering med fsck-passnummer som inte är noll\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr "fsck: kan inte kontrollera %s: fsck.%s finns inte\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "Kontrollerar alla filsystem.\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "--väntar-- (pass %d)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr "Användning: fsck [-AMNPRTV] [ -C [ fh ] ] [-t fstyp] [fs-flaggor] [filsys ...]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s: för många enheter\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: för många argument\n"
 
-#: misc/fuse2fs.c:3740
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Monterar endast läsbart.\n"
 
-#: misc/fuse2fs.c:3764
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: Låter användare allokera alla block.  Detta är farligt!\n"
 
-#: misc/fuse2fs.c:3776 misc/fuse2fs.c:3790
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3098
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Kör e2fsck -fy %s.\n"
 
-#: misc/fuse2fs.c:3799
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: monterar endast för läsning utan att återhämta journalen\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Journalen behöver återhämtas; ”e2fsck -E journal_only” behöver köras.\n"
 
-#: misc/fuse2fs.c:3807
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: Att skriva till journalfilen stödjs inte.\n"
 
-#: misc/fuse2fs.c:3822
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Varning: monterar okontrollerat fs, att köra e2fsck rekommenderas.\n"
 
-#: misc/fuse2fs.c:3826
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Varning: maximalt antal monteringar uppnått, att köra e2fsck rekommenderas.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Varning: kontrolltiden uppnådd; att köra e2fsck rekommenderas.\n"
 
-#: misc/fuse2fs.c:3835
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Föräldralösa hittade; att köra e2fsck rekommenderas.\n"
 
-#: misc/fuse2fs.c:3839
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Fel upptäckta; att köra e2fsck rekommenderas.\n"
 
@@ -5207,7 +5269,11 @@
 msgid "While reading version on %s"
 msgstr "Vid läsning av version på %s"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "Kunde inte allokera sökvägsvariabel i lsattr_dir_proc\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5228,35 +5294,35 @@
 "\t[-t fs-typ] [-T användningstyp] [-U UUID] [-e felbeteende]\n"
 "\t[-z gör-ogjort-fil] [-jnqvDFSV] enhet [blockantal]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Kör kommando: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "vid försök att köra ”%s”"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "vid bearbetning av lista över dåliga block från program"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Block %d i primär superblock-/gruppbeskrivare är felaktigt.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "Block %u till %u måste vara bra för att bygga ett filsystem.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Avbryter...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5267,19 +5333,19 @@
 "\tdåliga block.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "vid markering av dåliga block som använda"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "när reserverade inoder skrevs"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Skriver inodstabeller: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5288,76 +5354,80 @@
 "\n"
 "Kunde inte skriva %d block i inodstabell som börjar vid %llu: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2821 misc/mke2fs.c:3226
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "klar                            \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "vid skapande av rotkatalog"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "vid läsning av rotinod"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "vid inställning av rotinodens ägarskap"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "vid skapande av /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "vid sökning efter /lost+found"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "vid utvidgning av /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "vid inställning av inod för dåliga block"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Slut på minne vid radering av sektorer %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Varning: kunde inte läsa block 0: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Varning: kunde inte radera sektor %d: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "när journalstorleken delades"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "vid initiering av journalsuperblock"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Nollställer journalenhet: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "vid nollställning av journalenhet (block %llu, antal %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "vid skrivning av journalsuperblock"
 
-#: misc/mke2fs.c:664
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "Skapar ett filsystem med %llu %d k-block och %u inoder\n"
 
-#: misc/mke2fs.c:672
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5366,164 +5436,164 @@
 "varning: %llu block oanvända.\n"
 "\n"
 
-#: misc/mke2fs.c:675
+#: misc/mke2fs.c:688
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr "Filsystemsetikett=%.*s\n"
 
-#: misc/mke2fs.c:679
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "OS-typ: %s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Blockstorlek=%u (log=%u)\n"
 
-#: misc/mke2fs.c:684
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Klusterstorlek=%u (log=%u)\n"
 
-#: misc/mke2fs.c:688
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Fragmentstorlek=%u (log=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "Kliv=%u block, remsvidd=%u block\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u inoder, %llu block\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu block (%2.2f%%) reserverade för superanvändaren\n"
 
-#: misc/mke2fs.c:697
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Första datablock=%u\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Rotkatalogägare=%u:%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Maximalt antal filsystemsblock=%lu\n"
 
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u blockgrupper\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u blockgrupp\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u block per grupp, %u kluster per grupp\n"
 
-#: misc/mke2fs.c:712
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u block per grupp, %u fragment per grupp\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u inoder per grupp\n"
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "Filsystems-UUID: %s\n"
 
-#: misc/mke2fs.c:724
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Superblockkopior lagrade på block: "
 
-#: misc/mke2fs.c:820
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s förutsätter ”-O 64bit”\n"
 
-#: misc/mke2fs.c:826
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "”%s” måste komma före ”resize=%u”\n"
 
-#: misc/mke2fs.c:839
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "Ogiltig desc_size: ”%s”\n"
 
-#: misc/mke2fs.c:853
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "Ogiltigt hashfrö: %s\n"
 
-#: misc/mke2fs.c:865
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Ogiltigt avstånd: %s\n"
 
-#: misc/mke2fs.c:879 misc/tune2fs.c:2084
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "Ogiltigt mmp_update_interval: %s\n"
 
-#: misc/mke2fs.c:896
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Ogiltigt antal superblockskopior: %s\n"
 
-#: misc/mke2fs.c:918
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Ogiltig klivparameter: %s\n"
 
-#: misc/mke2fs.c:933
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Ogiltig remsbreddsparameter: %s\n"
 
-#: misc/mke2fs.c:956
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Ogiltig storleksändringsparameter: %s\n"
 
-#: misc/mke2fs.c:963
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "Storleksändringens maximum måste vara större än filsystemets storlek.\n"
 
-#: misc/mke2fs.c:987
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr "Storleksändring under drift stöds inte med revision 0-filsystem\n"
 
-#: misc/mke2fs.c:1013 misc/mke2fs.c:1022
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "Ogiltig rotägare: ”%s”\n"
 
-#: misc/mke2fs.c:1067
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "Felaktig kodning: %s"
 
-#: misc/mke2fs.c:1085
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5576,7 +5646,7 @@
 "\tquotatype=<kvottyper att aktivera>\n"
 "\n"
 
-#: misc/mke2fs.c:1112
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5587,17 +5657,17 @@
 "Varning: RAID-remsbredd %u är inte en jämn multipel av klivet %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1123 misc/tune2fs.c:2220
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr "fel: felaktig kodningsflagga: %s\n"
 
-#: misc/mke2fs.c:1129 misc/tune2fs.c:2229
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr "fel: en kodning måste specificeras explicit när kodningsflaggor skickas\n"
 
-#: misc/mke2fs.c:1177
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5606,17 +5676,17 @@
 "Syntaxfel i mke2fs konfigurationsfil (%s, rad nr %d)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1190 misc/tune2fs.c:1072
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Ogiltig filsystemsflagga satt: %s\n"
 
-#: misc/mke2fs.c:1202 misc/tune2fs.c:419
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Ogiltig monteringsflagga satt: %s\n"
 
-#: misc/mke2fs.c:1338
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5625,7 +5695,7 @@
 "\n"
 "Din mke2fs.conf-fil definierar inte filsystemstypen %s.\n"
 
-#: misc/mke2fs.c:1342
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5633,11 +5703,11 @@
 "Du behöver förmodligen installera en uppdaterad mke2fs.conf-fil.\n"
 "\n"
 
-#: misc/mke2fs.c:1346
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "Avbryter...\n"
 
-#: misc/mke2fs.c:1387
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5648,79 +5718,79 @@
 "Varning: fs_type %s är inte definierad i mke2fs.conf\n"
 "\n"
 
-#: misc/mke2fs.c:1574
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Kunde inte allokera minne för ny SÖKVÄG.\n"
 
-#: misc/mke2fs.c:1611
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "Kunde inte initiera profilen (fel: %ld).\n"
 
-#: misc/mke2fs.c:1644
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "felaktig blockstorlek - %s"
 
-#: misc/mke2fs.c:1648
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Varning: blockstorlek %d är inte användbar på de flesta system.\n"
 
-#: misc/mke2fs.c:1664
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "felaktig klusterstorlek - %s"
 
-#: misc/mke2fs.c:1677
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "”-R” undanbedes, använd ”-E” istället"
 
-#: misc/mke2fs.c:1691 misc/tune2fs.c:1810
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "felaktigt felbeteende - %s"
 
-#: misc/mke2fs.c:1703
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Ogiltigt antal för block per grupp"
 
-#: misc/mke2fs.c:1708
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "block per grupp måste vara en multipel av 8"
 
-#: misc/mke2fs.c:1716
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Felaktigt tal för flex_bg-storlek"
 
-#: misc/mke2fs.c:1722
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "storlek på flex_bg måste vara en multipel av 2"
 
-#: misc/mke2fs.c:1727
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "storlek på flex_bg (%lu) måste vara mindre än eller lika med 2³¹"
 
-#: misc/mke2fs.c:1737
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "ogiltig inodsförhållande %s (min %d/max %d)"
 
-#: misc/mke2fs.c:1747
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "ogiltig inodsstorlek - %s"
 
-#: misc/mke2fs.c:1760
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "Varning: flaggan -K undanbedes och skall inte användas mera.  Använd den utökade flaggan ”-E nodiscard” istället!\n"
 
-#: misc/mke2fs.c:1771
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "i malloc för bad_blocks_filename"
 
-#: misc/mke2fs.c:1780
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
@@ -5729,69 +5799,79 @@
 "Varning: etiketten för lång, kommer avkortas till ”%s”.\n"
 "\n"
 
-#: misc/mke2fs.c:1789
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "ogiltig procentandel reserverade block - %s"
 
-#: misc/mke2fs.c:1804
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "felaktigt antal inoder - %s"
 
-#: misc/mke2fs.c:1817
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "vid allokering av fs_feature-sträng"
 
-#: misc/mke2fs.c:1834
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "felaktig versionsnivå - %s"
 
-#: misc/mke2fs.c:1839
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "vid försök att skapa revision %d"
 
-#: misc/mke2fs.c:1853
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "Flaggan -t får endast anges en gång"
 
-#: misc/mke2fs.c:1861
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "Flaggan -T får endast anges en gång"
 
-#: misc/mke2fs.c:1917 misc/mke2fs.c:3310
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "vid försök att öppna journalenhet %s\n"
 
-#: misc/mke2fs.c:1923
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr "Journalenhetens blockstorlek (%d) mindre än minsta blockstorlek %d\n"
 
-#: misc/mke2fs.c:1929
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Använder journalenhetens blockstorlek: %d\n"
 
-#: misc/mke2fs.c:1940
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "felaktiga block ”%s” på enhet ”%s”"
 
 # "Ett" för att detta sätts in i annan sträng där det föregås av "a".
 # Även "journal" kan sättas in på samma plats.  Felrapporterat.
-#: misc/mke2fs.c:1970
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "ett filsystem"
 
-#: misc/mke2fs.c:1988 resize/main.c:499
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "Filen %s finns inte och ingen storlek angavs.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Skapar normal fil %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "vid försök att avgöra filsystemstorlek"
 
-#: misc/mke2fs.c:1994
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5799,7 +5879,7 @@
 "Kunde inte avgöra enhetsstorlek; du måste ange\n"
 "storleken på filsystemet\n"
 
-#: misc/mke2fs.c:2001
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5811,48 +5891,48 @@
 "\tav en modifierad partition används och är i bruk.  Du kan behöva\n"
 "\tstarta om för att läsa om din partitionstabell.\n"
 
-#: misc/mke2fs.c:2018
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "Filsystem större än synbar enhetsstorlek."
 
-#: misc/mke2fs.c:2038
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "Misslyckades tolka fs-typlista\n"
 
-#: misc/mke2fs.c:2088
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "HURD stödjer inte funktionen filtype.\n"
 
-#: misc/mke2fs.c:2093
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "HURD stödjer inte funktionen huge_file.\n"
 
-#: misc/mke2fs.c:2098
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "HURD stödjer inte funktionen metadata_csum.\n"
 
-#: misc/mke2fs.c:2103
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "HURD stödjer inte funktionen ea_inode.\n"
 
-#: misc/mke2fs.c:2113
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "vid försök att avgöra hårdvarusektorstorlek"
 
-#: misc/mke2fs.c:2119
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "vid försök att avgöra fysisk sektorstorlek"
 
-#: misc/mke2fs.c:2151
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "när blockstorlek sattes; för liten för enheten\n"
 
-#: misc/mke2fs.c:2156
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Varning: angiven blockstorlek %d är mindre än enhetens fysiska sektorstorlek %d\n"
 
-#: misc/mke2fs.c:2180
+#: misc/mke2fs.c:2206
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5861,7 +5941,7 @@
 "%s: Storleken på enhet (0x%llx block) %s är för stor för att uttryckas\n"
 "\tmed 32 bitar med användning av en blockstorlek på %d.\n"
 
-#: misc/mke2fs.c:2194
+#: misc/mke2fs.c:2220
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5870,85 +5950,85 @@
 "%s: Storleken på enhet (0x%llx block) %s är för stor för att skapa\n"
 "\tett filsystem som använder en blockstorlek på %d.\n"
 
-#: misc/mke2fs.c:2216
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "upplösning av fs_types för mke2fs.conf: "
 
-#: misc/mke2fs.c:2223
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr "Filsystemsfunktioner som inte stöds med revision 0-filsystem\n"
 
-#: misc/mke2fs.c:2231
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr "Glesa superblock stöds inte med revision 0-filsystem\n"
 
-#: misc/mke2fs.c:2241
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr "Journaler stöds inte med revision 0-filsystem\n"
 
-#: misc/mke2fs.c:2254
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "ogiltig procentandel reserverade block - %lf"
 
-#: misc/mke2fs.c:2271
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr "Utsträckningar MÅSTE vara aktiverade på ett 64-bitars filsystem.  Skicka -O extents för att rätta.\n"
 
-#: misc/mke2fs.c:2291
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "Klusterstorleken får inte vara mindre än blockstorleken.\n"
 
-#: misc/mke2fs.c:2297
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "att ange en klusterstorlek förutsätter funktionen bigalloc"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "varning: Kan inte ta reda på enhetens geometri för %s\n"
 
-#: misc/mke2fs.c:2329
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "%s justering är förskjuten med %lu byte.\n"
 
-#: misc/mke2fs.c:2331
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr "Detta kan medföra väldigt dåliga prestanda, (om)partitionering föreslås.\n"
 
-#: misc/mke2fs.c:2337
+#: misc/mke2fs.c:2363
 #, 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 "%s har förmågan DAX men aktuell blockstorlek %u är skild från systemsidstorleken %u så filsystemet kommer inte stödja DAX.\n"
 
-#: misc/mke2fs.c:2361
+#: misc/mke2fs.c:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "%d-byteblock för stort för systemet (max %d)"
 
-#: misc/mke2fs.c:2365
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr "Varning: %d-byteblock för stort för systemet (max %d), tvingas fortsätta\n"
 
-#: misc/mke2fs.c:2373
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Förslag: använd en Linuxkärna ≥ 3.18 för förbättrad stabilitet av metadatan och funktionerna för journalkontrollsumma.\n"
 
-#: misc/mke2fs.c:2419
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr "Okänd filnamnskodning från profilen: %s"
 
-#: misc/mke2fs.c:2430
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr "Okända kodningsflaggor från profilen: %s"
 
-#: misc/mke2fs.c:2455
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5963,16 +6043,16 @@
 "är vad du vill.\n"
 "\n"
 
-#: misc/mke2fs.c:2470
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "%d-byteinoder är för små för projektkvoter"
 
-#: misc/mke2fs.c:2492
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "Kan inte stödja funktionen bigalloc utan funktionen utsträckningar"
 
-#: misc/mke2fs.c:2499
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -5980,51 +6060,54 @@
 "Egenskaperna resize_inode och meta_bg är inte kompatibla\n"
 "De kan inte båda aktiveras samtidigt.\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
 "\n"
-"Varning: funktionen bigalloc är fortfarande under utveckling\n"
-"Se https://ext4.wiki.kernel.org/index.php/Bigalloc för mer information\n"
-"\n"
+"Varning: bigalloc-filsystem med en klusterstorlek större än\n"
+"16 gånger blockstorleken betraktas som experimentellt\n"
 
-#: misc/mke2fs.c:2519
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr "reserverade block för storleksändring under drift stöds inte på icke-glesa filsystem"
 
-#: misc/mke2fs.c:2528
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "antal block per grupp utanför giltigt intervall"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "Funktionen flex_bg är inte aktiverad, så fleg_bg-storlek kan inte anges"
 
-#: misc/mke2fs.c:2562
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "ogiltig inodstorlek %d (min %d/max %d)"
 
-#: misc/mke2fs.c:2577
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "%d-byteinoder är för små för inline-data; ange en större storlek"
 
-#: misc/mke2fs.c:2592
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "128-bytes inoder kan inte hantera data bortom 2038 och bör undvikas\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "för många inoder (%llu), öka inodsförhållandet?"
 
-#: misc/mke2fs.c:2599
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "för många inoder (%llu), ange < 2³² inoder"
 
-#: misc/mke2fs.c:2613
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6035,65 +6118,69 @@
 "\tfilsystem med %llu block, ange högre inodsförhållande (-i)\n"
 "\teller lägre inodantal (-N).\n"
 
-#: misc/mke2fs.c:2800
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
 msgstr "Utrangerar enhetsblock: "
 
-#: misc/mke2fs.c:2816
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "misslyckades - "
 
-#: misc/mke2fs.c:2875
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "när kvotkontexten initierades"
 
-#: misc/mke2fs.c:2882
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "när kvotinoder skrevs"
 
-#: misc/mke2fs.c:2907
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "felaktigt felbeteende i profilen - %s"
 
-#: misc/mke2fs.c:2983
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "i malloc för android_sparse_params"
 
-#: misc/mke2fs.c:2997
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "vid uppsättning av superblock"
 
-#: misc/mke2fs.c:3013
+#: misc/mke2fs.c:3065
 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 "Utsträckningar är inte aktiverade.  I trädet med filutsträckningar kan blocksummor beräknas, medan blockkartor inte kan det.  Att inte aktivera utsträckningar reducerar täckningen av kontrollsummor för metadata.  Skicka -O extents för att rätta.\n"
 
-#: misc/mke2fs.c:3020
+#: misc/mke2fs.c:3072
 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 "Stöd för 64-bitars filsystem är inte aktiverat.  De större fälten som denna funktion erbjuder gör kontrollsummor med full styrka möjliga.  Skicka -O 64bit för att rätta.\n"
 
-#: misc/mke2fs.c:3028
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "Funktionen metadata_csum_seed förutsätter funktionen metadata_csum.\n"
 
-#: misc/mke2fs.c:3052
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "Utrangering lyckades och kommer returnera 0s — hoppar över rensning av inodstabell\n"
 
-#: misc/mke2fs.c:3151
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "okänt os - %s"
 
-#: misc/mke2fs.c:3214
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
 msgstr "Allokerar grupptabeller: "
 
-#: misc/mke2fs.c:3222
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "vid försök att allokera filsystemstabeller"
 
-#: misc/mke2fs.c:3231
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "när dåliga block avmarkerades"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6101,32 +6188,36 @@
 "\n"
 "\tvid konvertering av underklustrets bitkarta"
 
-#: misc/mke2fs.c:3237
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "vid beräkning av omkostnad"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s kan göras ännu trasigare av omskrivning av superblock\n"
 
-#: misc/mke2fs.c:3278
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "vid nollställning av block %llu vid slutet av filsystemet"
 
-#: misc/mke2fs.c:3291
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr "vid reservation av block för storleksändring under drift"
 
 # "En" för att detta sätts in i annan sträng där det föregås av "a".
 # Även "filsystem" kan sättas in på samma plats.  Felrapporterat.
-#: misc/mke2fs.c:3303 misc/tune2fs.c:1516
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "en journal"
 
-#: misc/mke2fs.c:3315
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Lägger till journal till enhet %s: "
 
-#: misc/mke2fs.c:3322
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
@@ -6135,21 +6226,21 @@
 "\n"
 "\tvid försök att lägga till journal till enhet %s"
 
-#: misc/mke2fs.c:3327 misc/mke2fs.c:3356 misc/mke2fs.c:3394
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1545 misc/tune2fs.c:1564
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "klar\n"
 
-#: misc/mke2fs.c:3333
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "Hoppar över att skapa journal i läget endast super\n"
 
-#: misc/mke2fs.c:3343
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Skapar journal (%u block): "
 
-#: misc/mke2fs.c:3352
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6157,7 +6248,7 @@
 "\n"
 "\tvid försök att skapa journal"
 
-#: misc/mke2fs.c:3364 misc/tune2fs.c:1137
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6165,28 +6256,28 @@
 "\n"
 "Fel vid aktivering av funktionen för skydd mot flerfaldig montering."
 
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr "Skydd mot flerfaldig montering är aktiverat med uppdateringsintervall %d sekunder.\n"
 
-#: misc/mke2fs.c:3385
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "Kopierar filer till enheten: "
 
-#: misc/mke2fs.c:3391
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
 msgstr "när filsystemet populerades"
 
-#: misc/mke2fs.c:3398
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr "Skriver superblock och bokföringsinformation för filsystemet: "
 
-#: misc/mke2fs.c:3405
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "när filsystemet skrevs ut och stängdes"
 
-#: misc/mke2fs.c:3408
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6199,26 +6290,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "vid nollställning av block %llu för jättefil"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Ett partitionsavstånd på %llu (%u k) block är inte kompatibelt med klusterstorleken %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Stora filer kommer att nollställas\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Skapar %lu stora filer "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "med %llu block var"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "när den stora filen %lu skapades"
@@ -6262,7 +6353,7 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s: h=%3d s=%3d c=%4d   start=%8d storlek=%8lu slut=%8d\n"
 
-#: misc/tune2fs.c:120
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
@@ -6270,15 +6361,15 @@
 "\n"
 "Denna åtgärd kräver en nykontrollerat filsystem.\n"
 
-#: misc/tune2fs.c:122
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "Kör e2fsck -f på filsystemet.\n"
 
-#: misc/tune2fs.c:124
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "Kör e2fsck -fD på filsystemet.\n"
 
-#: misc/tune2fs.c:137
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6299,20 +6390,20 @@
 "\t[-E utökad-flagga[,…]] [-T senaste_kontrolltid] [-U UUID]\n"
 "\t[-I ny_inodstorlek] [-z gör-ogjort-fil] enhet\n"
 
-#: misc/tune2fs.c:225
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "Journalsuperblock inte funnet!\n"
 
-#: misc/tune2fs.c:283
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "vid försök att öppna extern journal"
 
-#: misc/tune2fs.c:289 misc/tune2fs.c:2889
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s är inte en journalenhet.\n"
 
-#: misc/tune2fs.c:298 misc/tune2fs.c:2898
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
@@ -6321,11 +6412,11 @@
 "Journalsuperblocket är trasigt, nr_users\n"
 "är för hög (%d).\n"
 
-#: misc/tune2fs.c:305 misc/tune2fs.c:2905
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr "Filsystems UUID inte funnet på journalenhet.\n"
 
-#: misc/tune2fs.c:329
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6333,52 +6424,52 @@
 "Kan inte hitta journalenheten.   Den togs INTE bort.\n"
 "Använd flaggan -f för att ta bort en saknad journalenhet.\n"
 
-#: misc/tune2fs.c:338
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Journal borttagen\n"
 
-#: misc/tune2fs.c:382
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "vid läsning av bitkartor"
 
-#: misc/tune2fs.c:390
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "vid nollställning av journalinod"
 
-#: misc/tune2fs.c:401
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "vid skrivning av journalinod"
 
-#: misc/tune2fs.c:437 misc/tune2fs.c:462 misc/tune2fs.c:475
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(och starta om efteråt!)\n"
 
-#: misc/tune2fs.c:490
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Efter att ha kört e2fsck, kör ”resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Kör ”resize2fs %s %s"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:499
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "” för att aktivera 64-bitarsläge.\n"
 
-#: misc/tune2fs.c:501
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "” för att avaktivera 64-bitarsläge.\n"
 
-#: misc/tune2fs.c:1039
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6386,17 +6477,17 @@
 "VARNING: Kunde inte bekräfta stöd i kärnan för metadata_csum_seed.\n"
 "  Detta kräver Linux ≥ v4.4.\n"
 
-#: misc/tune2fs.c:1075
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "Nollställning av filsystemsfunktion ”%s” stöds inte.\n"
 
-#: misc/tune2fs.c:1081
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "Att sätta filsystemsfunktion ”%s” stöds inte.\n"
 
-#: misc/tune2fs.c:1090
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6404,7 +6495,7 @@
 "Flaggan has_journal får endast nollställas när filsystemet är\n"
 "omonterat eller monterat enbart för läsning.\n"
 
-#: misc/tune2fs.c:1098
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6412,7 +6503,7 @@
 "Flaggan needs_recovery är satt.  Kör e2fsck före flaggan has_journal\n"
 "nollställs.\n"
 
-#: misc/tune2fs.c:1116
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6420,7 +6511,7 @@
 "Att sätta filsystemsfunktionen ”sparse_super” stödjs inte\n"
 "för filsystem med funktionen meta_bg aktiverad.\n"
 
-#: misc/tune2fs.c:1129
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6430,12 +6521,12 @@
 "kan inte sättas på om filsystemet är monterat\n"
 "eller skrivskyddat.\n"
 
-#: misc/tune2fs.c:1147
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr "Skydd mot flerfaldig montering har aktiverats med uppdateringsintervallet %d s.\n"
 
-#: misc/tune2fs.c:1156
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6443,20 +6534,28 @@
 "Funktionen för skydd mot flerfaldig montering kan inte\n"
 "avaktiveras om filsystemet är skrivskyddat.\n"
 
-#: misc/tune2fs.c:1164
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "Fel vid läsning av bitkartor\n"
 
-#: misc/tune2fs.c:1173
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "Magiskt tal i MMP-block stämmer inte.  förväntat: %x, faktiskt: %x\n"
 
-#: misc/tune2fs.c:1178
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
 msgstr "vid läsning av MMP-block."
 
-#: misc/tune2fs.c:1210
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Att avaktivera katalogindex på filsystem med kontrollsummor kan ta ett tag."
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Det går inte att avaktivera dir_index på ett monterat filsystem!\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
@@ -6464,7 +6563,7 @@
 "Att nollställa flaggan flex_bg skulle få filsystemet att bli\n"
 "inkonsistent.\n"
 
-#: misc/tune2fs.c:1221
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6472,54 +6571,54 @@
 "Flaggan huge_file får endast nollställas när filsystemet är\n"
 "omonterat eller monterat enbart för läsning.\n"
 
-#: misc/tune2fs.c:1232
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr "Att aktivera kontrollsummor kan ta ett tag."
 
-#: misc/tune2fs.c:1235
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "Kan inte aktivera metadata_csum på ett monterat filsystem!\n"
 
-#: misc/tune2fs.c:1241
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr "Utsträckningar är inte aktiverade.  I trädet med filutsträckningar kan blocksummor beräknas, medan blockkartor inte kan det.  Att inte aktivera utsträckningar reducerar täckningen av kontrollsummor för metadata.  Kör om med -O extents för att rätta.\n"
 
-#: misc/tune2fs.c:1248
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr "Stöd för 64-bitars filsystem är inte aktiverat.  De större fälten som denna funktion erbjuder gör kontrollsummor med full styrka möjliga.  Kör resize2fs -b för att rätta.\n"
 
-#: misc/tune2fs.c:1274
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
 msgstr "Att avaktivera kontrollsummor kan ta ett tag."
 
-#: misc/tune2fs.c:1277
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "Kan inte avaktivera metadata_csum på ett monterat filsystem!\n"
 
-#: misc/tune2fs.c:1318
+#: misc/tune2fs.c:1372
 msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
 msgstr "Det går inte att aktivera uninit_bg på ett monterat filsystem!\n"
 
-#: misc/tune2fs.c:1333
+#: misc/tune2fs.c:1387
 msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
 msgstr "Det går inte att avaktivera uninit_bg på ett monterat filsystem!\n"
 
-#: misc/tune2fs.c:1352
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "Kan inte aktivera 64-bitarsläge när det är monterat!\n"
 
-#: misc/tune2fs.c:1362
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "Kan inte avaktivera 64-bitarsläge när det är monterat!\n"
 
-#: misc/tune2fs.c:1392
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "Kan inte aktivera projektfunktionen; inodstorleken är för liten.\n"
 
-#: misc/tune2fs.c:1413
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6527,11 +6626,11 @@
 "\n"
 "Varning: flaggan ”^quota” åsidosätter ”-Q”-argument.\n"
 
-#: misc/tune2fs.c:1430 misc/tune2fs.c:2182
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
 msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr "Funktionen casefold kan endast aktiveras när filsystemet är omonterat.\n"
 
-#: misc/tune2fs.c:1442
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6539,21 +6638,21 @@
 "Att sätta funktionen ”metadata_csum_seed” stödjs bara\n"
 "för filsystem med funktionen metadata_csum aktiverad.\n"
 
-#: misc/tune2fs.c:1460
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
 msgstr "UUID har ändrats sedan metadata_csum aktiverades.  Filsystem måste vara omonterade för att säkert skriva om alla metadata till att matcha det nya UUID:t.\n"
 
-#: misc/tune2fs.c:1466
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr "Att beräkna om kontrollsummor kan ta ett tag."
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "Filsystemet har redan en journal.\n"
 
-#: misc/tune2fs.c:1529
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6562,21 +6661,21 @@
 "\n"
 "\tvid försök att öppna journal på %s\n"
 
-#: misc/tune2fs.c:1533
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Skapar journal på enhet %s: "
 
-#: misc/tune2fs.c:1541
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "vid tillägg av filsystem till journal på %s"
 
-#: misc/tune2fs.c:1547
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
 msgstr "Skapar journalinod: "
 
-#: misc/tune2fs.c:1561
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6584,31 +6683,31 @@
 "\n"
 "\tvid försök att skapa journalfil"
 
-#: misc/tune2fs.c:1599
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "Kan inte aktivera projektkvoter; inodstorleken är för liten.\n"
 
-#: misc/tune2fs.c:1612
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
 msgstr "när kvotkontexten i stödbiblioteket initierades"
 
-#: misc/tune2fs.c:1627
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "när kvotgränser (%d) uppdaterades"
 
-#: misc/tune2fs.c:1637
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "när kvotfil (%d) skrevs"
 
-#: misc/tune2fs.c:1655
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "när kvotfil (%d) togs bort"
 
-#: misc/tune2fs.c:1698
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6630,117 +6729,117 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1756
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Kunde inte tolka datum-/tidsangivelse: %s"
 
-#: misc/tune2fs.c:1781 misc/tune2fs.c:1794
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "felaktigt antal monteringar - %s"
 
-#: misc/tune2fs.c:1837
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "felaktigt gid/gruppnamn - %s"
 
-#: misc/tune2fs.c:1870
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "felaktigt intervall - %s"
 
-#: misc/tune2fs.c:1899
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "felaktig andel reserverade block - %s"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
 msgstr "-o får endast anges en gång"
 
-#: misc/tune2fs.c:1923
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
 msgstr "-O får endast anges en gång"
 
-#: misc/tune2fs.c:1940
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "felaktigt antal reserverade block - %s"
 
-#: misc/tune2fs.c:1969
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "felaktigt uid/användarnamn - %s"
 
-#: misc/tune2fs.c:1986
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "felaktig inodsstorlek - %s"
 
-#: misc/tune2fs.c:1993
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "Inodsstorlek måste vara en multipel av två- %s"
 
-#: misc/tune2fs.c:2093
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "mmp_update_interval är för stort: %lu\n"
 
-#: misc/tune2fs.c:2098
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
 msgstr[0] "Sätter uppdateringsintervall för skydd mot flerfaldig montering till %lu sekund\n"
 msgstr[1] "Sätter uppdateringsintervall för skydd mot flerfaldig montering till %lu sekunder\n"
 
-#: misc/tune2fs.c:2107
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Sätter filsystemets felflagga för att framtvinga fsck.\n"
 
-#: misc/tune2fs.c:2125
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Ogiltig RAID-kliv: %s\n"
 
-#: misc/tune2fs.c:2140
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Ogiltig RAID-remsbredd: %s\n"
 
-#: misc/tune2fs.c:2155
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Ogiltig hash-algoritm: %s\n"
 
-#: misc/tune2fs.c:2161
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Sätter standardhashalgoritm till %s (%d)\n"
 
-#: misc/tune2fs.c:2188
+#: misc/tune2fs.c:2252
 #, c-format
 msgid "Cannot alter existing encoding\n"
 msgstr "Det går inte att ändra en befintlig kodning\n"
 
-#: misc/tune2fs.c:2194
+#: misc/tune2fs.c:2258
 #, c-format
 msgid "Invalid encoding: %s\n"
 msgstr "Felaktig kodning: %s\n"
 
-#: misc/tune2fs.c:2200
+#: misc/tune2fs.c:2264
 #, c-format
 msgid "Setting encoding to '%s'\n"
 msgstr "Sätter kodningen till ”%s”\n"
 
-#: misc/tune2fs.c:2224
+#: misc/tune2fs.c:2288
 #, c-format
 msgid "Setting encoding_flags to '%s'\n"
 msgstr "Sätter encoding_flags till ”%s”\n"
 
-#: misc/tune2fs.c:2234
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6780,31 +6879,31 @@
 "\tencoding=<kodning>\n"
 "\tencoding_flags=<flaggor>\n"
 
-#: misc/tune2fs.c:2707
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
 msgstr "Misslyckades att läsa inodsbitkarta\n"
 
-#: misc/tune2fs.c:2712
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "Misslyckades att läsa blockbitkarta\n"
 
-#: misc/tune2fs.c:2729 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "block att flytta"
 
-#: misc/tune2fs.c:2732
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Kunde inte allokera blockbitkarta när inodsstorleken ökades\n"
 
-#: misc/tune2fs.c:2738
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr "Inte tillräckligt med utrymme för att öka inodsstorleken \n"
 
-#: misc/tune2fs.c:2743
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Misslyckades omlokalisera block under storleksändring av inoder \n"
 
-#: misc/tune2fs.c:2775
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6812,7 +6911,7 @@
 "Fel när storleken på inoder ändrades.\n"
 "Kör e2undo för att göra filsystemsändringarna ogjorda. \n"
 
-#: misc/tune2fs.c:2985
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6820,7 +6919,7 @@
 "Om du är säker på att filsystemet inte används på någon nod, kör:\n"
 "”tune2fs -f -E clear_mmp {enhet}”\n"
 
-#: misc/tune2fs.c:2992
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6829,29 +6928,29 @@
 "MMP-blockets magiska tal är felaktigt.  Försök att rätta det genom att köra:\n"
 "”e2fsck-f %s”\n"
 
-#: misc/tune2fs.c:3004
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "Kan inte modifiera en journalenhet.\n"
 
-#: misc/tune2fs.c:3017
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "Inodsstorleken är redan %lu\n"
 
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
 msgstr "Att krympa inodsstorleken stödjs inte\n"
 
-#: misc/tune2fs.c:3029
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "Ogiltig inodstorlek %lu (max %d)\n"
 
-#: misc/tune2fs.c:3035
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr "Att ändra storlek på inoder kan ta ett tag."
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6868,57 +6967,57 @@
 "kör sedan om detta kommando.  Annars kan eventuella ändringar skrivas över\n"
 "när journalen återhämtas.\n"
 
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Återhämtar journalen.\n"
 
-#: misc/tune2fs.c:3114
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Sätter max antal monteringar till %d\n"
 
-#: misc/tune2fs.c:3120
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Sätter aktuellt antal monteringar till %d\n"
 
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Sätter felbeteende till %d\n"
 
-#: misc/tune2fs.c:3130
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "Sätter gid för reserverade block till %lu\n"
 
-#: misc/tune2fs.c:3135
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "intervall mellan kontroller är för stort (%lu)"
 
-#: misc/tune2fs.c:3142
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Sätter intervall mellan kontroller till %lu sekunder\n"
 
-#: misc/tune2fs.c:3149
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Sätter procent reserverade block till %g %% (%llu block)\n"
 
-#: misc/tune2fs.c:3155
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "antal reserverade block för stort (%llu)"
 
-#: misc/tune2fs.c:3162
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Sätter antal reserverade block till %llu\n"
 
-#: misc/tune2fs.c:3167
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -6926,7 +7025,7 @@
 "\n"
 "Filsystemet har redan glesa superblock.\n"
 
-#: misc/tune2fs.c:3170
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -6936,7 +7035,7 @@
 "Att sätta superblockflaggan gles stödjs inte\n"
 "för filsystem med funktionen meta_bg aktiverad.\n"
 
-#: misc/tune2fs.c:3180
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
@@ -6945,7 +7044,7 @@
 "\n"
 "Flaggan för glesa superblock satt.  %s"
 
-#: misc/tune2fs.c:3185
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -6953,49 +7052,53 @@
 "\n"
 "Nollställning av superblocksflaggan gles stödjs inte.\n"
 
-#: misc/tune2fs.c:3193
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "Sätter tidpunkt för senaste filsystemskontroll till %s\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "Sätter uid för reserverade block till %lu\n"
 
-#: misc/tune2fs.c:3231
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Fel vid användning av clear_mmp.  Det måste användas med -f\n"
 
-#: misc/tune2fs.c:3249
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "Kvotfunktionen kan endast ändras när filsystemet är omonterat.\n"
 
-#: misc/tune2fs.c:3269
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Kan inte ändra UUID:t på detta filsystem eftersom det har funktionsflaggan stable_inodes.\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Att sätta UUID:n på detta filsystem kan ta ett tag."
 
-#: misc/tune2fs.c:3286
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "UUID:n får endast ändras när filsystemet är omonterat.\n"
 
-#: misc/tune2fs.c:3289
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr "Om du bara använder kärnor nyare än v4.4, kör ”tune2fs -O metadata_csum_seed” och kör om detta kommando.\n"
 
-#: misc/tune2fs.c:3320
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Ogiltigt UUID-format\n"
 
-#: misc/tune2fs.c:3336
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "Behöver uppdatera journalsuperblock.\n"
 
-#: misc/tune2fs.c:3358
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr "Inodsstorleken får endast ändras när filsystemet är omonterat.\n"
 
-#: misc/tune2fs.c:3365
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -7003,64 +7106,64 @@
 "Att ändra inodsstorlek stöds inte för filsystem med funktionen flex_bg\n"
 "aktiverad.\n"
 
-#: misc/tune2fs.c:3383
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Sätter inodsstorlek till %lu\n"
 
-#: misc/tune2fs.c:3387
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
 msgstr "Misslyckades att ändra inodsstorlek\n"
 
-#: misc/tune2fs.c:3401
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Sätter klivstorlek till %d\n"
 
-#: misc/tune2fs.c:3406
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Sätter remsbredd till %d\n"
 
-#: misc/tune2fs.c:3413
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "Sätter utökade standardmonteringsflaggor till ”%s”\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
 msgstr "<fortsätter>\n"
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "Fortsätt ändå (eller vänta %d sekunder för att fortsätta)? (j,N) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
 msgstr "Fortsätt ändå? (j,N) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "mke2fs framtvingat ändå.  Hoppas /etc/mtab är felaktig.\n"
 
 # %s kan bli "filsystem" eller "journal".  Jag har lagt till "en"
 # respektive "ett" i översättningarna av dessa strängar istället.
 # Felrapporterat.
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "skapar inte %s här!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "mke2fs framtvingad ändå.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr "Kunde inte allokera minne för att tolka journalflaggor!\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -7069,7 +7172,7 @@
 "\n"
 "Kunde inte hitta journalenhet som matchar %s\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7099,7 +7202,7 @@
 "Journalstorleken måste vara mellan 1024 och 10240000 filsystemsblock.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7107,26 +7210,26 @@
 "\n"
 "Filsystem för litet för en journal\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"Den begärda journalstorleken är %d block; den måste vara\n"
+"Den totala begärda journalstorleken är %d block; den måste vara\n"
 "mellan 1024 och 10240000 block.  Avbryter.\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"Journalstorleken för stor för filsystem.\n"
+"Den totala journalstorleken är för stor för filsystemet.\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7268,11 +7371,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Användning: %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# Områdesdump:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr "#\tAntal=%llu, Storlek=%llu, Markör=%llu, Sorterad=%llu\n"
@@ -7328,17 +7431,17 @@
 "det ändå.\n"
 "\n"
 
-#: resize/main.c:368
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "när %s öppnades"
 
-#: resize/main.c:376
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "när statusinformation för %s hämtades"
 
-#: resize/main.c:453
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7347,34 +7450,34 @@
 "Kör ”e2fsck -f %s” först.\n"
 "\n"
 
-#: resize/main.c:472
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Uppskattad minsta storlek på filsystemet: %llu\n"
 
-#: resize/main.c:509
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "Ogiltig ny storlek: %s\n"
 
-#: resize/main.c:528
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "Ny storlek för stor för att uttryckas i 32 bitar\n"
 
-#: resize/main.c:541
+#: resize/main.c:560
 msgid "New size results in too many block group descriptors.\n"
-msgstr "Ny storlek resulterar i för mång blockgruppbeskrivare.\n"
+msgstr "Ny storlek resulterar i för många blockgruppbeskrivare.\n"
 
-#: resize/main.c:548
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "Ny storlek mindre än minimum (%llu)\n"
 
-#: resize/main.c:554
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Ogiltig klivlängd"
 
-#: resize/main.c:578
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7385,27 +7488,27 @@
 "Du begärde en ny storlek på %llu block.\n"
 "\n"
 
-#: resize/main.c:585
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Kan inte slå på och av 64-bitarsfunktionen.\n"
 
-#: resize/main.c:589
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "Kan inte ändra 64-bitarsfunktionen på ett filsystem som är större än 2³² block.\n"
 
-#: resize/main.c:595
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "Kan inte ändra 64-bitarsfunktionen när filsystemet är monterat.\n"
 
-#: resize/main.c:601
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Aktivera utsträckningsfunktionen med tune2fs före aktivering av 64-bitarsfunktionen.\n"
 
-#: resize/main.c:607
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7414,37 +7517,42 @@
 "Filsystemet är redan %llu (%d k) block långt.  Inget behöver göras!\n"
 "\n"
 
-#: resize/main.c:614
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "Filsystemet är redan 64-bitars.\n"
 
-#: resize/main.c:619
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "Filsystemet är redan 32-bitars.\n"
 
-#: resize/main.c:627
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Kan inte krympa detta filsystem eftersom det har funktionsflaggan stable_inodes.\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Konverterar filsystemet till 64-bitars.\n"
 
-#: resize/main.c:629
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Konverterar filsystemet till 32-bitars.\n"
 
-#: resize/main.c:631
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "Ändrar storlek på filsystemet på %s till %llu (%d k) block.\n"
 
-#: resize/main.c:640
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "vid försök att ändra storlek på %s"
 
-#: resize/main.c:643
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7453,7 +7561,7 @@
 "Kör ”e2fsck -fy %s” för att laga filsystemet\n"
 "efter den avbrutna storleksändringen.\n"
 
-#: resize/main.c:649
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7462,7 +7570,7 @@
 "Filsystemet på %s är nu %llu (%d k) block långt.\n"
 "\n"
 
-#: resize/main.c:664
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "vid försök att korta av %s"
@@ -7519,52 +7627,52 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "Utför en storleksändring on-line av %s till %llu (%d k) block.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Vid försök att utöka den sista gruppen"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Vid försök att öppna grupp nr. %d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr "Filsystemet på %s är monterat på %s, och storleksändring on-line stöds inte på detta system.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "inoder (%llu) måste vara mindre än %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "reserverade block"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "metadatablock"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "nya metablock"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "Borde aldrig hända!  Ingen sb i sista super_sparse bg?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "Borde aldrig hända!  Oväntad old_desc i super_sparse bg?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Skulle aldrig inträffa: storleksändringsinoden trasig!\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.6"
-msgstr "EXT2FS-bibliotek version 1.45.6"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "EXT2FS-bibliotek version 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8282,6 +8390,18 @@
 msgid "Group descriptors not loaded"
 msgstr "Gruppbeskrivare inte inlästa"
 
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "Den interna ext2_filsys-datastrukturen förefaller vara trasig"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "Hittade en cyklisk slinga i utökningsträdet"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "Åtgärden stödjs inte på en extern journal"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Profil version 0.0"
@@ -8406,47 +8526,37 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Felaktigt magiskt värde i profile_file_data_t"
 
-#: lib/support/plausible.c:114
+#: lib/support/plausible.c:119
 #, c-format
 msgid "\tlast mounted on %.*s on %s"
 msgstr "\tsenast monterad på %.*s på %s"
 
-#: lib/support/plausible.c:117
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tsenast monterad på %s"
 
-#: lib/support/plausible.c:120
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tskapad %s"
 
-#: lib/support/plausible.c:123
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tsenast modifierad på %s"
 
-#: lib/support/plausible.c:157
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Hittade en %s-partitionstabell i %s\n"
 
-#: lib/support/plausible.c:187
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "Filen %s finns inte och ingen storlek angavs.\n"
-
-#: lib/support/plausible.c:195
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Skapar normal fil %s\n"
-
-#: lib/support/plausible.c:198
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Kunde inte öppna %s: %s\n"
 
-#: lib/support/plausible.c:201
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8454,22 +8564,22 @@
 "\n"
 "Enheten existerar uppenbarligen inte; angav du den korrekt?\n"
 
-#: lib/support/plausible.c:223
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s är inte en blockspecialenhet.\n"
 
-#: lib/support/plausible.c:245
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s innehåller ett %s-filsystem med etiketten ”%s”\n"
 
-#: lib/support/plausible.c:248
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s innehåller ett %s-filsystem\n"
 
-#: lib/support/plausible.c:272
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s innehåller ”%s”-data\n"
diff --git a/po/uk.po b/po/uk.po
index 21c808d..b730572 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -5,7 +5,7 @@
 #
 #     2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,.
 # Theodore Ts'o <tytso@mit.edu>, 2013.
-# Yuri Chornoivan <yurchor@ukr.net>, 2013, 2014, 2016, 2017, 2018, 2019, 2021.
+# Yuri Chornoivan <yurchor@ukr.net>, 2013, 2014, 2016, 2017, 2018, 2019, 2021, 2022.
 #. 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,
 #. there is an @-expansion, where strings like "@i" are expanded to
@@ -77,10 +77,10 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs 1.46.0\n"
+"Project-Id-Version: e2fsprogs 1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-01-28 13:42-0500\n"
-"PO-Revision-Date: 2021-02-02 21:03+0200\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-13 13:06+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
 "Language: uk\n"
@@ -89,9 +89,9 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 20.11.70\n"
+"X-Generator: Lokalize 20.12.0\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "Помилковий блок %u поза доступним діапазоном; проігноровано.\n"
@@ -104,30 +104,30 @@
 msgid "while reading the bad blocks inode"
 msgstr "при читанні inode пошкоджених блоків"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:692 misc/dumpe2fs.c:696 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2881 misc/tune2fs.c:2980 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "під час спроби відкрити %s"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
 msgstr "при спробі відкрити '%s'"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
 msgstr "при читанні списку пошкоджених блоків з файла"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
 msgstr "при оновленні inode пошкоджених блоків"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
 msgstr "Попередження: в inode пошкоджених блоків знайдено недопустимий блок %u. Очищено.\n"
@@ -206,64 +206,36 @@
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
 msgstr "Підтримки ioctl BLKFLSBUF не передбачено! Скидання буферів неможливе.\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "Використання: %s [-F] [-I inode_buffer_blocks] пристрій\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "під час спроби відкриття %s для спорожнення"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:385
-#, c-format
-msgid "while trying to flush %s"
-msgstr "під час спроби спорожнення %s"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "під час спроби відкрити «%s»"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "під час початкового сканування inode"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "під час отримання наступного inode"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "Виконано сканування %u inode.\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "читання суперблоку журналу\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
 msgstr "%s: не знайдено коректного суперблоку журналу\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
 msgstr "%s: журнал є надто коротким\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3787
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: помилкові блоки швидкого внесення\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
 msgstr "%s: відновлюємо журнал\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
 msgstr "%s: відновлення журналу не буде виконано до виходу з режиму лише читання\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "під час спроби повторно відкрити %s"
@@ -432,56 +404,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<Зарезервований inode 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "звичайний файл"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
 msgstr "каталог"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "символьний пристрій"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "блоковий пристрій"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "іменований канал"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "символічне посилання"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "сокет"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "файл невідомого типу з режимом доступу 0%o"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
 msgstr "опосередкований блок"
 
-#: e2fsck/message.c:414
+#: e2fsck/message.c:412
 msgid "double indirect block"
 msgstr "двічі опосередкований блок"
 
-#: e2fsck/message.c:416
+#: e2fsck/message.c:414
 msgid "triple indirect block"
 msgstr "тричі опосередкований блок"
 
-#: e2fsck/message.c:418
+#: e2fsck/message.c:416
 msgid "translator block"
 msgstr "блок перенесення"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "№ блоку"
 
@@ -501,117 +473,125 @@
 msgid "unknown quota type"
 msgstr "невідомий тип квоти"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
 msgstr "карта inode кратного використання"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
 msgstr "внутрішня помилка: не вдалося знайти dup_blk для %llu\n"
 
-#: e2fsck/pass1b.c:956
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
 msgstr "повернуто з clone_file_block"
 
-#: e2fsck/pass1b.c:980
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
 msgstr "внутрішня помилка: не вдалося виконати пошук запису блоку з розширеним атрибутом для %llu"
 
-#: e2fsck/pass1b.c:992
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
 msgstr "внутрішня помилка: не вдалося виконати пошук запису inode з розширеним атрибутом для %u"
 
-#: e2fsck/pass1.c:358
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
 msgstr "під час хешування запису з e_value_inum = %u"
 
-#: e2fsck/pass1.c:776 e2fsck/pass2.c:1018
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
 msgstr "читання блоку каталогу"
 
-#: e2fsck/pass1.c:1175
+#: e2fsck/pass1.c:1169
 msgid "getting next inode from scan"
 msgstr "отримуємо наступний inode від засобу сканування"
 
-#: e2fsck/pass1.c:1227
+#: e2fsck/pass1.c:1221
 msgid "in-use inode map"
 msgstr "карта використовуваних inode"
 
-#: e2fsck/pass1.c:1238
+#: e2fsck/pass1.c:1232
 msgid "directory inode map"
 msgstr "карта inode каталогів"
 
-#: e2fsck/pass1.c:1248
+#: e2fsck/pass1.c:1242
 msgid "regular file inode map"
 msgstr "карта inode звичайних файлів"
 
-#: e2fsck/pass1.c:1257 misc/e2image.c:1282
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
 msgid "in-use block map"
 msgstr "карта використовуваних блоків"
 
-#: e2fsck/pass1.c:1266
+#: e2fsck/pass1.c:1260
 msgid "metadata block map"
 msgstr "карта блоків метаданих"
 
-#: e2fsck/pass1.c:1328
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "карта casefold inode"
+
+#: e2fsck/pass1.c:1336
 msgid "opening inode scan"
 msgstr "розпочинаємо сканування inode"
 
-#: e2fsck/pass1.c:2083
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
 msgstr "Прохід 1"
 
-#: e2fsck/pass1.c:2144
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
 msgstr "читаємо опосередковані блоки inode %u"
 
-#: e2fsck/pass1.c:2195
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
 msgstr "картка пошкоджених inode"
 
-#: e2fsck/pass1.c:2253
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
 msgstr "inode у карті пошкоджених блоків"
 
-#: e2fsck/pass1.c:2273
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
 msgstr "карта inode imagic"
 
-#: e2fsck/pass1.c:2304
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
 msgstr "карта блоків кратного використання"
 
-#: e2fsck/pass1.c:2429
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "карта блоків з розширеним атрибутом"
 
-#: e2fsck/pass1.c:3685
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
 msgstr "%6lu(%c): мало бути %6lu маємо фізичних %6lu (к-ть блоків %lld)\n"
 
-#: e2fsck/pass1.c:4105
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "карта бітів блоку"
 
-#: e2fsck/pass1.c:4111
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "бітова карта inode"
 
-#: e2fsck/pass1.c:4117
+#: e2fsck/pass1.c:4162
 msgid "inode table"
 msgstr "таблиця inode"
 
-#: e2fsck/pass2.c:312
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
 msgstr "Прохід 2"
 
-#: e2fsck/pass2.c:1091 e2fsck/pass2.c:1266
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "NLS пошкоджено."
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "Продовження неможливе."
 
@@ -627,7 +607,7 @@
 msgid "Pass 3"
 msgstr "Прохід 3"
 
-#: e2fsck/pass3.c:350
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
 msgstr "бітова карта виявлення циклів inode"
 
@@ -1551,7 +1531,7 @@
 msgstr "Попередження: не вдалося записати блок %b для %s: %m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:726 e2fsck/problem.c:1898
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
 msgstr "помилка під час отримання бітової кари @i (%N): %m\n"
 
@@ -2066,10 +2046,10 @@
 "@i %i містить дублювання прив’язки розширень\n"
 "\t(логічний блок %c, некоректний фізичний блок %b, довжина %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
 #: e2fsck/problem.c:1204
-msgid "@A memory for encrypted @d list\n"
-msgstr "помилка розміщення у пам’яті списку зашифрованих каталогів\n"
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "@A %N байтів пам'яті для зашифрованого списку @i\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
 #: e2fsck/problem.c:1209
@@ -2114,15 +2094,21 @@
 "EA @i %N для батьківського @i %i не містить прапорця EA_INODE.\n"
 " "
 
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "@i %i позначено як неініціалізований у блоці %c (довжина %N). "
+
 #. @-expanded: inode %i has the casefold flag set but is not a directory.  
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1254
 #, c-format
 msgid "@i %i has the casefold flag set but is not a directory.  "
 msgstr "для @i %i встановлено прапорець приведення до нижнього регістру, але він не є каталогом.  "
 
 #. @-expanded: directory %p has the casefold flag, but the\n
 #. @-expanded: casefold feature is not enabled.  
-#: e2fsck/problem.c:1253
+#: e2fsck/problem.c:1259
 #, c-format
 msgid ""
 "@d %p has the casefold flag, but the\n"
@@ -2131,13 +2117,25 @@
 "для @dу %p встановлено прапорець приведення до нижнього регістру, але\n"
 "можливість приведення не увімкнено.  "
 
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "Для @i %i встановлено прапорець шифрування, але не @a шифрування.\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "Зашифрований @i %i має пошкоджений @a шифрування.\n"
+
 #. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
-#: e2fsck/problem.c:1258
+#: e2fsck/problem.c:1274
 msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
 msgstr "@h %i використовує версію хешу (%N), а має використовувати SipHash (6) \n"
 
 #. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
-#: e2fsck/problem.c:1263
+#: e2fsck/problem.c:1279
 #, c-format
 msgid "@h %i uses SipHash, but should not.  "
 msgstr "@h %i використовує SipHash, а не має цього робити.  "
@@ -2145,7 +2143,7 @@
 #. @-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
-#: e2fsck/problem.c:1270
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2156,46 +2154,46 @@
 "Прохід 1B: повторюємо сканування для блоків кратного використання\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
 msgstr "блок(и) кратного використання у @i %i:"
 
-#: e2fsck/problem.c:1293
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
 msgstr "Помилка під час сканування inode (%i): %m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1299
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
 msgstr "помилка під час спроби розміщення @i (@i_dup_map): %m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1305
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
 msgstr "Помилка під час виконання ітерації над блоками у @i %i (%s): %m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1310 e2fsck/problem.c:1685
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
 msgstr "Помилка під час спроби коригування кількості посилань для блоку розширеного атрибута %b (@i %i): %m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
 msgstr "Прохід 1C: шукаємо у каталогах @i з кратним використанням блоків\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1326
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
 msgstr "Прохід 1D: узгоджуємо блоки кратного використання\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1331
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2204,18 +2202,18 @@
 "  має %r блоків кратного використання, які є спільними з %N файлами:\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1337
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q (@i %i, час внесення змін: %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1342
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<метадані файлової системи>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1347
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
@@ -2225,7 +2223,7 @@
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1352
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2233,345 +2231,350 @@
 "блоки кратного використання вже повторно призначено або клоновано.\n"
 "\n"
 
-#: e2fsck/problem.c:1366
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "Не вдалося клонувати файл: %m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1372
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
 msgstr "Прохід 1A: оптимізуємо ієрархії розширень\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1378
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
 msgstr "Не вдалося оптимізувати ієрархію розширень %p (%i): %m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1383
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
 msgstr "Оптимізуємо ієрархії розширень: "
 
-#: e2fsck/problem.c:1398
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
 msgstr "Внутрішня помилка: дерево максимального розширення є надто великим (%b; мало бути=%c).\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1403
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
 msgstr "дерево розширень @i %i (на рівні %b) мало б бути коротшим.  "
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1408
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
 msgstr "дерево розширень @i %i (на рівні %b) мало б бути вужчим.  "
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1415
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
 msgstr "Прохід 2: перевіряємо структуру каталогів\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1421
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
 msgstr "некоректний номер @i для «.» у @i каталогу %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1426
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
 msgstr "@E містить некоректний @i з номером %Di.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1431
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
 msgstr "@E містить вилучений або невикористаний @i %Di.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1436
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
 msgstr "@E @L на «.»  "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1441
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
 msgstr "@E вказує на @i (%Di), розташований у помилковому блоці.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
 msgstr "@E @L на каталог %P (%Di).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
 msgstr "@E @L на @r.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
 msgstr "@E містить некоректні символи у назві.\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1462
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
 msgstr "Пропущено «.» у inode каталогу %i.\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1468
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
 msgstr "Не вистачає «..» у @i каталогу %i.\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1473
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
 msgstr "Першим записом «%Dn» (@i=%Di) у @i каталогу %i (%p) має бути «.»\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1478
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
 msgstr "Другим записом «%Dn» (@i=%Di) у @i каталогу %i має бути «..»\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1483
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
 msgstr "i_faddr для inode дорівнює %IF, має бути нульовим.\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1488
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
 msgstr "i_file_acl @F %If, а має бути нуль.\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1493
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
 msgstr "i_size_high для %Id, має бути нулем.\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1498
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
 msgstr "i_frag @F %N, а має бути нуль.\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1503
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
 msgstr "i_fsize @F %N, а має бути нуль.\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1508
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
 msgstr "@i %i (%Q) має некоректний режим (%Im).\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
 msgstr "@i каталогу %i, %B, відступ %N: каталог пошкоджено\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
 msgstr "inode каталогу %i, %B, відступ %N: назва файла є надто довгою\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
 msgstr "@i каталогу %i містить нерозподілений %B.  "
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1529
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "запис каталогу «.» у @i каталогу %i не завершено символом NULL\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1535
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
 msgstr "запис каталогу «..» у @i каталогу %i не завершено символом NULL\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1540
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
 msgstr "@i %i (%Q) є некоректним символьним пристроєм.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1545
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
 msgstr "@i %i (%Q) є некоректним блоковим пристроєм.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
 msgstr "@E є дублікатом запису «.».\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1555
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
 msgstr "@E є дублікатом запису «..».\n"
 
-#: e2fsck/problem.c:1561 e2fsck/problem.c:1925
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
 msgstr "Внутрішня помилка: не вдалося знайти dir_info для %i.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
 msgstr "@E має rec_len %Dr, має бути %N.\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
 msgstr "помилка під час спроби розмістити структуру icount: %m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "Помилка під час виконання ітерації списком блоків каталогів: %m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1583
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
 msgstr "Помилка під час спроби читання блоку каталогу %b (@i %i): %m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1588
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
 msgstr "Помилка під час спроби записати блок каталогу %b (@i %i): %m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
 msgstr "помилка під час спроби розмістити новий блок каталогу для @i %i (%s): %m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1600
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
 msgstr "Помилка під час спроби скасування розміщення @i %i: %m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1606
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
 msgstr "запис каталогу для «.» у %p (%i) є великим.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1611
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
 msgstr "@i %i (%Q) є некоректним FIFO.\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1616
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
 msgstr "@i %i (%Q) є некоректним сокетом.\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1621
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
 msgstr "Встановлюємо тип файла для @E у значення %N.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1626
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
 msgstr "@E належить до некоректного типу файлів (було %Dt, має бути %N).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1631
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
 msgstr "@E має установлений тип файла.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1636
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
 msgstr "@E має назву нульової довжини.\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1641
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
 msgstr "Символічне посилання %Q (@i #%i) є некоректним.\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1646
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
 msgstr "блок розширеного атрибута @F некоректним (%If).\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1651
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
 msgstr "файлова система містить великі файли, але не має прапорця LARGE_FILE у суперблоці.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1656
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
 msgstr "проблема у inode каталогу HTREE %d: немає посилання\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1661
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "проблема у inode каталогу HTREE %d: подвійне посилання на %B\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1666
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
 msgstr "проблема у @i каталогу HTREE %d: %B має помилкову мінімальну хеш-суму\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1671
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
 msgstr "проблема у @i каталогу HTREE %d: %B має помилкову максимальну хеш-суму\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1676
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
 msgstr "некоректний inode каталогу HTREE %d (%q).  "
 
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "@f містить великі каталоги, але не має визначеного прапорця LARGE_DIR у суперблоці.\n"
+
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1680
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
 msgstr "проблема у @i каталогу HTREE %d (%q): помилковий номер блоку %b.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1691
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
 msgstr "проблема у @i каталогу HTREE %d: кореневий вузол є некоректним\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1696
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
 msgstr "проблема у @i каталогу HTREE %d: %B має некоректне обмеження (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1701
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
 msgstr "проблема у @i каталогу HTREE %d: %B має некоректну кількість (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1706
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
 msgstr "проблема у @i каталогу HTREE %d: %B має невпорядковану таблицю хешів\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1711
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
 msgstr "проблема у @i каталогу HTREE %d: %B має некоректний рівень вкладеності (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1716
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
 msgstr "Виявлено дублікат запису.  "
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1721
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
@@ -2583,7 +2586,7 @@
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1726
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
@@ -2594,160 +2597,175 @@
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1731
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
 msgstr "i_blocks_hi @F %N, має бути нуль.\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1736
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
 msgstr "Неочікуваний блок у @i каталогу HTREE %d (%q).\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
 msgstr "@E посилається на @i %Di у групі %g, де встановлено _INODE_UNINIT.\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
 msgstr "@E посилається на @i %Di, який знайдено у області невикористаних @i групи %g.\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
 msgstr "i_file_acl_hi @F %N, має бути нуль.\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1757
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
 msgstr "проблема у @i каталогу HTREE %d: кореневий вузол не пройшов перевірки контрольною сумою\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1763
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
 msgstr "проблема у @i каталогу HTREE %d: внутрішній вузол не пройшов перевірки контрольною сумою\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1768
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
 msgstr "@i каталогу %i, %B, відступ %N: каталог не має контрольної суми.\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1773
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
 msgstr "@i %i каталогу, %B: каталог пройшов перевірку, але має невідповідну контрольну суму.\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1778
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
 msgstr "Розмір @i %i вбудованого каталогу (%N) має бути кратним до 4.\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "Спроба виправлення розміру @i %i вбудованого каталогу зазнала невдачі.\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1789
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
 msgstr "Зашифрований @E є надто коротким.\n"
 
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "Зашифрований @E посилається на незашифрований @i %Di.\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "Зашифрований @E посилається на @i %Di, для якого визначено інші правила шифрування.\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "@E містить некоректні символи UTF-8 у назві.\n"
+
 #. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1794
+#: e2fsck/problem.c:1831
 msgid "Duplicate filename @E found.  "
 msgstr "Виявлено дублювання назви файла — @E.  "
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1801
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
 msgstr "Прохід 3: перевіряємо можливість з’єднання каталогу\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
 msgstr "кореневий inode не розміщено.  "
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1811
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
 msgstr "Недостатньо місця для каталогу @l.  "
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1817
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "Нез’єднаний @i каталогу %i (%p)\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "Нез'єднаний @i %i (was in %q)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1822
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
 msgstr "/@l не знайдено.  "
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1827
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
 msgstr "«..» у %Q (%i) дорівнює %P (%j), має бути %q (%d).\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1833
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
 msgstr "Помилковий каталог /@l або каталогу не існує. Повторне приєднання неможливе.\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1839
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
 msgstr "Не вдалося розгорнути /@l: %m\n"
 
-#: e2fsck/problem.c:1845
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
 msgstr "Не вдалося повторно приєднати %i: %m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1851
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
 msgstr "Помилка під час спроби знайти /@l: %m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1857
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_@b: повідомлення %m під час спроби створити каталогу /@l\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1863
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
 msgstr "ext2fs_new_@i: повідомлення %m під час спроби створити каталогу /@l\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1869
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
 msgstr "ext2fs_new_dir_block: %m під час створення блоку каталогу\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1875
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
 msgstr "ext2fs_write_dir_block: %m під час запису блоку каталогу для /@l\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1881
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
 msgstr "Помилка під час спроби коригування кількості @i на @i %i\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1887
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
@@ -2758,7 +2776,7 @@
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2768,41 +2786,41 @@
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
 msgstr "Помилка під час створення кореневого каталогу (%s): %m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1910
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
 msgstr "Помилка під час створення каталогу /@l (%s): %m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1915
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
 msgstr "кореневий @i не є каталогом; перериваємо обробку.\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1920
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
 msgstr "Продовження обробки без кореневого @i неможливе.\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
 msgstr "/@l не є каталогом (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1936
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/@l містить вбудовані дані\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1941
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
@@ -2813,7 +2831,7 @@
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1946
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
@@ -2824,52 +2842,58 @@
 "\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1951
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/@l зашифровано\n"
 
-#: e2fsck/problem.c:1958
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "Рекурсивне зациклення @i каталогу %i (%p)\n"
+
+#: e2fsck/problem.c:2002
 msgid "Pass 3A: Optimizing directories\n"
 msgstr "Прохід 3A: оптимізуємо каталоги\n"
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
 msgstr "Не вдалося створити ітератор dirs_to_hash: %m\n"
 
-#: e2fsck/problem.c:1969
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
 msgstr "Не вдалося оптимізувати каталог %q (%d): %m\n"
 
-#: e2fsck/problem.c:1974
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
 msgstr "Оптимізуємо каталоги: "
 
-#: e2fsck/problem.c:1991
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
 msgstr "Прохід 4: перевіряємо кількості посилань\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
 msgstr "нез’єднаний @i нульової довжини %i.  "
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:2003
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
 msgstr "нез’єднаний @i %i\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:2008
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
 msgstr "кількість посилань @i %i дорівнює %Il, а має бути %N.  "
 
 #. @-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
-#: e2fsck/problem.c:2012
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2880,151 +2904,151 @@
 "@i_link_info[%i] дорівнює %N, а @i.i_links_count дорівнює %Il. Ці значення мають бути однаковими!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
 msgstr "кількість посилань @i %i дорівнює %N, а має бути %n. "
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:2024
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
 msgstr "@d містить забагато посилань, але у суперблоці немає можливості DIR_NLINK.\n"
 
 #. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
-#: e2fsck/problem.c:2029
+#: e2fsck/problem.c:2073
 msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
 msgstr "Для @i @dу %i лічильник посилань встановлено у значення переповнення, але він міг би бути точним значенням %N.  "
 
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2036
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
 msgstr "Прохід 5: перевіряємо інформацію резюме щодо груп\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
 msgstr "Не встановлено доповнення наприкінці бітової карти inode. "
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2046
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
 msgstr "Не встановлено доповнення наприкінці бітової карти блоків. "
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2051
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
 msgstr "відмінності у бітовій карті блоків: "
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
 msgstr "відмінності у бітовій карті @i: "
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2095
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Кількість вільних @i у групі %g є помилковою (%i, нараховано=%j).\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
 msgstr "Помилкова кількість каталогів для групи %g (%i, пораховано=%j).\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2105
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
 msgstr "Помилкова кількість @i (%i, обчислено=%j).\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2110
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
 msgstr "Помилкова кількість вільних блоків для групи %g (%b, нараховано=%c).\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2115
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
 msgstr "Помилкова кількість вільних блоків (%b, нараховано=%c).\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2120
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
 msgstr "ПОМИЛКА У КОДІ: кінцеві точки бітової картки файлової системи (%N) (%b, %c) не збігаються із обчисленими кінцевими точками бітової карти (%i, %j)\n"
 
-#: e2fsck/problem.c:2126
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
 msgstr "Внутрішня помилка: помилкове завершення бітової карти (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2132
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
 msgstr "Помилка під час копіювання замінника бітової карти @i: %m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2138
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "Помилка під час копіювання бітової карти блоків: %m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2168
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
 msgstr "блоки групи %g використовуються, але групу позначено як BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2174
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
 msgstr "inode групи %g використовуються, але групу позначено як INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2180
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
 msgstr "група %g, бітова карта @i не відповідає контрольній сумі.\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2186
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
 msgstr "група %g, бітова карта блоків не відповідає контрольній сумі.\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2193
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "Повторно створюємо журнал"
 
-#: e2fsck/problem.c:2198
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "Оновити дані щодо квоти для типу квоти %N"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2204
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
 msgstr "Помилка під час встановлення даних щодо контрольної суми групи блоків: %m\n"
 
-#: e2fsck/problem.c:2210
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "Помилка під час запису даних щодо файлової системи: %m\n"
 
-#: e2fsck/problem.c:2216
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
 msgstr "Помилка під час запису для витирання на пристрій зберігання даних: %m\n"
 
-#: e2fsck/problem.c:2221
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "Помилка під час спроби записати дані щодо квот для типу квоти %N: %m\n"
 
-#: e2fsck/problem.c:2384
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
 msgstr "Код непридатної до обробки помилки (0x%x)!\n"
 
-#: e2fsck/problem.c:2514 e2fsck/problem.c:2518
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "ПРОІГНОРОВАНО"
 
@@ -3042,6 +3066,10 @@
 msgid "size of inode=%d\n"
 msgstr "розмір inode=%d\n"
 
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "під час початкового сканування inode"
+
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
 msgstr "на початку сканування inode"
@@ -3060,15 +3088,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "під час виклику ext2fs_adjust_ea_refcount2 для inode %u"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "Обрізаємо"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "Чищення"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3079,7 +3107,7 @@
 "\t\t[-l|-L файл пошкоджених блоків] [-C fd] [-j зовнішній журнал]\n"
 "\t\t[-E додаткові параметри] [-z файл скасування дій] пристрій\n"
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3097,7 +3125,7 @@
 " -c                   знайти пошкоджені блоки і додати їх до списку\n"
 " -f                   примусова перевірка, навіть якщо систему позначено як непошкоджену\n"
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3115,12 +3143,12 @@
 " -L файл_пом_блоків   вказати список помилкових блоків\n"
 " -z файл_скас         створити файл скасування дій\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
 msgstr "%s: %u/%u файлів (%0d.%d%% розривних), %llu/%llu блоків\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3138,7 +3166,7 @@
 "\n"
 "Використано %12u inode (%2.2f%% з %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
@@ -3146,7 +3174,7 @@
 msgstr[1] "%12u розривних файла (%0d.%d%%)\n"
 msgstr[2] "%12u розривних файлів (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
@@ -3154,16 +3182,16 @@
 msgstr[1] "%12u розривних каталоги (%0d.%d%%)\n"
 msgstr[2] "%12u розривних каталогів (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
 msgstr "             К-ть inode з блоками ind/dind/tind: %u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
 msgstr "             Гістограма глибини розширення: "
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
@@ -3171,7 +3199,7 @@
 msgstr[1] "використано %12llu блоки (%2.2f%% з %llu)\n"
 msgstr[2] "використано %12llu блоків (%2.2f%% з %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
@@ -3179,7 +3207,7 @@
 msgstr[1] "%12u помилкові блоки\n"
 msgstr[2] "%12u помилкових блоків\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
@@ -3187,7 +3215,7 @@
 msgstr[1] "%12u великих файла\n"
 msgstr[2] "%12u великих файлів\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3205,7 +3233,7 @@
 "\n"
 "%12u звичайних файлів\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
@@ -3213,7 +3241,7 @@
 msgstr[1] "%12u каталоги\n"
 msgstr[2] "%12u каталогів\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
@@ -3221,7 +3249,7 @@
 msgstr[1] "%12u файли символьних пристроїв\n"
 msgstr[2] "%12u файлів символьних пристроїв\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
@@ -3229,7 +3257,7 @@
 msgstr[1] "%12u файли блокових пристроїв\n"
 msgstr[2] "%12u файлів блокових пристроїв\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
@@ -3237,7 +3265,7 @@
 msgstr[1] "%12u fifo\n"
 msgstr[2] "%12u fifo\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
@@ -3245,7 +3273,7 @@
 msgstr[1] "%12u посилання\n"
 msgstr[2] "%12u посилань\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
@@ -3253,7 +3281,7 @@
 msgstr[1] "%12u символічних посилання"
 msgstr[2] "%12u символічних посилань"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
@@ -3261,7 +3289,7 @@
 msgstr[1] " (%u швидких символічних посилання)\n"
 msgstr[2] " (%u швидких символічних посилань)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
@@ -3269,7 +3297,7 @@
 msgstr[1] "%12u сокети\n"
 msgstr[2] "%12u сокетів\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
@@ -3277,33 +3305,33 @@
 msgstr[1] "%12u файли\n"
 msgstr[2] "%12u файлів\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3072 misc/util.c:129
-#: resize/main.c:356
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
 msgstr "під час спроби визначити, чи змонтовано %s."
 
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:262
 #, c-format
 msgid "Warning!  %s is mounted.\n"
 msgstr "Увага! %s змонтовано.\n"
 
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:265
 #, c-format
 msgid "Warning!  %s is in use.\n"
 msgstr "Увага! %s використовується.\n"
 
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
 msgstr "%s змонтовано.\n"
 
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
 msgstr "%s використовується.\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
@@ -3311,7 +3339,7 @@
 "Продовження неможливе, перериваємо роботу.\n"
 "\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3325,85 +3353,85 @@
 "можливі ***ЗНАЧНІ*** ушкодження файлової системи.\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "Ви дійсно бажаєте продовжити"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "перевірку перервано.\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " містить файлову систему з помилками"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " не було демонтовано у штатному режимі"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
 msgstr " можливості основного суперблоку відрізняється від можливостей у резервній копії"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
 msgstr " змонтовано %u разів без перевірки"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " містить файлову систему, час останньої перевірки якої перебуває у майбутньому"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
 msgstr " пройшло %u днів без перевірки"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
 msgstr "ігноруємо інтервал перевірки, встановлено broken_system_clock\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ", примусова перевірка.\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
 msgstr "%s: без помилок, %u/%u файлів, %llu/%llu блоків"
 
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:466
 msgid " (check deferred; on battery)"
 msgstr " (перевірку відкладено, працюємо від акумулятора)"
 
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr " (перевірка після наступного монтування)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
 msgstr " (перевірка за %ld монтувань)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
 msgstr "ПОМИЛКА: не вдалося відкрити /dev/null (%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
 msgstr "Некоректна версія розширеного атрибута.\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "Некоректний розмір буфера випереджального читання.\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
 msgstr "Невідомий розширений параметр: %s\n"
 
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3416,15 +3444,15 @@
 "Коректні додаткові параметри:\n"
 "\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
 msgstr "\tea_ver=<ea_version (1 або 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
 msgstr "\treadahead_kb=<розмір буфера>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3433,55 +3461,65 @@
 "Синтаксична помилка у файлі налаштувань e2fsck (%s, рядок %d)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "Помилка під час спроби виконати перевірку дескриптора файла %d: %s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
 msgstr "Некоректний дескриптор файла даних для автоматичного доповнення"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "Можна використовувати лише один з набору параметрів -p/-a, -n та -y."
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
 msgstr "Підтримки параметра -t у цій версії e2fsck не передбачено.\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1721 misc/tune2fs.c:2016 misc/tune2fs.c:2034
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
 msgstr "Не вдалося виконати визначення «%s»"
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
 msgstr "Параметри -n і -D є взаємно несумісними."
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
 msgstr "Параметри -n і -c є взаємно несумісними."
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
 msgstr "Параметри -n і -l/-L є взаємно несумісними."
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
 msgstr "Параметри -D і -E fixes_only є несумісними."
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
 msgstr "Параметри -E bmap2extent і fixes_only є несумісними."
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "під час спроби відкриття %s для спорожнення"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "під час спроби спорожнення %s"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "Параметри -c і -l/-L не можна використовувати одночасно.\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
@@ -3490,7 +3528,7 @@
 "E2FSCK_JBD_DEBUG «%s» не є цілими числом\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3501,16 +3539,16 @@
 "Некоректний нечисловий аргумент параметра -%c (\"%s\")\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
 msgstr "Інтервал MMP дорівнює %u секунд, а загальний час очікування дорівнює %u секунд. Будь ласка, зачекайте...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "під час перевірки блоку MMP"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, c-format
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
@@ -3519,13 +3557,13 @@
 "Якщо ви впевнені, що файлова система не використовується жодним вузлом. Віддайте команду:\n"
 "«tune2fs -f -E clear_mmp %s»\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "під час читання блоку MMP"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2708 misc/mke2fs.c:2759 misc/tune2fs.c:2798
-#: misc/tune2fs.c:2843 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3536,57 +3574,57 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2748 misc/tune2fs.c:2832
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "під час спроби вилучити %s"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2774 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
 msgstr "під час спроби налаштовування файла даних для скасування дій\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
 msgstr "Помилка: застаріла версія бібліотеки ext2fs!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "під час спроби ініціалізувати програму"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\tВикористовуємо %s, %s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "для інтерактивного відновлення необхідний термінал"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
 msgstr "%s: %s, намагаємося створити резервні копії блоків...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "Некоректний суперблок,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "Ймовірно, дескриптори груп є помилковими…"
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
 msgstr "%s: %s під час використання блоків резервної копії"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
 msgstr "%s: повертаємося до початкового суперблоку\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
@@ -3596,28 +3634,28 @@
 "(або суперблок файлової системи пошкоджено)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "Можливо, це розділ з нульовою довжиною?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
 msgstr "Вам потрібен доступ %s до файлової системи або адміністративний доступ (root)\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr "Можливо, пристрою не існує або це пристрій резервної пам’яті (свопінгу)?\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "Файлову систему змонтовано або відкрито іншою програмою у режимі, що виключає доступ сторонніх програм?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "Можливо, пристрою не існує?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
@@ -3625,77 +3663,77 @@
 "Диск захищено від запису; скористайтеся параметром -n для\n"
 "виконання перевірки диска читанням.\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
 msgstr "%s: намагаємося завантажити суперблок, незважаючи на помилки...\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
 msgstr "Встановіть новішу версію e2fsck!"
 
-#: e2fsck/unix.c:1748
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "під час перевірки журналу %s"
 
-#: e2fsck/unix.c:1751
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
 msgstr "Продовження перевірки файлової системи неможливе"
 
-#: e2fsck/unix.c:1762
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
 msgstr "Попередження: не виконуємо відновлення журналу, оскільки перевірка виконується для файлової системи, доступ до якої здійснюється у режимі лише читання.\n"
 
-#: e2fsck/unix.c:1774
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
 msgstr "не вдалося встановити прапорці суперблоку на %s\n"
 
-#: e2fsck/unix.c:1780
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
 msgstr "Виявлено помилку контрольної суми у %s\n"
 
-#: e2fsck/unix.c:1784
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "У %s пошкоджено журнал\n"
 
-#: e2fsck/unix.c:1788
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "під час відновлення журналу %s"
 
-#: e2fsck/unix.c:1810
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s має непідтримувані можливості:"
 
-#: e2fsck/unix.c:1825
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s містить непідтримувані дані щодо кодування: %0x\n"
 
-#: e2fsck/unix.c:1875
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
 msgstr "%s: %s під час читання inode пошкоджених блоків\n"
 
-#: e2fsck/unix.c:1878
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "Прогнозуванню не піддається, але ми спробуємо щось зробити...\n"
 
-#: e2fsck/unix.c:1918
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "Створюємо журнал (%d блоків): "
 
-#: e2fsck/unix.c:1928
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr " Виконано.\n"
 
-#: e2fsck/unix.c:1930
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3703,24 +3741,24 @@
 "\n"
 "*** журнал було створено повторно ***\n"
 
-#: e2fsck/unix.c:1936
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "перервано"
 
-#: e2fsck/unix.c:1938
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
 msgstr "%s: обробку за допомогою e2fsck скасовано.\n"
 
-#: e2fsck/unix.c:1965
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
 msgstr "Перезапускаємо e2fsck з початку...\n"
 
-#: e2fsck/unix.c:1969
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "під час скидання контексту"
 
-#: e2fsck/unix.c:2028
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
@@ -3729,12 +3767,12 @@
 "\n"
 "%s: ***** ВИПРАВЛЕНО ПОМИЛКИ ФАЙЛОВОЇ СИСТЕМИ *****\n"
 
-#: e2fsck/unix.c:2030
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
 msgstr "%s: внесено зміни до файлової системи.\n"
 
-#: e2fsck/unix.c:2034 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
@@ -3743,12 +3781,12 @@
 "\n"
 "%s: ***** ДО ФАЙЛОВОЇ СИСТЕМИ БУЛО ВНЕСЕНО ЗМІНИ *****\n"
 
-#: e2fsck/unix.c:2039
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
 msgstr "%s: ***** ПЕРЕЗАВАНТАЖТЕ СИСТЕМУ *****\n"
 
-#: e2fsck/unix.c:2049 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3759,51 +3797,51 @@
 "%s: ********** ПОПЕРЕДЖЕННЯ: у файловій системі усе ще є помилки **********\n"
 "\n"
 
-#: e2fsck/util.c:195 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "yYтТ"
 
-#: e2fsck/util.c:196 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "nNнН"
 
-#: e2fsck/util.c:197
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "aAуУ"
 
-#: e2fsck/util.c:201
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
 msgstr " («a» вмикає «yes/так» для усіх) "
 
-#: e2fsck/util.c:218
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<y>"
 
-#: e2fsck/util.c:220
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:222
+#: e2fsck/util.c:218
 msgid " (y/n)"
 msgstr " (y/n або т/н)"
 
-#: e2fsck/util.c:245
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "скасовано.\n"
 
-#: e2fsck/util.c:278
+#: e2fsck/util.c:274
 msgid "yes to all\n"
 msgstr "«так» для усіх\n"
 
-#: e2fsck/util.c:280
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "так\n"
 
-#: e2fsck/util.c:282
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "ні\n"
 
-#: e2fsck/util.c:292
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
@@ -3812,7 +3850,7 @@
 "%s? ні\n"
 "\n"
 
-#: e2fsck/util.c:296
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
@@ -3821,38 +3859,38 @@
 "%s? так\n"
 "\n"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "yes"
 msgstr "так"
 
-#: e2fsck/util.c:300
+#: e2fsck/util.c:296
 msgid "no"
 msgstr "ні"
 
-#: e2fsck/util.c:316
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
 msgstr "e2fsck_read_bitmaps: некоректні блоки бітової карти для %s"
 
-#: e2fsck/util.c:321
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
 msgstr "читання бітових карт inode та блоків"
 
-#: e2fsck/util.c:333
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "під час повторення спроби читання бітових карт для %s"
 
-#: e2fsck/util.c:345
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
 msgstr "записуємо бітові карти блоків та inode"
 
-#: e2fsck/util.c:350
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
 msgstr "під час перезапису блоку та бітових карт inode для %s"
 
-#: e2fsck/util.c:362
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3865,37 +3903,37 @@
 "%s: НЕОЧІКУВАНА ВТРАТА ЦІЛІСНОСТІ; ЗАПУСТІТЬ fsck ВРУЧНУ.\n"
 "\t(тобто без параметрів -a та -p)\n"
 
-#: e2fsck/util.c:442
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
 msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
 msgstr "Використано пам'яті: %lluk з %lluk (%lluk з %lluk), "
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
 msgid "Memory used: %lluk, "
 msgstr "Використано пам'яті: %lluk, "
 
-#: e2fsck/util.c:454
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "час: %5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:459
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
 msgstr "витрачено часу: %6.3f\n"
 
-#: e2fsck/util.c:494 e2fsck/util.c:508
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
 msgstr "під час читання inode %lu у %s"
 
-#: e2fsck/util.c:522 e2fsck/util.c:535
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
 msgstr "під час запису inode %lu до %s"
 
-#: e2fsck/util.c:793
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
 msgstr "НЕОЧІКУВАНА ВТРАТА ЦІЛІСНОСТІ: під час виконання fsck до файлової системи було внесено зміни.\n"
 
@@ -4011,52 +4049,62 @@
 msgid "during test data write, block %lu"
 msgstr "під час тестового запису даних, блок %lu"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
 msgstr "%s змонтовано; "
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "Примусове виконання badblocks. Сподіваємося, що /etc/mtab містить помилки.\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
 msgstr "запускати badblocks небезпечно!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
 msgstr "%s, ймовірно, використовується системою; "
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
 msgstr "badblocks буде примусово додано попри це.\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
 msgstr "некоректний %s - %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
 msgstr "Завелика максимальна кількість пошкоджених блоків, %u — не може бути більшою за %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
 msgstr "не вдалося розмістити у пам’яті test_pattern - %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "У режим лише читання може бути вказано максимум одного test_pattern"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "Випадкове значення test_pattern у режимі лише читання"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "Некоректний розмір блоку: %d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "Некоректне значення blocks_at_once: %d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
@@ -4064,56 +4112,56 @@
 "Не вдалося визначити розмір пристрою; вам слід вказати\n"
 "розмір вручну\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "під час спроби визначення місткості пристрою"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
 msgstr "останній блок"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
 msgstr "перший блок"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
 msgstr "некоректний початковий блок (%llu): номер має бути меншим за %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
 msgstr "некоректний завершальний блок (%llu): має бути 32-бітове значення"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "під час спроби створення списку помилкових блоків у пам’яті"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "файл вхідних даних — помилковий формат"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "під час додавання до списку пошкоджених блоків у пам’яті"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
 msgstr "Прохід завершено, знайдено %u пошкоджених блоків. (%d/%d/%d помилок)\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
-msgstr "Користування: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v версія] файли...\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "Користування: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p проєкт] [-v версія] файли...\n"
 
-#: misc/chattr.c:161
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "помилковий проект - %s\n"
 
-#: misc/chattr.c:175
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "помилкова версія - %s\n"
@@ -4175,8 +4223,8 @@
 msgid "while reading inode %u"
 msgstr "під час читання inode %u"
 
-#: misc/create_inode.c:90 misc/create_inode.c:290 misc/create_inode.c:355
-#: misc/create_inode.c:393
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "під час розгортання каталогу"
 
@@ -4185,12 +4233,12 @@
 msgid "while linking \"%s\""
 msgstr "під час спроби компонування «%s»"
 
-#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:324
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "під час запису inode %u"
 
-#: misc/create_inode.c:154 misc/create_inode.c:178
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
 msgstr "під час створення списку атрибутів «%s»"
@@ -4200,129 +4248,134 @@
 msgid "while opening inode %u"
 msgstr "під час спроби відкрити inode %u"
 
-#: misc/create_inode.c:171 misc/create_inode.c:198 misc/create_inode.c:1045
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "під час читання xattr для inode %u"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "під час розміщення у пам’яті"
 
-#: misc/create_inode.c:191 misc/create_inode.c:207
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
 msgstr "під час читання атрибута «%s» «%s»"
 
-#: misc/create_inode.c:216
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
 msgstr "під час запису атрибута «%s» до inode %u"
 
-#: misc/create_inode.c:226
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "під час закриття inode %u"
 
-#: misc/create_inode.c:277
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
 msgstr "під час розміщення inode «%s»"
 
-#: misc/create_inode.c:296
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
 msgstr "під час спроби створення inode «%s»"
 
-#: misc/create_inode.c:362
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
 msgstr "під час спроби створення символічного посилання «%s»"
 
-#: misc/create_inode.c:380 misc/create_inode.c:965
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
 msgstr "під час пошуку «%s»"
 
-#: misc/create_inode.c:400
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
 msgstr "під час спроби створення каталогу «%s»"
 
-#: misc/create_inode.c:629
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
 msgstr "під час спроби відкриття «%s» для копіювання"
 
-#: misc/create_inode.c:807
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
 msgstr "під час спроби змінити робочий каталог на «%s»"
 
-#: misc/create_inode.c:817
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
 msgstr "під час сканування каталогу «%s»"
 
-#: misc/create_inode.c:827
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
 msgstr "під час спроби виконати lstat для «%s»"
 
-#: misc/create_inode.c:877
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
 msgstr "під час спроби створення спеціального файла «%s»"
 
-#: misc/create_inode.c:886
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "невдала спроба виконати malloc"
 
-#: misc/create_inode.c:894
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
 msgstr "під час спроби прочитати посилання «%s»"
 
-#: misc/create_inode.c:901
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
 msgstr "символічне посилання зросло у розмірі між lstat() і readlink()"
 
-#: misc/create_inode.c:912
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
 msgstr "під час спроби записати символічне посилання «%s»"
 
-#: misc/create_inode.c:923
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
 msgstr "під час спроби записати файл «%s»"
 
-#: misc/create_inode.c:936
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
 msgstr "під час спроби створення каталогу «%s»"
 
-#: misc/create_inode.c:954
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "під час спроби змінити каталог"
 
-#: misc/create_inode.c:960
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
 msgstr "ігноруємо запис «%s»"
 
-#: misc/create_inode.c:973
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
 msgstr "під час спроби встановлення inode для «%s»"
 
-#: misc/create_inode.c:980
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
 msgstr "під час спроби встановлення розширених атрибутів (xattr) для «%s»"
 
-#: misc/create_inode.c:1006
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "під час спроби зберегти дані inode"
 
-#: misc/create_inode.c:1056
+#: misc/create_inode.c:1077
 msgid "while copying xattrs on root directory"
 msgstr "під час копіювання x-атрибутів до кореневого каталогу"
 
@@ -4442,59 +4495,59 @@
 msgid "while printing bad block list"
 msgstr "під час виведення списку помилкових блоків"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "Помилкових блоків: %u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:375
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
 msgstr "під час читання inode журналу"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
 msgstr "під час спроби відкрити inode журналу"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "під час читання суперблоку журналу"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "Контрольна сума суперблоку журналу є некоректною!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:218
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "під час читання суперблоку журналу"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "Не вдалося знайти контрольні суми суперблоку журналу"
 
-#: misc/dumpe2fs.c:470
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
 msgstr "не вдалося розмістити буфер MMP у пам'яті\n"
 
-#: misc/dumpe2fs.c:481
+#: misc/dumpe2fs.c:488
 #, c-format
 msgid "reading MMP block %llu from '%s'\n"
 msgstr "читаємо блок MMP %llu з «%s»\n"
 
-#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2056
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
 msgstr "Не вдалося отримати область пам’яті для обробки параметрів!\n"
 
-#: misc/dumpe2fs.c:537
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "Некоректний параметр суперблоку: %s\n"
 
-#: misc/dumpe2fs.c:552
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "Некоректний параметр розміру блоку: %s\n"
 
-#: misc/dumpe2fs.c:563
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4517,27 +4570,27 @@
 "\tsuperblock=<номер суперблоку>\n"
 "\tblocksize=<розмір блоку>\n"
 
-#: misc/dumpe2fs.c:653 misc/mke2fs.c:1892
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\tВикористовуємо %s\n"
 
-#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2998
-#: resize/main.c:418
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "Не вдалося знайти коректний суперблок файлової системи.\n"
 
-#: misc/dumpe2fs.c:720
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: можливість MMP не увімкнено.\n"
 
-#: misc/dumpe2fs.c:751
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
 msgstr "під час спроби читання бітових карт для %s\n"
 
-#: misc/dumpe2fs.c:760
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
@@ -4545,193 +4598,197 @@
 "*** Запустіть e2fsck зараз!\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
 msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
 msgstr "Користування: %s [ -r|-Q ] [ -f ] [ -b суперблок ] [ -B розмір_блоку] пристрій файл-образу\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "       %s -I пристрій файл-образу\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
 msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
 msgstr "       %s -ra [ -cfnp ] [ -o відступ джерела ] [ -O відступ призначення ] ФС_джерела [ ФС_призначення ]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "під час розміщення буфера у пам’яті"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "Записуємо блок %llu\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
 msgstr "помилка під час спроби записати блок %llu"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "помилка у generic_write()"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
 msgstr "Помилка: розмір заголовка перевищує розмір_запису\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
 msgstr "Не вдалося розмістити буфер заголовка у пам’яті\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "під час спроби записати суперблок"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
 msgstr "під час спроби записати таблицю inode"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "під час запису бітової карти блоків"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
 msgstr "під час запису бітової карти inode"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
 msgstr "Пошкоджено блок каталогу %llu: помилкове значення rec_len (%d)\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
 msgstr "Пошкоджено блок каталогу %llu: помилкове значення name_len (%d)\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
 msgstr "%llu з %llu блоків (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "Копіюємо "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
 msgstr "Якщо зараз зупинити обробку, файлову систему буде зруйновано. Перервіть обробку ще раз, якщо це саме те, що потрібно.\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " %s тримається на швидкості %.2f МБ/с"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
 msgstr "помилка під час читання блоку %llu"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
 msgstr "Скопійовано %llu / %llu блоків (%d%%) у %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "на швидкості %.2f МБ/с"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
 msgstr "помилка під час спроби розмістити у пам’яті таблицю l1"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
 msgstr "під час розміщення кешу l2 у пам’яті"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 "Попередження: під час розміщення кешу у ньому залишилися таблиці. Неможливість розмістити ці таблиці призведе до втрати даних, отже образ може виявитися некоректним.\n"
 
-#: misc/e2image.c:1161
+#: misc/e2image.c:1168
 msgid "while allocating ext2_qcow2_image"
 msgstr "під час розміщення у пам’яті ext2_qcow2_image"
 
-#: misc/e2image.c:1168
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
 msgstr "під час спроби ініціалізувати ext2_qcow2_image"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
 msgstr "Помилка у коді: створено декілька послідовних блоків підрахунку посилань!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
 msgstr "під час розміщення у пам’яті бітової карти блоків"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
 msgstr "під час розміщення у пам’яті бітової карти шифрованих блоків"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
 msgstr "Скануємо inode...\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
 msgstr "Не вдалося отримати пам’ять під буфер блоків"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "під час отримання наступного inode"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
 msgstr "під час ітеративної обробки inode %u"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
 msgstr "Встановлення образів Raw і qcow2 неможливе"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "помилка під час читання бітових карт"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "під час спроби відкрити файл пристрою"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
 msgstr "під час спроби відновлення таблиці образу"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
 msgstr "Параметр -a можна використовувати лише для образів raw і QCOW2."
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
 msgstr "Параметр -b можна використовувати лише для образів raw і QCOW2."
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
 msgstr "Відступи можна використовувати лише для образів raw."
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
 msgstr "Режим пересування можна використовувати лише для образів raw."
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
 msgstr "Режим пересування потребує режиму всіх даних."
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "перевірка змонтованості"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4744,56 +4801,56 @@
 "на можливості його використання для діагностики помилок.\n"
 "Скористайтеся параметром -f, якщо цю дію слід виконати примусово.\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
 msgstr "Образ QCOW2 не можна записувати до стандартного виведення (stdout)!\n"
 
-#: misc/e2image.c:1663
+#: misc/e2image.c:1676
 msgid "Can not stat output\n"
 msgstr "Не вдалося обробити виведені дані\n"
 
-#: misc/e2image.c:1673
+#: misc/e2image.c:1686
 #, c-format
 msgid "Image (%s) is compressed\n"
 msgstr "Образ (%s) стиснуто\n"
 
-#: misc/e2image.c:1676
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
 msgstr "Образ (%s) зашифровано\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
 msgstr "Образ (%s) пошкоджено\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
 msgstr "під час спроби перетворення образу qcow2 (%s) у образ raw (%s)"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
 msgstr "Підтримку параметра -c передбачено лише у режимі raw\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "Підтримки записування до стандартного виведення з параметром -c не передбачено\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
 msgstr "під час спроби розмістити check_buf у пам’яті"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
 msgstr "Підтримку параметра -p передбачено лише у режимі raw\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d блоків вже містили дані, які слід було скопіювати\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
 msgstr "Користування: %s -r пристрій\n"
@@ -4818,7 +4875,7 @@
 msgid "e2label: not an ext2 filesystem\n"
 msgstr "e2label: не є файловою системою ext2\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3203
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
 msgstr "Попередження: надто довга мітка, обрізаємо.\n"
@@ -4833,7 +4890,7 @@
 msgid "e2label: error writing superblock\n"
 msgstr "e2label: помилка під час спроби записати суперблок\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1713
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
 msgstr "Користування: e2label пристрій [нова мітка]\n"
@@ -4843,151 +4900,151 @@
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
 msgstr "Користування: %s [-f] [-h] [-n] [-o offset] [-v] [-z файл скасовування дій] <файл транзакцій> <файлова система>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "Суперблок файлової системи не відповідає файлу скасування дій.\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "UUID є невідповідним.\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "Запис часу останнього монтування є невідповідним.\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "Час останнього запису є невідповідним.\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "Кількість записів протягом існування є невідповідною.\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
 msgstr "під час читання суперблоку файлової системи."
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "під час спроби отримати суперблок"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
 msgstr "Контрольна сума суперблоку у файлі скасування дій є невідповідною.\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
 msgstr "Некоректний відступ: %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
 msgstr "Запис до файла скасовування дій не вестиметься протягом його відтворення.\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
 msgstr "під час спроби відкрити файл скасування дій «%s»\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
 msgstr "під час спроби прочитати файл скасування дій"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
 msgstr "%s: не є файлом скасування дій.\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
 msgstr "%s: контрольна сума заголовка є невідповідною.\n"
 
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
 #, c-format
 msgid "%s: Corrupt undo file header.\n"
 msgstr "%s: заголовок файла скасування дій пошкоджено.\n"
 
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
 #, c-format
 msgid "%s: Undo block size too large.\n"
 msgstr "%s: розмір блоку після скасовування дії є надто великим.\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
 msgstr "%s: розмір блоку після скасовування дії є надто великим.\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
 msgstr "%s: невідомий набір можливостей у файлі скасування дій.\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "Помилка під час спроби визначення, чи змонтовано %s."
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo слід запускати лише на демонтованих файлових системах"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
 msgstr "під час спроби відкриття «%s»"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "вказаний відступ є надто великим"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "під час читання ключів"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
 msgstr "%s: помилкова контрольна сума ключа у %llu\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
 msgstr "%s: помилка у контрольній сумі ключового блоку на %llu.\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
 msgstr "%s: блок %llu є надто довгим."
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "під час спроби отримання блоку %llu."
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
 msgstr "помилка контрольної суми у блоці файлової системи %llu (скасовування блоку %llu)\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "під час спроби записати блок %llu."
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "Файл скасовування дій пошкоджено; запустіть e2fsck ЗАРАЗ ЖЕ!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
 msgstr "Помилка введення-виведення під час скасовування дій; запустіть e2fsck ЗАРАЗ ЖЕ!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "Неповний запис скасовування; запустіть e2fsck.\n"
@@ -5045,17 +5102,17 @@
 "\n"
 "%11Lu: завершено з номером помилки %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "ПОПЕРЕДЖЕННЯ: не вдалося відкрити %s: %s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
 msgstr "ПОПЕРЕДЖЕННЯ: помилкове форматування у рядку %d у %s\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
@@ -5067,37 +5124,37 @@
 "\tваш файл /etc/fstab якомога швидше.\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
 msgstr "fsck: %s: не знайдено\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
 msgstr "%s: очікування: не залишилося дочірніх процесів?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
 msgstr "Попередження... виконання %s для пристрою %s завершилося сигналом %d.\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
 msgstr "%s %s: стан — %x, такого не повинно було статися.\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
 msgstr "Завершено, %s (стан виходу %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
 msgstr "%s: помилка %d під час виконання fsck.%s для %s\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
@@ -5105,88 +5162,93 @@
 "Префікс «no» або «!» має бути передано або всім або жодному з типів файлових\n"
 "систем, переданих до -t.\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr "Не вдалося розмістити у пам’яті типи файлових систем\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
 msgstr "%s: пропускаємо помилковий рядок у /etc/fstab: монтування з прив’язуванням і ненульовою кількістю проходів fsck\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
 msgstr "fsck: не вдалося перевірити %s: на виявлено fsck.%s\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "Перевірка всіх файлових систем.\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
 msgstr "--очікування-- (прохід %d)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr "Користування: fsck [-AMNPRTV] [ -C [ дескриптор файла ] ] [-t тип ФС] [параметри ФС] [файлова система ...]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
 msgstr "%s: забагато пристроїв\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: занадто багато аргументів\n"
 
-#: misc/fuse2fs.c:3740
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "Монтуємо лише для читання.\n"
 
-#: misc/fuse2fs.c:3764
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
 msgstr "%s: дозволяємо користувачам розміщувати усі блоки. Це небезпечно!\n"
 
-#: misc/fuse2fs.c:3776 misc/fuse2fs.c:3790
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
 msgstr "%s: %s.\n"
 
-#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3098
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
 msgstr "Будь ласка, віддайте команду e2fsck -fy %s.\n"
 
-#: misc/fuse2fs.c:3799
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: змонтовано лише для читання без журналу відновлення\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
 msgstr "Журнал потребує відновлення; слід запустити «e2fsck -E journal_only».\n"
 
-#: misc/fuse2fs.c:3807
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
 msgstr "%s: підтримки запису до журналу не передбачено.\n"
 
-#: misc/fuse2fs.c:3822
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
 msgstr "Попередження: монтуємо неперевірену файлову систему, рекомендуємо запустити e2fsck.\n"
 
-#: misc/fuse2fs.c:3826
+#: misc/fuse2fs.c:3836
 msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
 msgstr "Попередження: досягнуто максимальної кількості монтувань, рекомендуємо запустити e2fsck.\n"
 
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3841
 msgid "Warning: Check time reached; running e2fsck is recommended.\n"
 msgstr "Попередження: прийшов час перевірки; рекомендуємо запустити e2fsck.\n"
 
-#: misc/fuse2fs.c:3835
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "Виявлено осиротілі блоки; рекомендуємо запустити e2fsck.\n"
 
-#: misc/fuse2fs.c:3839
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "Виявлено помилки; слід запустити e2fsck.\n"
 
@@ -5210,7 +5272,11 @@
 msgid "While reading version on %s"
 msgstr "Під час читання версії на %s"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "Не вдалося розмістити змінну шляху у lsattr_dir_proc\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5231,35 +5297,35 @@
 "\t[-t тип ФС] [-T тип використання] [-U UUID] [-e поведінка при помилках]\n"
 "\t[-z файла скасування дій] [-jnqvDFSV] пристрій [лічильник блоків]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "Виконання команди: %s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
 msgstr "під час спроби виконати «%s»"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
 msgstr "під час обробки списку помилкових блоків з програми"
 
-#: misc/mke2fs.c:299
+#: misc/mke2fs.c:301
 #, c-format
 msgid "Block %d in primary superblock/group descriptor area bad.\n"
 msgstr "Пошкоджено блок %d у основному дескрипторі суперблоку або групи.\n"
 
-#: misc/mke2fs.c:301
+#: misc/mke2fs.c:303
 #, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "Щоб побудувати файлову систему, блоки від %u до %u має бути не пошкоджено.\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
 msgstr "Перериваємо обробку...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5270,19 +5336,19 @@
 "\tмістять помилкові блоки.\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "під час спроби позначити пошкоджені блоки як використані"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "під час спроби запису зарезервованих inode-ів"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
 msgstr "Записуємо таблиці inode: "
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
@@ -5291,76 +5357,80 @@
 "\n"
 "Не вдалося записати %d блоків до таблиці inode, що починається з %llu: %s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2821 misc/mke2fs.c:3226
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "виконано                        \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "під час створення кореневого каталогу"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
 msgstr "під час читання кореневого inode"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
 msgstr "під час встановлення даних щодо власника кореневого inode"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
 msgstr "під час спроби створити /lost+found"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
 msgstr "під час пошуку /lost+found"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
 msgstr "під час розгортання /lost+found"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
 msgstr "під час встановлення inode помилкового блоку"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
 msgstr "Не визначає пам’яті для витирання секторів %d-%d\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "Попередження: не вдалося прочитати блок 0: %s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
 msgstr "Попередження: не вдалося витерти сектор %d: %s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "під час поділу розміру журналу"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "під час спроби ініціалізації суперблоку журналу"
 
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:632
 msgid "Zeroing journal device: "
 msgstr "Занулення пристрою журналу: "
 
-#: misc/mke2fs.c:632
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "під час занулення пристрою журналу (блок %llu, кількість %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "під час спроби записати суперблок журналу"
 
-#: misc/mke2fs.c:664
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
 msgstr "Створюємо файлову систему з %llu %dК блоками та %u inode\n"
 
-#: misc/mke2fs.c:672
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5369,164 +5439,164 @@
 "попередження: не використано %llu блоків.\n"
 "\n"
 
-#: misc/mke2fs.c:675
+#: misc/mke2fs.c:688
 #, c-format
 msgid "Filesystem label=%.*s\n"
 msgstr "Мітка файлової системи=%.*s\n"
 
-#: misc/mke2fs.c:679
+#: misc/mke2fs.c:692
 #, c-format
 msgid "OS type: %s\n"
 msgstr "Тип ОС: %s\n"
 
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:694
 #, c-format
 msgid "Block size=%u (log=%u)\n"
 msgstr "Розмір блоку=%u (журнал=%u)\n"
 
-#: misc/mke2fs.c:684
+#: misc/mke2fs.c:697
 #, c-format
 msgid "Cluster size=%u (log=%u)\n"
 msgstr "Розмір кластера=%u (журнал=%u)\n"
 
-#: misc/mke2fs.c:688
+#: misc/mke2fs.c:701
 #, c-format
 msgid "Fragment size=%u (log=%u)\n"
 msgstr "Розмір фрагмента=%u (журнал=%u)\n"
 
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:703
 #, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "Stride=%u блоків, Stripe width=%u блоків\n"
 
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
 msgstr "%u inode, %llu блоків\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
 msgstr "%llu блоків (%2.2f%%) зарезервовано для суперкористувача\n"
 
-#: misc/mke2fs.c:697
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "Перший блок даних=%u\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "Власник кореневого каталогу=%u:%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "Максимальна кількість блоків у файловій системі=%lu\n"
 
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u груп блоків\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u-блокова група\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr "%u блоків на групу, %u кластерів на групу\n"
 
-#: misc/mke2fs.c:712
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr "%u блоків на групу, %u фрагментів на групу\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
 msgstr "%u inode на групу\n"
 
-#: misc/mke2fs.c:723
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
 msgstr "UUID файлової системи: %s\n"
 
-#: misc/mke2fs.c:724
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
 msgstr "Резервні копії суперблоку зберігаються у таких блоках: "
 
-#: misc/mke2fs.c:820
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr "%s потребує '-O 64bit'\n"
 
-#: misc/mke2fs.c:826
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
 msgstr "«%s» має бути до «resize=%u»\n"
 
-#: misc/mke2fs.c:839
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
 msgstr "Некоректне значення desc_size: «%s»\n"
 
-#: misc/mke2fs.c:853
+#: misc/mke2fs.c:866
 #, c-format
 msgid "Invalid hash seed: %s\n"
 msgstr "Некоректний породжувач хешу: %s\n"
 
-#: misc/mke2fs.c:865
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
 msgstr "Некоректний відступ: %s\n"
 
-#: misc/mke2fs.c:879 misc/tune2fs.c:2084
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
 msgstr "Некоректний mmp_update_interval: %s\n"
 
-#: misc/mke2fs.c:896
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "Некоректна кількість резервних суперблоків: %s\n"
 
-#: misc/mke2fs.c:918
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "Некоректне значення параметра stride: %s\n"
 
-#: misc/mke2fs.c:933
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "Некоректне значення параметра stripe-width: %s\n"
 
-#: misc/mke2fs.c:956
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
 msgstr "Некоректний параметр зміни розмірів: %s\n"
 
-#: misc/mke2fs.c:963
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
 msgstr "Максимум зміни розміру має перевищувати розмір файлової системи.\n"
 
-#: misc/mke2fs.c:987
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
 msgstr "Підтримки інтерактивної зміни розмірів для файлових систем модифікації 0 не передбачено\n"
 
-#: misc/mke2fs.c:1013 misc/mke2fs.c:1022
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
 msgstr "Некоректне значення root_owner: «%s»\n"
 
-#: misc/mke2fs.c:1067
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "Некоректне кодування: %s"
 
-#: misc/mke2fs.c:1085
+#: misc/mke2fs.c:1098
 #, c-format
 msgid ""
 "\n"
@@ -5579,7 +5649,7 @@
 "\tquotatype=<увімкнені типи квот>\n"
 "\n"
 
-#: misc/mke2fs.c:1112
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5590,17 +5660,17 @@
 "Попередження: stripe-width RAID, %u, не є парним кратним stride, %u.\n"
 "\n"
 
-#: misc/mke2fs.c:1123 misc/tune2fs.c:2220
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
 msgstr "помилка: некоректний прапорець кодування: %s\n"
 
-#: misc/mke2fs.c:1129 misc/tune2fs.c:2229
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
 msgstr "помилка: якщо передаються прапорці кодування (encoding-flags), має бути явно вказано і кодування\n"
 
-#: misc/mke2fs.c:1177
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5609,17 +5679,17 @@
 "Синтаксична помилка у файлі налаштувань mke2fs (%s, рядок %d)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1190 misc/tune2fs.c:1072
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "Встановлено некоректний параметр файлової системи: %s\n"
 
-#: misc/mke2fs.c:1202 misc/tune2fs.c:419
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "Встановлено некоректний параметр монтування: %s\n"
 
-#: misc/mke2fs.c:1338
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
@@ -5628,7 +5698,7 @@
 "\n"
 "У вашому файлі mke2fs.conf не міститься типу файлової системи %s.\n"
 
-#: misc/mke2fs.c:1342
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
@@ -5636,11 +5706,11 @@
 "Ймовірно, вам слід встановити оновлений файл mke2fs.conf.\n"
 "\n"
 
-#: misc/mke2fs.c:1346
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
 msgstr "Перериваємо обробку...\n"
 
-#: misc/mke2fs.c:1387
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5651,79 +5721,79 @@
 "Попередження: fs_type для %s у mke2fs.conf не визначено\n"
 "\n"
 
-#: misc/mke2fs.c:1574
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
 msgstr "Не вдалося розмістити у пам’ять нову змінну PATH.\n"
 
-#: misc/mke2fs.c:1611
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "Не вдалося успішно ініціалізувати профіль (помилка: %ld).\n"
 
-#: misc/mke2fs.c:1644
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "некоректний розмір блоку - %s"
 
-#: misc/mke2fs.c:1648
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
 msgstr "Попередження: розмір блоку %d є непридатним для більшості систем.\n"
 
-#: misc/mke2fs.c:1664
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "некоректний розмір кластера - %s"
 
-#: misc/mke2fs.c:1677
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
 msgstr "«-R» є застарілим, вам варто скористатися «-E»"
 
-#: misc/mke2fs.c:1691 misc/tune2fs.c:1810
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "помилкова поведінка у відповідь на помилку: %s"
 
-#: misc/mke2fs.c:1703
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "Некоректна кількість блоків на групу"
 
-#: misc/mke2fs.c:1708
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
 msgstr "кількість блоків на групу має бути кратною 8"
 
-#: misc/mke2fs.c:1716
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
 msgstr "Некоректне число для розміру flex_bg"
 
-#: misc/mke2fs.c:1722
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
 msgstr "Розмір flex_bg має бути степенем 2"
 
-#: misc/mke2fs.c:1727
+#: misc/mke2fs.c:1744
 #, c-format
 msgid "flex_bg size (%lu) must be less than or equal to 2^31"
 msgstr "розмір flex_bg (%lu) має бути не більшим за 2^31"
 
-#: misc/mke2fs.c:1737
+#: misc/mke2fs.c:1754
 #, c-format
 msgid "invalid inode ratio %s (min %d/max %d)"
 msgstr "некоректне відношення inode %s (мін. %d/макс. %d)"
 
-#: misc/mke2fs.c:1747
+#: misc/mke2fs.c:1764
 #, c-format
 msgid "invalid inode size - %s"
 msgstr "некоректний розмір inode - %s"
 
-#: misc/mke2fs.c:1760
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
 msgstr "Попередження: параметр -K є застарілим, ним не варто більше користуватися. Вам варто користуватися параметром «-E nodiscard»!\n"
 
-#: misc/mke2fs.c:1771
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
 msgstr "у malloc для bad_blocks_filename"
 
-#: misc/mke2fs.c:1780
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
@@ -5732,67 +5802,77 @@
 "Попередження: надто довга мітка, обрізаємо до «%s».\n"
 "\n"
 
-#: misc/mke2fs.c:1789
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "некоректний відсоток зарезервованих блоків - %s"
 
-#: misc/mke2fs.c:1804
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
 msgstr "помилкова кількість inode - %s"
 
-#: misc/mke2fs.c:1817
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "під час розміщення у пам’яті рядка fs_feature"
 
-#: misc/mke2fs.c:1834
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "помилковий рівень модифікації - %s"
 
-#: misc/mke2fs.c:1839
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "під час створення модифікації %d"
 
-#: misc/mke2fs.c:1853
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "Параметр -t можна використовувати лише один раз"
 
-#: misc/mke2fs.c:1861
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "Параметр -T можна використовувати лише один раз"
 
-#: misc/mke2fs.c:1917 misc/mke2fs.c:3310
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "під час спроби відкрити пристрій журналу %s\n"
 
-#: misc/mke2fs.c:1923
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
 msgstr "Розмір блоку пристрою журналу (%d) є меншим за мінімальний розмір блоку %d\n"
 
-#: misc/mke2fs.c:1929
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
 msgstr "Використовуємо розмір блоку пристрою журналу: %d\n"
 
-#: misc/mke2fs.c:1940
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
 msgstr "некоректні блоки «%s» на пристрої «%s»"
 
-#: misc/mke2fs.c:1970
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "файлова система"
 
-#: misc/mke2fs.c:1988 resize/main.c:499
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "Файла %s не існує, а розмір не було вказано.\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "Створюємо звичайний файл %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "під час спроби визначити розмір файлової системи"
 
-#: misc/mke2fs.c:1994
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
@@ -5800,7 +5880,7 @@
 "Не вдалося визначити розмір пристрою; вам слід вказати\n"
 "розмір файлової системи\n"
 
-#: misc/mke2fs.c:2001
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5813,48 +5893,48 @@
 "\tкористуванні. Вам варто перезавантажити систему, щоб\n"
 "\tдані таблиці розділів було прочитано правильно.\n"
 
-#: misc/mke2fs.c:2018
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "Файлова система є більшою за видимий розмір пристрою."
 
-#: misc/mke2fs.c:2038
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "Не вдалося обробити список типів файлової системи\n"
 
-#: misc/mke2fs.c:2088
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
 msgstr "У HURD не передбачено підтримки можливості визначення типу файлів.\n"
 
-#: misc/mke2fs.c:2093
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
 msgstr "У HURD не передбачено підтримки можливості huge_file.\n"
 
-#: misc/mke2fs.c:2098
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
 msgstr "У HURD не передбачено підтримки можливості metadata_csum.\n"
 
-#: misc/mke2fs.c:2103
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "У HURD не передбачено підтримки можливості ea_inode.\n"
 
-#: misc/mke2fs.c:2113
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "під час спроби визначити апаратний розмір сектора"
 
-#: misc/mke2fs.c:2119
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "під час спроби визначити фізичний розмір сектора"
 
-#: misc/mke2fs.c:2151
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "під час встановлення розміру блоку; розмір є надто малим для пристрою\n"
 
-#: misc/mke2fs.c:2156
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
 msgstr "Попередження: вказаний розмір блоку, %d, є меншим за фізичний розмір сектора пристрою, %d\n"
 
-#: misc/mke2fs.c:2180
+#: misc/mke2fs.c:2206
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5863,7 +5943,7 @@
 "%s: розміри пристрою (0x%llx блоків) %s є надто великими для\n"
 "\tзапису їх у 32-бітовому форматі з розміром блоку %d.\n"
 
-#: misc/mke2fs.c:2194
+#: misc/mke2fs.c:2220
 #, c-format
 msgid ""
 "%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5872,85 +5952,85 @@
 "%s: розміри пристрою (0x%llx блоків) %s є надто великими для\n"
 "\tстворення файлової системи із розміром блоку %d.\n"
 
-#: misc/mke2fs.c:2216
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
 msgstr "fs_types для розв’язання mke2fs.conf: "
 
-#: misc/mke2fs.c:2223
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr "У файлових системах модифікації 0 можливості файлової системи не підтримуються\n"
 
-#: misc/mke2fs.c:2231
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
 msgstr "У файлових системах модифікації 0 підтримки розріджених суперблоків не передбачено\n"
 
-#: misc/mke2fs.c:2241
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
 msgstr "У файлових системах модифікації 0 підтримки журналів не передбачено\n"
 
-#: misc/mke2fs.c:2254
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "некоректний відсоток зарезервованих блоків - %lf"
 
-#: misc/mke2fs.c:2271
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
 msgstr "Для 64-бітової файлової системи слід увімкнути розширення. Передайте програмі -O extents, щоб виправити це.\n"
 
-#: misc/mke2fs.c:2291
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "Розмір кластера не може бути меншим за розмір блоку.\n"
 
-#: misc/mke2fs.c:2297
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
 msgstr "для визначення розміру кластера потрібна можливість bigalloc"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
 msgstr "попередження: не вдалося отримати параметри пристрою для %s\n"
 
-#: misc/mke2fs.c:2329
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "вирівнювання %s зсунуто на %lu байтів.\n"
 
-#: misc/mke2fs.c:2331
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
 msgstr "Це може призвести до значної втрати швидкодії. Вам варто виконати повторний розподіл пристрою на розділи.\n"
 
-#: misc/mke2fs.c:2337
+#: misc/mke2fs.c:2363
 #, 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 "%s має можливості DAX, але поточний розмір блоку %u відрізняється від розміру сторінки системи %u, тому файлова система не підтримуватиме DAX.\n"
 
-#: misc/mke2fs.c:2361
+#: misc/mke2fs.c:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
 msgstr "%d-байтові блоки є надто великими для системи (макс. - %d)"
 
-#: misc/mke2fs.c:2365
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
 msgstr "Попередження: %d-байтові блоки є надто великими для системи (макс. - %d), примусово продовжуємо роботу\n"
 
-#: misc/mke2fs.c:2373
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
 msgstr "Пропозиція: скористайтеся ядром Linux >= 3.18, щоб поліпшити стабільність роботи з метаданими та можливості з обчислення контрольних сум журналу.\n"
 
-#: misc/mke2fs.c:2419
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
 msgstr "Невідоме кодування назви файла у профілі: %s"
 
-#: misc/mke2fs.c:2430
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
 msgstr "Невідомі прапорці кодування у профілі: %s"
 
-#: misc/mke2fs.c:2455
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5965,16 +6045,16 @@
 "не збігатися із вашими очікуваннями.\n"
 "\n"
 
-#: misc/mke2fs.c:2470
+#: misc/mke2fs.c:2496
 #, c-format
 msgid "%d byte inodes are too small for project quota"
 msgstr "inode із %d байтів є надто малим для квот проектів"
 
-#: misc/mke2fs.c:2492
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
 msgstr "Підтримка можливості bigalloc неможлива без можливості extents"
 
-#: misc/mke2fs.c:2499
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -5982,51 +6062,54 @@
 "Можливості resize_inode і meta_bg є несумісними.\n"
 "Їх не можна вмикати одночасно.\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
 "\n"
-"Попередження: розробку і тестування можливості bigalloc ще не завершено\n"
-"Докладніша інформація: https://ext4.wiki.kernel.org/index.php/Bigalloc\n"
-"\n"
+"Попередження: файлові системи bigalloc із розміром кластера, що перевищує\n"
+"у 16 разів розмір блоку, вважаються експериментальними\n"
 
-#: misc/mke2fs.c:2519
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
 msgstr "у нерозріджених файлових системах підтримки інтерактивної зміни розмірів блоків не передбачено"
 
-#: misc/mke2fs.c:2528
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "кількість блоків на групу лежить за межами припустимого діапазону"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
 msgstr "Можливість flex_bg не увімкнено, отже, розмір flex_bg не можна вказувати"
 
-#: misc/mke2fs.c:2562
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
 msgstr "некоректний розмір inode %d (мін. %d/макс. %d)"
 
-#: misc/mke2fs.c:2577
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "inode із %d байтів є надто малим для вбудованих даних; вкажіть більший розмір"
 
-#: misc/mke2fs.c:2592
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "у 128-байтових inode неможлива обробка дат після 2038 року, вони вважаються застарілими\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
 msgstr "занадто багато inode (%llu), збільшити відношення inode?"
 
-#: misc/mke2fs.c:2599
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
 msgstr "занадто багато inode (%llu), вкажіть < 2^32 inode"
 
-#: misc/mke2fs.c:2613
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6037,65 +6120,69 @@
 "\tдля файлової системи з %llu блоків, вкажіть більше значення inode_ratio (-i)\n"
 "\tабо зменшіть кількість inode (-N).\n"
 
-#: misc/mke2fs.c:2800
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
 msgstr "Відкидаємо блоки пристрою: "
 
-#: misc/mke2fs.c:2816
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "помилка - "
 
-#: misc/mke2fs.c:2875
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "під час спроби ініціалізації контексту квоти"
 
-#: misc/mke2fs.c:2882
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "під час спроби запису inode-ів квоти"
 
-#: misc/mke2fs.c:2907
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "помилкова поведінка у відповідь на помилки у профілі — %s"
 
-#: misc/mke2fs.c:2983
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "у malloc для android_sparse_params"
 
-#: misc/mke2fs.c:2997
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
 msgstr "під час налаштовування суперблоку"
 
-#: misc/mke2fs.c:3013
+#: misc/mke2fs.c:3065
 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 "Розширення не увімкнено. Для ієрархії розширень файлів можна обчислювати контрольні суми, а для карт блоків — ні. Вимикання розширень зменшує покриття контрольних сум метаданих. Передайте параметр -O extents, щоб виправити.\n"
 
-#: misc/mke2fs.c:3020
+#: misc/mke2fs.c:3072
 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 "Не увімкнено підтримку 64-бітових файлових систем. Збільшення розміру полів, які надаються цією можливістю, уможливлює повноцінне обчислення контрольних сум. Передайте параметр -O 64bit, щоб виправити цю помилку.\n"
 
-#: misc/mke2fs.c:3028
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "Можливість metadata_csum_seed потребує можливості metadata_csum.\n"
 
-#: misc/mke2fs.c:3052
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
 msgstr "Успішно відкинуто, буде повернуто 0s - пропускаємо витирання таблиці inode\n"
 
-#: misc/mke2fs.c:3151
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
 msgstr "невідома ОС - %s"
 
-#: misc/mke2fs.c:3214
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
 msgstr "Розміщуємо таблиці груп: "
 
-#: misc/mke2fs.c:3222
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "під час спроби розмістити таблиці файлової системи"
 
-#: misc/mke2fs.c:3231
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "під час спроби зняти позначення помилкових блоків"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6103,30 +6190,34 @@
 "\n"
 "\tпід час перетворення бітової карти підкластера"
 
-#: misc/mke2fs.c:3237
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "під час обчислення додаткових витрат"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
 msgstr "%s може бути пошкоджено серйозніше перезаписом суперблоку\n"
 
-#: misc/mke2fs.c:3278
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "під час занулення блоку %llu наприкінці файлової системи"
 
-#: misc/mke2fs.c:3291
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
 msgstr "під час резервування блоків для інтерактивної зміни розміру"
 
-#: misc/mke2fs.c:3303 misc/tune2fs.c:1516
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "журнал"
 
-#: misc/mke2fs.c:3315
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
 msgstr "Додавання журналу на пристрої %s: "
 
-#: misc/mke2fs.c:3322
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
@@ -6135,21 +6226,21 @@
 "\n"
 "\tпід час спроби додавання журналу на пристрою %s"
 
-#: misc/mke2fs.c:3327 misc/mke2fs.c:3356 misc/mke2fs.c:3394
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1545 misc/tune2fs.c:1564
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "виконано\n"
 
-#: misc/mke2fs.c:3333
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "Пропускаємо створення журналу у лише-супер режимі\n"
 
-#: misc/mke2fs.c:3343
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
 msgstr "Створюємо журнал (%u блоків): "
 
-#: misc/mke2fs.c:3352
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6157,7 +6248,7 @@
 "\n"
 "\tпід час спроби створення журналу"
 
-#: misc/mke2fs.c:3364 misc/tune2fs.c:1137
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
@@ -6165,28 +6256,28 @@
 "\n"
 "Помилка під час вмикання можливості запобігання повторним монтуванням."
 
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
 msgstr "Увімкнено захист від повторного монтування з інтервалом оновлення у %d секунд.\n"
 
-#: misc/mke2fs.c:3385
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "Копіювання файлів на пристрій: "
 
-#: misc/mke2fs.c:3391
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
 msgstr "під час заповнення файлової системи"
 
-#: misc/mke2fs.c:3398
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
 msgstr "Записуємо дані щодо обліку суперблоків та файлової системи: "
 
-#: misc/mke2fs.c:3405
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "під час записування і закриття файлової системи"
 
-#: misc/mke2fs.c:3408
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6199,26 +6290,26 @@
 msgid "while zeroing block %llu for hugefile"
 msgstr "під час занулення блоку %llu для великого файла"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
 msgstr "Зміщення розділу у %llu (%uk) блоків є несумісним із розміром кластера, %u.\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "Великі файли буде перезаписано нулями\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "Створюємо %lu великих файлів "
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "із %llu блоками у кожному"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "під час спроби створення великого файла %lu"
@@ -6262,7 +6353,7 @@
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
 msgstr "%s: h=%3d s=%3d c=%4d   початок=%8d розмір=%8lu кінець=%8d\n"
 
-#: misc/tune2fs.c:120
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
@@ -6270,15 +6361,15 @@
 "\n"
 "Ця операція потребує щойно перевіреної файлової системи.\n"
 
-#: misc/tune2fs.c:122
+#: misc/tune2fs.c:123
 msgid "Please run e2fsck -f on the filesystem.\n"
 msgstr "Будь ласка, запустіть e2fsck -f для файлової системи.\n"
 
-#: misc/tune2fs.c:124
+#: misc/tune2fs.c:125
 msgid "Please run e2fsck -fD on the filesystem.\n"
 msgstr "Будь ласка, запустіть e2fsck -fD для файлової системи.\n"
 
-#: misc/tune2fs.c:137
+#: misc/tune2fs.c:138
 #, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6299,20 +6390,20 @@
 "\t[-E додатковий_параметр[,...]] [-T час_ост_перевірки] [-U UUID]\n"
 "\t[ -I новий_розмір_inode] [-z файл скасування дій] пристрій\n"
 
-#: misc/tune2fs.c:225
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "Суперблок журналу не виявлено!\n"
 
-#: misc/tune2fs.c:283
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "під час спроби відкрити зовнішній журнал"
 
-#: misc/tune2fs.c:289 misc/tune2fs.c:2889
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s не є журнальованим пристроєм.\n"
 
-#: misc/tune2fs.c:298 misc/tune2fs.c:2898
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
@@ -6321,11 +6412,11 @@
 "Суперблок журналу пошкоджено, значення nr_users\n"
 "є надто великим (%d).\n"
 
-#: misc/tune2fs.c:305 misc/tune2fs.c:2905
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
 msgstr "UUID файлової системи не знайдено на журнальованому пристрої.\n"
 
-#: misc/tune2fs.c:329
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
@@ -6333,52 +6424,52 @@
 "Не вдалося виявити журнальований пристрій. Його НЕ вилучено.\n"
 "Скористайтеся параметром -f для вилучення журнальованого пристрою.\n"
 
-#: misc/tune2fs.c:338
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "Журнал вилучено\n"
 
-#: misc/tune2fs.c:382
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "під час читання бітових карт"
 
-#: misc/tune2fs.c:390
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
 msgstr "під час спорожнення inode журналу"
 
-#: misc/tune2fs.c:401
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
 msgstr "під час запису inode журналу"
 
-#: misc/tune2fs.c:437 misc/tune2fs.c:462 misc/tune2fs.c:475
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
 msgstr "(і перезавантажте комп’ютер після цього!)\n"
 
-#: misc/tune2fs.c:490
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
 msgstr "Після запуску e2fsck, будь ласка, запустіть «resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
 msgstr "Будь ласка, віддайте команду «resize2fs %s %s"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:499
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
 msgstr "», щоб увімкнути 64-бітовий режим.\n"
 
-#: misc/tune2fs.c:501
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
 msgstr "», щоб вимкнути 64-бітовий режим.\n"
 
-#: misc/tune2fs.c:1039
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6386,17 +6477,17 @@
 "ПОПЕРЕДЖЕННЯ: не вдалося підтвердити підтримку metadata_csum_seed у ядрі.\n"
 "  Така підтримка потребує Linux >= v4.4.\n"
 
-#: misc/tune2fs.c:1075
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
 msgstr "Підтримки спорожнення можливості файлової системи «%s» не передбачено.\n"
 
-#: misc/tune2fs.c:1081
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
 msgstr "Підтримки встановлення можливості файлової системи «%s» не передбачено.\n"
 
-#: misc/tune2fs.c:1090
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6404,7 +6495,7 @@
 "Можливість has_journal можна знімати, лише якщо файлову систему\n"
 "демонтовано або змонтовано лише у режимі читання.\n"
 
-#: misc/tune2fs.c:1098
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
@@ -6412,7 +6503,7 @@
 "Встановлено прапорець needs_recovery. Будь ласка, запустіть e2fsck до\n"
 "зняття прапорця has_journal.\n"
 
-#: misc/tune2fs.c:1116
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
@@ -6420,7 +6511,7 @@
 "Для систем з увімкненою можливістю meta_bg встановлення можливості\n"
 "файлової системи sparse_super не передбачено.\n"
 
-#: misc/tune2fs.c:1129
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
@@ -6430,12 +6521,12 @@
 "не можна вмикати, якщо файлову систему змонтовано\n"
 "або вона перебуває у режимі лише читання.\n"
 
-#: misc/tune2fs.c:1147
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
 msgstr "Увімкнено захист від повторного монтування з інтервалом оновлення у %d секунд.\n"
 
-#: misc/tune2fs.c:1156
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
@@ -6443,20 +6534,28 @@
 "Можливість захисту від повторного монтування не можна\n"
 "вимкнути, якщо файлова система придатна лише для запису.\n"
 
-#: misc/tune2fs.c:1164
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "Помилка під час читання бітових карт\n"
 
-#: misc/tune2fs.c:1173
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
 msgstr "Контрольна сума у блоці MMP є невідповідною. Мало бути: %x, маємо: %x\n"
 
-#: misc/tune2fs.c:1178
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
 msgstr "під час читання блоку MMP."
 
-#: misc/tune2fs.c:1210
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "Вимикання покажчика каталогу у файлових системах із контрольними сумами потребуватиме певного часу."
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "Не можна вимикати dir_index для змонтованої файлової системи!\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
@@ -6464,7 +6563,7 @@
 "Зняття прапорця flex_bg може призвести до втрати цілісності\n"
 "файлової системи.\n"
 
-#: misc/tune2fs.c:1221
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
@@ -6472,54 +6571,54 @@
 "Можливість huge_file можна знімати, лише якщо файлову систему\n"
 "демонтовано або змонтовано лише у режимі читання.\n"
 
-#: misc/tune2fs.c:1232
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
 msgstr "Вмикання контрольних сум потребуватиме певного часу."
 
-#: misc/tune2fs.c:1235
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
 msgstr "Не можна вмикати metadata_csum для змонтованої файлової системи!\n"
 
-#: misc/tune2fs.c:1241
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
 msgstr "Розширення не увімкнено. Для ієрархії розширень файлів можна обчислювати контрольні суми, а для карт блоків — ні. Вимикання розширень зменшує покриття контрольних сум метаданих. Повторно запустіть із -O extent, щоб виправити.\n"
 
-#: misc/tune2fs.c:1248
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
 msgstr "Не увімкнено підтримку 64-бітових файлових систем. Збільшення розміру полів, які надаються цією можливістю, уможливлює повноцінне обчислення контрольних сум. Запустіть resize2fs -b, щоб виправити цю помилку.\n"
 
-#: misc/tune2fs.c:1274
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
 msgstr "Вимикання контрольних сум потребуватиме певного часу."
 
-#: misc/tune2fs.c:1277
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
 msgstr "Не можна вимикати metadata_csum для змонтованої файлової системи!\n"
 
-#: misc/tune2fs.c:1318
+#: misc/tune2fs.c:1372
 msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
 msgstr "Не можна вмикати uninit_bg для змонтованої файлової системи!\n"
 
-#: misc/tune2fs.c:1333
+#: misc/tune2fs.c:1387
 msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
 msgstr "Не можна вимикати uninit_bg для змонтованої файлової системи!\n"
 
-#: misc/tune2fs.c:1352
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "Не можна вмикати 64-бітовий режим, доки файлову систему змонтовано!\n"
 
-#: misc/tune2fs.c:1362
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "Не можна вимикати 64-бітовий режим, доки файлову систему змонтовано!\n"
 
-#: misc/tune2fs.c:1392
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
 msgstr "Не вдалося увімкнути можливість проекту; розмір inode є надто малим.\n"
 
-#: misc/tune2fs.c:1413
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6527,11 +6626,11 @@
 "\n"
 "Попередження: параметр «^quota» перевизначає аргументи «-Q».\n"
 
-#: misc/tune2fs.c:1430 misc/tune2fs.c:2182
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
 msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
 msgstr "Вмикати можливість приведення до нижнього регістру можна, лише якщо файлову систему демонтовано.\n"
 
-#: misc/tune2fs.c:1442
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
@@ -6539,7 +6638,7 @@
 "Встановлення можливості «metadata_csum_seed» передбачено лише\n"
 "для файлових систем із увімкненою можливістю metadata_csum.\n"
 
-#: misc/tune2fs.c:1460
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
@@ -6547,15 +6646,15 @@
 "З часу вмикання metadata_csum змінилося значення UUID. Файлову систему слід демонтувати, \n"
 "щоб безпечно перезаписати усі метадані, що відповідають новому UUID.\n"
 
-#: misc/tune2fs.c:1466
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
 msgstr "Повторне обчислення контрольних сум потребуватиме певного часу."
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "На файловій системі вже є журнал.\n"
 
-#: misc/tune2fs.c:1529
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6564,21 +6663,21 @@
 "\n"
 "\tпід час спроби відкрити журнал на %s\n"
 
-#: misc/tune2fs.c:1533
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
 msgstr "Створюємо журнал на пристрої %s: "
 
-#: misc/tune2fs.c:1541
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "під час додавання файлової системи до журналу на %s"
 
-#: misc/tune2fs.c:1547
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
 msgstr "Створюємо inode журналу: "
 
-#: misc/tune2fs.c:1561
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6586,31 +6685,31 @@
 "\n"
 "\tпід час спроби створення файла журналу"
 
-#: misc/tune2fs.c:1599
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
 msgstr "Не вдалося увімкнути квоту проекту; розмір inode є надто малим.\n"
 
-#: misc/tune2fs.c:1612
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
 msgstr "під час спроби ініціалізації контексту квоти у бібліотеці підтримки"
 
-#: misc/tune2fs.c:1627
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
 msgstr "під час оновлення обмежень квоти (%d)"
 
-#: misc/tune2fs.c:1637
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
 msgstr "під час записування файла квот (%d)"
 
-#: misc/tune2fs.c:1655
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
 msgstr "під час вилучення файла квот (%d)"
 
-#: misc/tune2fs.c:1698
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6632,65 +6731,65 @@
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1756
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "Не вдалося обробити специфікатор дати/часу: %s"
 
-#: misc/tune2fs.c:1781 misc/tune2fs.c:1794
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
 msgstr "помилкова кількість монтувань: %s"
 
-#: misc/tune2fs.c:1837
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
 msgstr "помилковий ідентифікатор або назва групи: %s"
 
-#: misc/tune2fs.c:1870
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "помилковий інтервал: %s"
 
-#: misc/tune2fs.c:1899
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "помилкова частка зарезервованих блоків: %s"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
 msgstr "-o можна вказувати лише один раз"
 
-#: misc/tune2fs.c:1923
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
 msgstr "-O можна вказувати лише один раз"
 
-#: misc/tune2fs.c:1940
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "помилкова кількість зарезервованих блоків: %s"
 
-#: misc/tune2fs.c:1969
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
 msgstr "помилковий ідентифікатор або ім’я користувача: %s"
 
-#: misc/tune2fs.c:1986
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
 msgstr "помилковий розмір inode: %s"
 
-#: misc/tune2fs.c:1993
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
 msgstr "Розмір inode має бути степенем двійки: %s"
 
-#: misc/tune2fs.c:2093
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
 msgstr "Надто велике значення mmp_update_interval: %lu\n"
 
-#: misc/tune2fs.c:2098
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
@@ -6698,52 +6797,52 @@
 msgstr[1] "Встановлення інтервалу оновлення захисту від повторного монтування у %lu секунди\n"
 msgstr[2] "Встановлення інтервалу оновлення захисту від повторного монтування у %lu секунд\n"
 
-#: misc/tune2fs.c:2107
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "Встановлюємо прапорець помилки файлової системи для примусового виконання fsck.\n"
 
-#: misc/tune2fs.c:2125
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
 msgstr "Некоректне значення stride RAID: %s\n"
 
-#: misc/tune2fs.c:2140
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
 msgstr "Некоректне значення stripe-width RAID: %s\n"
 
-#: misc/tune2fs.c:2155
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
 msgstr "Некоректний алгоритм хешування: «%s»\n"
 
-#: misc/tune2fs.c:2161
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
 msgstr "Встановлюємо типовий алгоритм хешування %s (%d)\n"
 
-#: misc/tune2fs.c:2188
+#: misc/tune2fs.c:2252
 #, c-format
 msgid "Cannot alter existing encoding\n"
 msgstr "Неможливо змінити наявне кодування\n"
 
-#: misc/tune2fs.c:2194
+#: misc/tune2fs.c:2258
 #, c-format
 msgid "Invalid encoding: %s\n"
 msgstr "Некоректне кодування: %s\n"
 
-#: misc/tune2fs.c:2200
+#: misc/tune2fs.c:2264
 #, c-format
 msgid "Setting encoding to '%s'\n"
 msgstr "Встановлюємо кодування «%s»\n"
 
-#: misc/tune2fs.c:2224
+#: misc/tune2fs.c:2288
 #, c-format
 msgid "Setting encoding_flags to '%s'\n"
 msgstr "Встановлюємо encoding_flags у значення «%s»\n"
 
-#: misc/tune2fs.c:2234
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6783,31 +6882,31 @@
 "\tencoding=<кодування>\n"
 "\tencoding_flags=<прапорці>\n"
 
-#: misc/tune2fs.c:2707
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
 msgstr "Не вдалося прочитати бітову карту inode\n"
 
-#: misc/tune2fs.c:2712
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "Не вдалося прочитати бітову карту блоків\n"
 
-#: misc/tune2fs.c:2729 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "блоки, які буде пересунуто"
 
-#: misc/tune2fs.c:2732
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
 msgstr "Не вдалося розмістити бітову карту блоків під час збільшення розмірів inode\n"
 
-#: misc/tune2fs.c:2738
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
 msgstr "Недостатньо простору для збільшення розміру inode\n"
 
-#: misc/tune2fs.c:2743
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
 msgstr "Не вдалося пересунути блоки під час зміни розмірів inode \n"
 
-#: misc/tune2fs.c:2775
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
@@ -6815,7 +6914,7 @@
 "Помилка під час зміни розмірів inode.\n"
 "Запустіть e2undo для скасування змін, внесених до файлової системи. \n"
 
-#: misc/tune2fs.c:2985
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
@@ -6823,7 +6922,7 @@
 "Якщо ви впевнені, що файлова система не використовується жодним вузлом. Віддайте команду:\n"
 "«tune2fs -f -E clear_mmp {пристрій}»\n"
 
-#: misc/tune2fs.c:2992
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
@@ -6832,29 +6931,29 @@
 "Контрольна сума блоку MMP вказує на пошкодженість. Спробуйте виправити це за допомогою команди:\n"
 "«e2fsck -f %s»\n"
 
-#: misc/tune2fs.c:3004
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "Не можна вносити зміни до пристрою журналювання.\n"
 
-#: misc/tune2fs.c:3017
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
 msgstr "Розміром inode уже є %lu\n"
 
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
 msgstr "Підтримки зменшення розмірів inode не передбачено\n"
 
-#: misc/tune2fs.c:3029
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
 msgstr "Некоректний розмір inode %lu (максимальним є %d)\n"
 
-#: misc/tune2fs.c:3035
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
 msgstr "Зміна розмірів inode-ів може бути доволі тривалою."
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6871,57 +6970,57 @@
 "а потім повторно віддати цю команду. Якщо ви цього не зробите, внесені нею зміни\n"
 "може бути перезаписано після відновлення журналу.\n"
 
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
 msgstr "Відновлюємо журнал.\n"
 
-#: misc/tune2fs.c:3114
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "Встановлюємо значення максимальної кількості монтувань %d\n"
 
-#: misc/tune2fs.c:3120
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "Встановлюємо поточну кількість монтувань у значення %d\n"
 
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "Встановлюємо режим поведінки у відповідь на помилку %d\n"
 
-#: misc/tune2fs.c:3130
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
 msgstr "Встановлюємо gid для зарезервованих блоків у значення %lu\n"
 
-#: misc/tune2fs.c:3135
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
 msgstr "інтервал між перевірками є надто великим (%lu)"
 
-#: misc/tune2fs.c:3142
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "Встановлюємо інтервал між перевірками у %lu секунд\n"
 
-#: misc/tune2fs.c:3149
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
 msgstr "Встановлюємо часту зарезервованих блоків %g%% (%llu блоків)\n"
 
-#: misc/tune2fs.c:3155
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
 msgstr "кількість зарезервованих блоків є надто великою (%llu)"
 
-#: misc/tune2fs.c:3162
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "Встановлюємо кількість зарезервованих блоків у %llu\n"
 
-#: misc/tune2fs.c:3167
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
@@ -6929,7 +7028,7 @@
 "\n"
 "Суперблоки файлової системи вже розріджено.\n"
 
-#: misc/tune2fs.c:3170
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
@@ -6939,7 +7038,7 @@
 "Для систем з увімкненою можливістю meta_bg встановлення\n"
 "прапорця розріджених суперблоків не передбачено.\n"
 
-#: misc/tune2fs.c:3180
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
@@ -6948,7 +7047,7 @@
 "\n"
 "Встановлено прапорець розрідження суперблоків. %s"
 
-#: misc/tune2fs.c:3185
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
@@ -6956,49 +7055,53 @@
 "\n"
 "Підтримки зняття прапорця розрідження суперблоків не передбачено.\n"
 
-#: misc/tune2fs.c:3193
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "Встановлюємо час останньої перевірки файлової системи у значення %s\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
 msgstr "Встановлюємо uid для зарезервованих блоків у значення %lu\n"
 
-#: misc/tune2fs.c:3231
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
 msgstr "Помилка у використанні clear_mmp. Слід використовувати з -f\n"
 
-#: misc/tune2fs.c:3249
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
 msgstr "Змінювати значення цієї можливості обмеження квоти можна, лише якщо файлову систему демонтовано.\n"
 
-#: misc/tune2fs.c:3269
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Неможливо змінити UUID цієї файлової системи, оскільки для неї визначено прапорець можливості stable_inodes.\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "Встановлення UUID на цій файловій системі може бути доволі тривалим."
 
-#: misc/tune2fs.c:3286
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
 msgstr "Змінювати UUID можна, лише якщо файлову систему демонтовано.\n"
 
-#: misc/tune2fs.c:3289
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
 msgstr "Якщо ви користуєтеся лише ядрами, новішими за версію 4.4, запустіть «tune2fs -O metadata_csum_seed», потім знову віддайте цю команду.\n"
 
-#: misc/tune2fs.c:3320
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "Некоректний формат UUID\n"
 
-#: misc/tune2fs.c:3336
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "Слід оновити суперблок журналу.\n"
 
-#: misc/tune2fs.c:3358
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
 msgstr "Змінювати розмір inode можна, лише якщо файлову систему демонтовано.\n"
 
-#: misc/tune2fs.c:3365
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
@@ -7006,61 +7109,61 @@
 "Підтримки зміни розмірів inode size для файлових систем з увімкненою можливістю flex_bg\n"
 "не передбачено.\n"
 
-#: misc/tune2fs.c:3383
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
 msgstr "Встановлюємо розмір inode у %lu\n"
 
-#: misc/tune2fs.c:3387
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
 msgstr "Не вдалося змінити розмір inode\n"
 
-#: misc/tune2fs.c:3401
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "Встановлюємо розмір stride %d\n"
 
-#: misc/tune2fs.c:3406
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "Встановлюємо ширину stripe %d\n"
 
-#: misc/tune2fs.c:3413
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
 msgstr "Встановлюємо для розширених типових параметрів монтування значення «%s»\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
 msgstr "<продовження>\n"
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
 msgstr "Продовжувати (чи зачекати %d секунд)? (y - так, N - ні) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
 msgstr "Продовжувати? (y - так, N - ні) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
 msgstr "Примусове виконання mke2fs. Сподіваємося, що /etc/mtab містить помилки.\n"
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
 msgstr "не створюватиме %s тут!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
 msgstr "Примусове виконання mke2fs.\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
 msgstr "Не вдалося отримати область пам’яті для обробки параметрів журналу!\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -7069,7 +7172,7 @@
 "\n"
 "Не вдалося знайти пристрій журналу, що відповідає вказаному %s\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7099,7 +7202,7 @@
 "Розмір журналу має належати діапазону від 1024 до 10240000 блоків файлової системи.\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7107,27 +7210,27 @@
 "\n"
 "Файлова система надто мала для журналювання\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"Розмір журналу, на який надійшов запит, дорівнює %d блокам;\n"
+"Загальний розмір журналу, на який надійшов запит, дорівнює %d блокам;\n"
 "розміри мають належати діапазону від 1024 до 10240000 блоків.\n"
 "Перериваємо обробку.\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"Розмір журналу є надто великим для файлової системи.\n"
+"Загальний розмір журналу є надто великим для файлової системи.\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
@@ -7272,11 +7375,11 @@
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "Користування: %s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
 msgstr "# Дамп розширення:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 msgstr "№\tНом=%llu, Розм=%llu, Курсор=%llu, Упорядк=%llu\n"
@@ -7332,17 +7435,17 @@
 "параметром примусового виконання, якщо хочете ризикнути.\n"
 "\n"
 
-#: resize/main.c:368
+#: resize/main.c:374
 #, c-format
 msgid "while opening %s"
 msgstr "під час спроби відкриття %s"
 
-#: resize/main.c:376
+#: resize/main.c:382
 #, c-format
 msgid "while getting stat information for %s"
 msgstr "під час отримання статистичних даних щодо %s"
 
-#: resize/main.c:453
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
@@ -7351,34 +7454,34 @@
 "Будь ласка, спочатку віддайте команду «e2fsck -f %s».\n"
 "\n"
 
-#: resize/main.c:472
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "Оцінка мінімального розміру файлової системи: %llu\n"
 
-#: resize/main.c:509
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
 msgstr "Некоректний новий розмір: %s\n"
 
-#: resize/main.c:528
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
 msgstr "Новий розмір є надто великим для представлення його у форматі 32-бітового числа\n"
 
-#: resize/main.c:541
+#: resize/main.c:560
 msgid "New size results in too many block group descriptors.\n"
 msgstr "Новий розмір призведе до надто великої кількості дескрипторів груп блоків.\n"
 
-#: resize/main.c:548
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
 msgstr "Новий розмір є меншим за мінімальний (%llu)\n"
 
-#: resize/main.c:554
+#: resize/main.c:574
 msgid "Invalid stride length"
 msgstr "Некоректна довжина stride"
 
-#: resize/main.c:578
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7389,27 +7492,27 @@
 "Вами надіслано запит щодо нового розміру у %llu блоків.\n"
 "\n"
 
-#: resize/main.c:585
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "Не можна встановлювати або скасовувати встановлення можливості 64-бітового режиму.\n"
 
-#: resize/main.c:589
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
 msgstr "Не можна змінювати значення увімкненості можливості 64bit на файловій системі, розмір якої перевищує 2^32 блоків.\n"
 
-#: resize/main.c:595
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "Не можна змінювати параметри можливості 64-бітового режиму, доки файлову систему змонтовано.\n"
 
-#: resize/main.c:601
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "Будь ласка, увімкніть можливість розширень (extents) у tune2fs до вмикання можливості 64-бітового режиму (64bit).\n"
 
-#: resize/main.c:607
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
@@ -7418,37 +7521,42 @@
 "Файлова система вже складається з %llu (%dК) блоків. Потреби у додаткових діях немає.\n"
 "\n"
 
-#: resize/main.c:614
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
 msgstr "Файлова система вже є 64-бітовою.\n"
 
-#: resize/main.c:619
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
 msgstr "Файлова система вже є 32-бітовою.\n"
 
-#: resize/main.c:627
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "Неможливо стиснути цю файлову систему, оскільки для неї визначено прапорець можливості stable_inodes.\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "Перетворюємо файлову систему на 64-бітову.\n"
 
-#: resize/main.c:629
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "Перетворюємо файлову систему на 32-бітову.\n"
 
-#: resize/main.c:631
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "Змінюємо розмір файлової системи на %s до %llu (%d тисяч) блоків.\n"
 
-#: resize/main.c:640
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
 msgstr "під час спроби змінити розмір %s"
 
-#: resize/main.c:643
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7457,7 +7565,7 @@
 "Будь ласка, віддайте команду «e2fsck -fy %s», щоб виправити\n"
 "файлову систему після переривання дії зі зміни розмірів.\n"
 
-#: resize/main.c:649
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7466,7 +7574,7 @@
 "У файловій системі %s тепер %llu (%dК) блоків.\n"
 "\n"
 
-#: resize/main.c:664
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "під час спроби обрізати %s"
@@ -7523,52 +7631,52 @@
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
 msgstr "Виконуємо інтерактивну зміну розмірів %s до %llu (%d тисяч) блоків.\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "Під час спроби розширення останньої групи"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "Під час спроби додати групу %d"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
 msgstr "Файлову систему у %s змонтовано до %s, підтримки інтерактивної зміни розмірів для цієї файлової системи не передбачено.\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
 msgstr "кількість inode (%llu) має бути меншою за %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "зарезервовані блоки"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "блоки метаданих"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "нові метаблоки"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
 msgstr "Такого не повинно було статися! Немає sb у last super_sparse bg?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
 msgstr "Такого не повинно було статися! Неочікуване old_desc у super_sparse bg?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
 msgstr "Такого не повинно було статися: inode зміни розмірів пошкоджено!\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.6"
-msgstr "Бібліотека EXT2FS версії 1.45.6"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "Бібліотека EXT2FS версії 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
@@ -8286,6 +8394,18 @@
 msgid "Group descriptors not loaded"
 msgstr "Дескриптори групи не завантажено"
 
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "Здається, внутрішню структуру даних ext2_filsys пошкоджено"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "Виявлено цикл у ієрархії розширення"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "Підтримки дії для зовнішнього журналу не передбачено"
+
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
 msgstr "Версія профілю 0.0"
@@ -8410,47 +8530,37 @@
 msgid "Bad magic value in profile_file_data_t"
 msgstr "Помилкове значення магічної суми у profile_file_data_t"
 
-#: lib/support/plausible.c:114
+#: lib/support/plausible.c:119
 #, c-format
 msgid "\tlast mounted on %.*s on %s"
 msgstr "\tвостаннє змонтовано %.*s, %s"
 
-#: lib/support/plausible.c:117
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\tвостаннє змонтовано %s"
 
-#: lib/support/plausible.c:120
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\tстворено %s"
 
-#: lib/support/plausible.c:123
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\tвостаннє змінено %s"
 
-#: lib/support/plausible.c:157
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
 msgstr "Знайдено таблицю розділів %s у %s\n"
 
-#: lib/support/plausible.c:187
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "Файла %s не існує, а розмір не було вказано.\n"
-
-#: lib/support/plausible.c:195
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "Створюємо звичайний файл %s\n"
-
-#: lib/support/plausible.c:198
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "Не вдалося відкрити %s: %s\n"
 
-#: lib/support/plausible.c:201
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
@@ -8458,27 +8568,47 @@
 "\n"
 "Ймовірно, пристрою не існує. Чи правильно ви його вказали?\n"
 
-#: lib/support/plausible.c:223
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
 msgstr "%s не є блоковим спеціальним пристроєм.\n"
 
-#: lib/support/plausible.c:245
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
 msgstr "%s містить файлову систему %s з міткою %s\n"
 
-#: lib/support/plausible.c:248
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
 msgstr "%s місить файлову систему %s\n"
 
-#: lib/support/plausible.c:272
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
 msgstr "%s містить дані «%s»\n"
 
 #~ msgid ""
+#~ "\n"
+#~ "Warning: the bigalloc feature is still under development\n"
+#~ "See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Попередження: розробку і тестування можливості bigalloc ще не завершено\n"
+#~ "Докладніша інформація: https://ext4.wiki.kernel.org/index.php/Bigalloc\n"
+#~ "\n"
+
+#~ msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+#~ msgstr "Використання: %s [-F] [-I inode_buffer_blocks] пристрій\n"
+
+#~ msgid "while trying to open '%s'"
+#~ msgstr "під час спроби відкрити «%s»"
+
+#~ msgid "%u inodes scanned.\n"
+#~ msgstr "Виконано сканування %u inode.\n"
+
+#~ msgid ""
 #~ "The encrypt and casefold features are not compatible.\n"
 #~ "They can not be both enabled simultaneously.\n"
 #~ msgstr ""
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 500e636..e7520fd 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 7278f47..a94612e 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -4,6 +4,7 @@
 # zwpwjwtz <zwpwjwtz@126.com>, 2015.
 # Mingye Wang (Arthur2e5) <arthur200126@gmail.com>, 2016.
 # Boyuan Yang <073plan@gmail.com>, 2019.
+# Wenbin Lv <wenbin816@gmail.com>, 2021-2022.
 #
 #. 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,
@@ -76,75 +77,75 @@
 #.
 msgid ""
 msgstr ""
-"Project-Id-Version: e2fsprogs-1.45.3\n"
+"Project-Id-Version: e2fsprogs 1.46.6-rc1\n"
 "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2019-07-14 20:56-0400\n"
-"PO-Revision-Date: 2019-12-24 10:56-0500\n"
-"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
+"POT-Creation-Date: 2022-09-12 08:19-0400\n"
+"PO-Revision-Date: 2022-09-13 15:53+0800\n"
+"Last-Translator: Wenbin Lv <wenbin816@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 2.2.4\n"
-"X-Poedit-Bookmarks: -1,591,-1,-1,-1,-1,-1,-1,-1,-1\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.1.1\n"
+"X-Poedit-Bookmarks: -1,591,-1,-1,-1,-1,-1,-1,-1,-1\n"
 
-#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
+#: e2fsck/badblocks.c:23 misc/mke2fs.c:221
 #, c-format
 msgid "Bad block %u out of range; ignored.\n"
 msgstr "坏块 %u 超出范围;已忽略。\n"
 
 #: e2fsck/badblocks.c:46
 msgid "while sanity checking the bad blocks inode"
-msgstr "进行坏块inode的健全性检查时"
+msgstr "进行坏块 inode 的健全性检查时"
 
 #: e2fsck/badblocks.c:58
 msgid "while reading the bad blocks inode"
-msgstr "读取坏块inode时"
+msgstr "读取坏块 inode 时"
 
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
-#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:688 misc/dumpe2fs.c:692 misc/e2image.c:1430
-#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2796 misc/tune2fs.c:2895 resize/main.c:414
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1592
+#: e2fsck/unix.c:1707 misc/badblocks.c:1266 misc/badblocks.c:1274
+#: misc/badblocks.c:1288 misc/badblocks.c:1300 misc/dumpe2fs.c:438
+#: misc/dumpe2fs.c:704 misc/dumpe2fs.c:708 misc/e2image.c:1440
+#: misc/e2image.c:1640 misc/e2image.c:1661 misc/mke2fs.c:237
+#: misc/tune2fs.c:2888 misc/tune2fs.c:2990 resize/main.c:422
 #, c-format
 msgid "while trying to open %s"
 msgstr "尝试打开 %s 时"
 
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
 #, c-format
 msgid "while trying popen '%s'"
-msgstr "尝试管道执行 %s 时"
+msgstr "尝试 popen \"%s\" 时"
 
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:243
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
 msgid "while reading in list of bad blocks from file"
-msgstr "从文件中读取坏块表时"
+msgstr "从文件中读取坏块列表时"
 
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
 msgid "while updating bad block inode"
-msgstr "更新坏块inode时"
+msgstr "更新坏块 inode 时"
 
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
 #, c-format
 msgid "Warning: illegal block %u found in bad block inode.  Cleared.\n"
-msgstr "警告:在坏块inode中发现非法的块%u。已清除。\n"
+msgstr "警告:在坏块 inode 中发现非法的块 %u 。已清除。\n"
 
-#: e2fsck/dirinfo.c:331
+#: e2fsck/dirinfo.c:332
 msgid "while freeing dir_info tdb file"
 msgstr "释放 dir_info tdb 文件时"
 
 #: e2fsck/ehandler.c:55
 #, c-format
 msgid "Error reading block %lu (%s) while %s.  "
-msgstr "%3$s 时读取块 %1$lu(%2$s)错误。  "
+msgstr "%3$s时读取块 %1$lu 出错(%2$s)。"
 
 #: e2fsck/ehandler.c:58
 #, c-format
 msgid "Error reading block %lu (%s).  "
-msgstr "读取块 %lu(%s)错误。  "
+msgstr "读取块 %lu 出错(%s)。"
 
 #: e2fsck/ehandler.c:66 e2fsck/ehandler.c:115
 msgid "Ignore error"
@@ -157,37 +158,37 @@
 #: e2fsck/ehandler.c:109
 #, c-format
 msgid "Error writing block %lu (%s) while %s.  "
-msgstr "%3$s 时写入块 %1$lu (%2$s)出错。  "
+msgstr "%3$s时写入块 %1$lu 出错(%2$s)。"
 
 #: e2fsck/ehandler.c:112
 #, c-format
 msgid "Error writing block %lu (%s).  "
-msgstr "写块 %lu(%s)出错。  "
+msgstr "写块 %lu 出错(%s)。"
 
-#: e2fsck/emptydir.c:57
+#: e2fsck/emptydir.c:56
 msgid "empty dirblocks"
 msgstr "空目录块"
 
-#: e2fsck/emptydir.c:62
+#: e2fsck/emptydir.c:61
 msgid "empty dir map"
-msgstr "空ACL映射"
+msgstr "空目录映射"
 
-#: e2fsck/emptydir.c:98
+#: e2fsck/emptydir.c:97
 #, c-format
 msgid "Empty directory block %u (#%d) in inode %u\n"
-msgstr "空目录块 %u(#%d)于 inode %u 中\n"
+msgstr "空目录块 %u (#%d) 于 inode %u 中\n"
 
 #: e2fsck/extend.c:22
 #, c-format
 msgid "%s: %s filename nblocks blocksize\n"
-msgstr "%s:%s  文件名  块数  块大小\n"
+msgstr "%s: %s 文件名 块数 块大小\n"
 
-#: e2fsck/extend.c:44
+#: e2fsck/extend.c:45
 #, c-format
 msgid "Illegal number of blocks!\n"
 msgstr "非法的块数量!\n"
 
-#: e2fsck/extend.c:50
+#: e2fsck/extend.c:51
 #, c-format
 msgid "Couldn't allocate block buffer (size=%d)\n"
 msgstr "无法为块缓存分配内存(大小=%d)\n"
@@ -199,71 +200,43 @@
 #: e2fsck/flushb.c:35
 #, c-format
 msgid "Usage: %s disk\n"
-msgstr "用法:%s  磁盘名\n"
+msgstr "用法:%s 磁盘名\n"
 
 #: e2fsck/flushb.c:64
 #, c-format
 msgid "BLKFLSBUF ioctl not supported!  Can't flush buffers.\n"
-msgstr "不支持对BLKFLSBUF进行 ioctl 调用!  无法刷新缓存。\n"
+msgstr "不支持对 BLKFLSBUF 进行 ioctl 调用!无法排空缓冲区。\n"
 
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr "用法:%s [-F] [-I inode缓冲块] 设备\n"
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1082
-#, c-format
-msgid "while opening %s for flushing"
-msgstr "打开并刷新 %s 时"
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:383
-#, c-format
-msgid "while trying to flush %s"
-msgstr "尝试刷新 %s 时"
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr "尝试打开 “%s” 时"
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr "进行inode扫描时"
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr "获取下一个inode时"
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr "已扫描 %u 个inode。\n"
-
-#: e2fsck/journal.c:597
+#: e2fsck/journal.c:1289
 msgid "reading journal superblock\n"
 msgstr "读取日志超级块\n"
 
-#: e2fsck/journal.c:670
+#: e2fsck/journal.c:1362
 #, c-format
 msgid "%s: no valid journal superblock found\n"
-msgstr "%s: 没有发现日志超级块\n"
+msgstr "%s: 没有发现日志超级块\n"
 
-#: e2fsck/journal.c:679
+#: e2fsck/journal.c:1371
 #, c-format
 msgid "%s: journal too short\n"
-msgstr "%s: 日志过短\n"
+msgstr "%s: 日志过短\n"
 
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3792
+#: e2fsck/journal.c:1384
+#, c-format
+msgid "%s: incorrect fast commit blocks\n"
+msgstr "%s: 错误的快速提交块\n"
+
+#: e2fsck/journal.c:1686 misc/fuse2fs.c:3797
 #, c-format
 msgid "%s: recovering journal\n"
-msgstr "%s:正在修复日志\n"
+msgstr "%s: 正在恢复日志\n"
 
-#: e2fsck/journal.c:974
+#: e2fsck/journal.c:1688
 #, c-format
 msgid "%s: won't do journal recovery while read-only\n"
-msgstr "%s:使用只读模式时不会进行日志修复\n"
+msgstr "%s: 使用只读模式时不会进行日志修复\n"
 
-#: e2fsck/journal.c:1001
+#: e2fsck/journal.c:1715
 #, c-format
 msgid "while trying to re-open %s"
 msgstr "尝试重新打开 %s 时"
@@ -298,7 +271,7 @@
 
 #: e2fsck/message.c:123
 msgid "Ddeleted"
-msgstr "D删除"
+msgstr "D已删除"
 
 #: e2fsck/message.c:124
 msgid "eentry"
@@ -306,7 +279,7 @@
 
 #: e2fsck/message.c:125
 msgid "E@e '%Dn' in %p (%i)"
-msgstr "E%p(%i)中的@e “%Dn”"
+msgstr "E位于 %p (%i) 的@e \"%Dn\""
 
 #: e2fsck/message.c:126
 msgid "ffilesystem"
@@ -314,7 +287,7 @@
 
 #: e2fsck/message.c:127
 msgid "Ffor @i %i (%Q) is"
-msgstr "F关于@i %i (%Q)为"
+msgstr "F关于 @i %i (%Q) 为"
 
 #: e2fsck/message.c:128
 msgid "ggroup"
@@ -322,7 +295,7 @@
 
 #: e2fsck/message.c:129
 msgid "hHTREE @d @i"
-msgstr "hHTREE@d@i"
+msgstr "hHTREE@d @i"
 
 #: e2fsck/message.c:130
 msgid "iinode"
@@ -358,7 +331,7 @@
 
 #: e2fsck/message.c:138
 msgid "pproblem in"
-msgstr "p问题出于"
+msgstr "p有问题的"
 
 #: e2fsck/message.c:139
 msgid "qquota"
@@ -366,7 +339,7 @@
 
 #: e2fsck/message.c:140
 msgid "rroot @i"
-msgstr "r根@i"
+msgstr "r根 @i"
 
 #: e2fsck/message.c:141
 msgid "sshould be"
@@ -394,7 +367,7 @@
 
 #: e2fsck/message.c:157
 msgid "<The NULL inode>"
-msgstr "<空的 inode>"
+msgstr "<NULL inode>"
 
 #: e2fsck/message.c:158
 msgid "<The bad blocks inode>"
@@ -402,15 +375,15 @@
 
 #: e2fsck/message.c:160
 msgid "<The user quota inode>"
-msgstr "<用户配额inode>"
+msgstr "<用户配额 inode>"
 
 #: e2fsck/message.c:161
 msgid "<The group quota inode>"
-msgstr "<组配额inode>"
+msgstr "<组配额 inode>"
 
 #: e2fsck/message.c:162
 msgid "<The boot loader inode>"
-msgstr "<启动器 inode>"
+msgstr "<引导加载器 inode>"
 
 #: e2fsck/message.c:163
 msgid "<The undelete directory inode>"
@@ -418,7 +391,7 @@
 
 #: e2fsck/message.c:164
 msgid "<The group descriptor inode>"
-msgstr "<组描述符inode>"
+msgstr "<组描述符 inode>"
 
 #: e2fsck/message.c:165
 msgid "<The journal inode>"
@@ -432,56 +405,56 @@
 msgid "<Reserved inode 10>"
 msgstr "<保留的 inode 10>"
 
-#: e2fsck/message.c:327
+#: e2fsck/message.c:325
 msgid "regular file"
 msgstr "一般文件"
 
-#: e2fsck/message.c:329
+#: e2fsck/message.c:327
 msgid "directory"
-msgstr "文件夹"
+msgstr "目录"
 
-#: e2fsck/message.c:331
+#: e2fsck/message.c:329
 msgid "character device"
 msgstr "字符设备"
 
-#: e2fsck/message.c:333
+#: e2fsck/message.c:331
 msgid "block device"
 msgstr "块设备"
 
-#: e2fsck/message.c:335
+#: e2fsck/message.c:333
 msgid "named pipe"
 msgstr "命名管道"
 
-#: e2fsck/message.c:337
+#: e2fsck/message.c:335
 msgid "symbolic link"
 msgstr "符号链接"
 
-#: e2fsck/message.c:339 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
 msgid "socket"
 msgstr "套接字"
 
-#: e2fsck/message.c:341
+#: e2fsck/message.c:339
 #, c-format
 msgid "unknown file type with mode 0%o"
 msgstr "模式为 0%o 的未知文件类型"
 
-#: e2fsck/message.c:412
+#: e2fsck/message.c:410
 msgid "indirect block"
-msgstr "链接块"
+msgstr "间接块"
+
+#: e2fsck/message.c:412
+msgid "double indirect block"
+msgstr "二次间接块"
 
 #: e2fsck/message.c:414
-msgid "double indirect block"
-msgstr "二次链接块"
+msgid "triple indirect block"
+msgstr "三次间接块"
 
 #: e2fsck/message.c:416
-msgid "triple indirect block"
-msgstr "三次链接块"
-
-#: e2fsck/message.c:418
 msgid "translator block"
 msgstr "翻译块"
 
-#: e2fsck/message.c:420
+#: e2fsck/message.c:418
 msgid "block #"
 msgstr "块 #"
 
@@ -495,129 +468,137 @@
 
 #: e2fsck/message.c:488
 msgid "project"
-msgstr ""
+msgstr "项目"
 
 #: e2fsck/message.c:491
 msgid "unknown quota type"
 msgstr "未知配额类型"
 
-#: e2fsck/pass1b.c:222
+#: e2fsck/pass1b.c:223
 msgid "multiply claimed inode map"
-msgstr "重叠块映射"
+msgstr "重复引用的 inode 映射"
 
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:826
+#: e2fsck/pass1b.c:673 e2fsck/pass1b.c:831
 #, c-format
 msgid "internal error: can't find dup_blk for %llu\n"
-msgstr "内部错误:无法找到 %llu 的dup_blk信息\n"
+msgstr "内部错误:无法找到 %llu 的 dup_blk 信息\n"
 
-#: e2fsck/pass1b.c:952
+#: e2fsck/pass1b.c:958
 msgid "returned from clone_file_block"
-msgstr "从clone_file_block返回"
+msgstr "从 clone_file_block 返回"
 
-#: e2fsck/pass1b.c:976
+#: e2fsck/pass1b.c:982
 #, c-format
 msgid "internal error: couldn't lookup EA block record for %llu"
-msgstr "内部错误:无法查找 %llu 的EA块记录"
+msgstr "内部错误:无法查找 %llu 的 EA 块记录"
 
-#: e2fsck/pass1b.c:988
+#: e2fsck/pass1b.c:995
 #, c-format
 msgid "internal error: couldn't lookup EA inode record for %u"
-msgstr "内部错误:无法查找 %u 的EA inode块记录"
+msgstr "内部错误:无法查找 %u 的 EA inode 块记录"
 
-#: e2fsck/pass1.c:357
+#: e2fsck/pass1.c:349
 #, c-format
 msgid "while hashing entry with e_value_inum = %u"
-msgstr ""
+msgstr "对 e_value_inum = %u 的项进行哈希时"
 
-#: e2fsck/pass1.c:775 e2fsck/pass2.c:1007
+#: e2fsck/pass1.c:770 e2fsck/pass2.c:1155
 msgid "reading directory block"
-msgstr "正在读取目录块"
+msgstr "读取目录块"
 
-#: e2fsck/pass1.c:1224
+#: e2fsck/pass1.c:1169
+msgid "getting next inode from scan"
+msgstr "从扫描中获取下一个 inode"
+
+#: e2fsck/pass1.c:1221
 msgid "in-use inode map"
-msgstr "使用中的inode映射"
+msgstr "使用中的 inode 映射"
 
-#: e2fsck/pass1.c:1235
+#: e2fsck/pass1.c:1232
 msgid "directory inode map"
-msgstr "目录inode映射"
+msgstr "目录 inode 映射"
 
-#: e2fsck/pass1.c:1245
+#: e2fsck/pass1.c:1242
 msgid "regular file inode map"
-msgstr "普通文件inode映射"
+msgstr "普通文件 inode 映射"
 
-#: e2fsck/pass1.c:1254 misc/e2image.c:1282
+#: e2fsck/pass1.c:1251 misc/e2image.c:1290
 msgid "in-use block map"
 msgstr "使用中的块映射"
 
-#: e2fsck/pass1.c:1263
+#: e2fsck/pass1.c:1260
 msgid "metadata block map"
 msgstr "元数据块映射"
 
-#: e2fsck/pass1.c:1325
+#: e2fsck/pass1.c:1271
+msgid "inode casefold map"
+msgstr "inode casefold 映射"
+
+#: e2fsck/pass1.c:1336
 msgid "opening inode scan"
-msgstr "开始 inode 扫描"
+msgstr "打开 inode 扫描"
 
-#: e2fsck/pass1.c:1363
-msgid "getting next inode from scan"
-msgstr "从扫描进度中获取下一个 inode"
-
-#: e2fsck/pass1.c:2067
+#: e2fsck/pass1.c:2104
 msgid "Pass 1"
-msgstr "第 1 步"
+msgstr "第 1 遍"
 
-#: e2fsck/pass1.c:2128
+#: e2fsck/pass1.c:2165
 #, c-format
 msgid "reading indirect blocks of inode %u"
-msgstr "读取inode为 %u 的链接块时"
+msgstr "读取 inode %u 的间接块"
 
-#: e2fsck/pass1.c:2179
+#: e2fsck/pass1.c:2216
 msgid "bad inode map"
-msgstr "坏块映射"
+msgstr "损坏的 inode 映射"
 
-#: e2fsck/pass1.c:2219
+#: e2fsck/pass1.c:2256
 msgid "inode in bad block map"
-msgstr "更新坏块映射时"
+msgstr "坏块映射中的 inode"
 
-#: e2fsck/pass1.c:2239
+#: e2fsck/pass1.c:2276
 msgid "imagic inode map"
-msgstr "inode的imagic映射"
+msgstr "imagic inode 映射"
 
-#: e2fsck/pass1.c:2270
+#: e2fsck/pass1.c:2307
 msgid "multiply claimed block map"
-msgstr "重叠块映射"
+msgstr "重复引用的块映射"
 
-#: e2fsck/pass1.c:2395
+#: e2fsck/pass1.c:2432
 msgid "ext attr block map"
 msgstr "扩展属性块映射"
 
-#: e2fsck/pass1.c:3640
+#: e2fsck/pass1.c:3729
 #, c-format
 msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
-msgstr "%6lu(%c):应为 %6lu 但实际为 %6lu (块 %lld)\n"
+msgstr "%6lu (%c): 应为 %6lu 但得到物理块 %6lu(块计数 %lld)\n"
 
-#: e2fsck/pass1.c:4060
+#: e2fsck/pass1.c:4150
 msgid "block bitmap"
 msgstr "块位图"
 
-#: e2fsck/pass1.c:4066
+#: e2fsck/pass1.c:4156
 msgid "inode bitmap"
 msgstr "inode 位图"
 
-#: e2fsck/pass1.c:4072
+#: e2fsck/pass1.c:4162
 msgid "inode table"
-msgstr "inode表"
+msgstr "inode 表"
 
-#: e2fsck/pass2.c:307
+#: e2fsck/pass2.c:318
 msgid "Pass 2"
-msgstr "第 2 步"
+msgstr "第 2 遍"
 
-#: e2fsck/pass2.c:1079 e2fsck/pass2.c:1246
+#: e2fsck/pass2.c:576
+msgid "NLS is broken."
+msgstr "NLS 已损坏。"
+
+#: e2fsck/pass2.c:1228 e2fsck/pass2.c:1414
 msgid "Can not continue."
 msgstr "无法继续。"
 
 #: e2fsck/pass3.c:77
 msgid "inode done bitmap"
-msgstr "已完成的inode位图"
+msgstr "已完成的 inode 位图"
 
 #: e2fsck/pass3.c:86
 msgid "Peak memory"
@@ -625,214 +606,222 @@
 
 #: e2fsck/pass3.c:149
 msgid "Pass 3"
-msgstr "第 3 步"
+msgstr "第 3 遍"
 
-#: e2fsck/pass3.c:344
+#: e2fsck/pass3.c:355
 msgid "inode loop detection bitmap"
-msgstr "循环inode检测位图"
+msgstr "inode 循环检测位图"
 
-#: e2fsck/pass4.c:277
+#: e2fsck/pass4.c:289
 msgid "Pass 4"
-msgstr "第 4 步"
+msgstr "第 4 遍"
 
 #: e2fsck/pass5.c:79
 msgid "Pass 5"
-msgstr "第 5 步"
+msgstr "第 5 遍"
 
 #: e2fsck/pass5.c:102
 msgid "check_inode_bitmap_checksum: Memory allocation error"
-msgstr "check_inode_bitmap_checksum:内存分配出错"
+msgstr "check_inode_bitmap_checksum: 内存分配出错"
 
 #: e2fsck/pass5.c:156
 msgid "check_block_bitmap_checksum: Memory allocation error"
-msgstr "check_block_bitmap_checksum:内存分配出错"
+msgstr "check_block_bitmap_checksum: 内存分配出错"
 
-#: e2fsck/problem.c:52
+#: e2fsck/problem.c:53
 msgid "(no prompt)"
 msgstr "(没有提示)"
 
-#: e2fsck/problem.c:53
-msgid "Fix"
-msgstr "处理"
-
 #: e2fsck/problem.c:54
+msgid "Fix"
+msgstr "修复"
+
+#: e2fsck/problem.c:55
 msgid "Clear"
 msgstr "清除"
 
-#: e2fsck/problem.c:55
+#: e2fsck/problem.c:56
 msgid "Relocate"
 msgstr "重定位"
 
-#: e2fsck/problem.c:56
+#: e2fsck/problem.c:57
 msgid "Allocate"
 msgstr "分配"
 
-#: e2fsck/problem.c:57
+#: e2fsck/problem.c:58
 msgid "Expand"
 msgstr "扩充"
 
-#: e2fsck/problem.c:58
+#: e2fsck/problem.c:59
 msgid "Connect to /lost+found"
 msgstr "连接到 /lost+found"
 
-#: e2fsck/problem.c:59
+#: e2fsck/problem.c:60
 msgid "Create"
 msgstr "创建"
 
-#: e2fsck/problem.c:60
-msgid "Salvage"
-msgstr "修复"
-
 #: e2fsck/problem.c:61
+msgid "Salvage"
+msgstr "抢救"
+
+#: e2fsck/problem.c:62
 msgid "Truncate"
 msgstr "截断"
 
-#: e2fsck/problem.c:62
-msgid "Clear inode"
-msgstr "清除inode"
-
 #: e2fsck/problem.c:63
-msgid "Abort"
-msgstr "中断"
+msgid "Clear inode"
+msgstr "清除 inode"
 
 #: e2fsck/problem.c:64
+msgid "Abort"
+msgstr "中止"
+
+#: e2fsck/problem.c:65
 msgid "Split"
 msgstr "分割"
 
-#: e2fsck/problem.c:65
+#: e2fsck/problem.c:66
 msgid "Continue"
 msgstr "继续"
 
-#: e2fsck/problem.c:66
-msgid "Clone multiply-claimed blocks"
-msgstr "克隆重叠块"
-
 #: e2fsck/problem.c:67
+msgid "Clone multiply-claimed blocks"
+msgstr "克隆重复引用的块"
+
+#: e2fsck/problem.c:68
 msgid "Delete file"
 msgstr "删除文件"
 
-#: e2fsck/problem.c:68
+#: e2fsck/problem.c:69
 msgid "Suppress messages"
 msgstr "不显示消息"
 
-#: e2fsck/problem.c:69
+#: e2fsck/problem.c:70
 msgid "Unlink"
 msgstr "解除链接"
 
-#: e2fsck/problem.c:70
-msgid "Clear HTree index"
-msgstr "清除HTree索引"
-
 #: e2fsck/problem.c:71
+msgid "Clear HTree index"
+msgstr "清除 HTree 索引"
+
+#: e2fsck/problem.c:72
 msgid "Recreate"
 msgstr "重建"
 
-#: e2fsck/problem.c:72
+#: e2fsck/problem.c:73
 msgid "Optimize"
 msgstr "优化"
 
-#: e2fsck/problem.c:81
+#: e2fsck/problem.c:74
+msgid "Clear flag"
+msgstr "清除标志"
+
+#: e2fsck/problem.c:83
 msgid "(NONE)"
 msgstr "(空)"
 
-#: e2fsck/problem.c:82
+#: e2fsck/problem.c:84
 msgid "FIXED"
-msgstr "已处理"
+msgstr "已修复"
 
-#: e2fsck/problem.c:83
+#: e2fsck/problem.c:85
 msgid "CLEARED"
 msgstr "已清除"
 
-#: e2fsck/problem.c:84
+#: e2fsck/problem.c:86
 msgid "RELOCATED"
 msgstr "已重定位"
 
-#: e2fsck/problem.c:85
+#: e2fsck/problem.c:87
 msgid "ALLOCATED"
 msgstr "已分配"
 
-#: e2fsck/problem.c:86
+#: e2fsck/problem.c:88
 msgid "EXPANDED"
 msgstr "已扩充"
 
-#: e2fsck/problem.c:87
+#: e2fsck/problem.c:89
 msgid "RECONNECTED"
 msgstr "已重新连接"
 
-#: e2fsck/problem.c:88
+#: e2fsck/problem.c:90
 msgid "CREATED"
 msgstr "已创建"
 
-#: e2fsck/problem.c:89
-msgid "SALVAGED"
-msgstr "已修复"
-
-#: e2fsck/problem.c:90
-msgid "TRUNCATED"
-msgstr "截断"
-
 #: e2fsck/problem.c:91
+msgid "SALVAGED"
+msgstr "已抢救"
+
+#: e2fsck/problem.c:92
+msgid "TRUNCATED"
+msgstr "已截断"
+
+#: e2fsck/problem.c:93
 msgid "INODE CLEARED"
 msgstr "INODE 已清除"
 
-#: e2fsck/problem.c:92
-msgid "ABORTED"
-msgstr "已中断"
-
-#: e2fsck/problem.c:93
-msgid "SPLIT"
-msgstr "分割"
-
 #: e2fsck/problem.c:94
-msgid "CONTINUING"
-msgstr "继续"
+msgid "ABORTED"
+msgstr "已中止"
 
 #: e2fsck/problem.c:95
-msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
-msgstr "重叠块已克隆"
+msgid "SPLIT"
+msgstr "已分割"
 
 #: e2fsck/problem.c:96
+msgid "CONTINUING"
+msgstr "正在继续"
+
+#: e2fsck/problem.c:97
+msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
+msgstr "重复引用的块已克隆"
+
+#: e2fsck/problem.c:98
 msgid "FILE DELETED"
 msgstr "文件已删除"
 
-#: e2fsck/problem.c:97
+#: e2fsck/problem.c:99
 msgid "SUPPRESSED"
-msgstr "禁止"
+msgstr "已禁止显示"
 
-#: e2fsck/problem.c:98
+#: e2fsck/problem.c:100
 msgid "UNLINKED"
 msgstr "已解除链接"
 
-#: e2fsck/problem.c:99
+#: e2fsck/problem.c:101
 msgid "HTREE INDEX CLEARED"
-msgstr "HTree索引已清除"
+msgstr "HTREE 索引已清除"
 
-#: e2fsck/problem.c:100
+#: e2fsck/problem.c:102
 msgid "WILL RECREATE"
 msgstr "将会重建"
 
-#: e2fsck/problem.c:101
+#: e2fsck/problem.c:103
 msgid "WILL OPTIMIZE"
 msgstr "将会优化"
 
+#: e2fsck/problem.c:104
+msgid "FLAG CLEARED"
+msgstr "标志已清除"
+
 #. @-expanded: block bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:115
+#: e2fsck/problem.c:118
 msgid "@b @B for @g %g is not in @g.  (@b %b)\n"
-msgstr "@g %g 的@b@B并不在 @g 中。(@b %b)\n"
+msgstr "@g %g 的@b@B并不在@g中。(@b %b)\n"
 
 #. @-expanded: inode bitmap for group %g is not in group.  (block %b)\n
-#: e2fsck/problem.c:119
+#: e2fsck/problem.c:122
 msgid "@i @B for @g %g is not in @g.  (@b %b)\n"
-msgstr "@g %g 的@i@B 并不在 @g 中。(@b %b)\n"
+msgstr "@g %g 的 @i @B并不在@g中。(@b %b)\n"
 
 #. @-expanded: inode table for group %g is not in group.  (block %b)\n
 #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
-#: e2fsck/problem.c:124
+#: e2fsck/problem.c:127
 msgid ""
 "@i table for @g %g is not in @g.  (@b %b)\n"
 "WARNING: SEVERE DATA LOSS POSSIBLE.\n"
 msgstr ""
-"@g %g 的@i表并不在 @g 中。(@b %b)\n"
+"@g %g 的 @i 表并不在@g中。(@b %b)\n"
 "警告:这可能导致严重的数据丢失。\n"
 
 #. @-expanded: \n
@@ -844,7 +833,7 @@
 #. @-expanded:  or\n
 #. @-expanded:     e2fsck -b 32768 <device>\n
 #. @-expanded: \n
-#: e2fsck/problem.c:130
+#: e2fsck/problem.c:133
 msgid ""
 "\n"
 "The @S could not be read or does not describe a valid ext2/ext3/ext4\n"
@@ -857,9 +846,9 @@
 "\n"
 msgstr ""
 "\n"
-"@S无法被读取,或它未能正确地描述一个有效的ext2/ext3/ext4@f。\n"
-"如果@v有效并确实为ext2/ext3/ext4@f (而非swap或ufs等格式),\n"
-"这说明@S已经损坏,你可能需要指定备选@S来运行e2fsck:\n"
+"@S无法被读取,或它未能正确地描述一个有效的 ext2/ext3/ext4 @f。\n"
+"如果@v有效并确实为 ext2/ext3/ext4 @f(而非 swap 或 ufs 等格式),\n"
+"这说明@S已经损坏,您可能需要指定备选@S来运行 e2fsck:\n"
 "    e2fsck -b 8193 <@v>\n"
 " 或\n"
 "    e2fsck -b 32768 <@v>\n"
@@ -868,50 +857,50 @@
 #. @-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
-#: e2fsck/problem.c:141
+#: e2fsck/problem.c:144
 msgid ""
 "The @f size (according to the @S) is %b @bs\n"
 "The physical size of the @v is %c @bs\n"
 "Either the @S or the partition table is likely to be corrupt!\n"
 msgstr ""
-"根据@S,@f的大小应为 %b @bs\n"
-"但@v的实际大小是 %c @bs\n"
+"根据@S,@f的大小应为 %b @b\n"
+"但@v的物理大小是 %c @b\n"
 "@S或分区表可能已经损坏!\n"
 
 #. @-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
-#: e2fsck/problem.c:148
+#: e2fsck/problem.c:151
 msgid ""
 "@S @b_size = %b, fragsize = %c.\n"
 "This version of e2fsck does not support fragment sizes different\n"
 "from the @b size.\n"
 msgstr ""
-"@S@b大小 = %b,碎片大小 = %c。\n"
-"此版本的e2fsck不允许碎片大小与\n"
+"@S @b大小 = %b,分块大小 = %c。\n"
+"此版本的 e2fsck 不允许分块大小与\n"
 "@b大小不同。\n"
 
 #. @-expanded: superblock blocks_per_group = %b, should have been %c\n
-#: e2fsck/problem.c:155
+#: e2fsck/problem.c:158
 msgid "@S @bs_per_group = %b, should have been %c\n"
-msgstr "每组的@S@b数 = %b,应当为 %c。\n"
+msgstr "@S 每组@b数 = %b,应当为 %c。\n"
 
 #. @-expanded: superblock first_data_block = %b, should have been %c\n
-#: e2fsck/problem.c:160
+#: e2fsck/problem.c:163
 msgid "@S first_data_@b = %b, should have been %c\n"
-msgstr "@S的第一个数据块 = %b,应当为 %c\n"
+msgstr "@S 第一个数据块 = %b,应当为 %c\n"
 
 #. @-expanded: filesystem did not have a UUID; generating one.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:165
+#: e2fsck/problem.c:168
 msgid ""
 "@f did not have a UUID; generating one.\n"
 "\n"
 msgstr ""
-"@f没有UUID;正在创建新的UUID。\n"
+"@f没有 UUID;正在创建新的 UUID。\n"
 "\n"
 
-#: e2fsck/problem.c:171
+#: e2fsck/problem.c:174
 #, no-c-format
 msgid ""
 "Note: if several inode or block bitmap blocks or part\n"
@@ -921,55 +910,56 @@
 "the backup block group descriptors may be OK.\n"
 "\n"
 msgstr ""
-"注意:如果有数个inode、块位图或inode表\n"
-"需要重定位,你可以用“-b %S”选项运行\n"
-"e2fsck。如果问题出在组描述符的主块,\n"
-"那么可以尝试它们的备份块。\n"
+"注意:如果有数个 inode、块位图块或 inode 表\n"
+"的一部分需要重定位,您可以先尝试\n"
+"用 \"-b %S\" 选项运行 e2fsck。有可能\n"
+"只有主块组描述符有问题,\n"
+"备份块组描述符可能是正常的。\n"
 "\n"
 
 #. @-expanded: Corruption found in superblock.  (%s = %N).\n
-#: e2fsck/problem.c:180
+#: e2fsck/problem.c:183
 msgid "Corruption found in @S.  (%s = %N).\n"
-msgstr "在@S中发现错误。(%s = %N)。\n"
+msgstr "在@S中发现损坏。(%s = %N)。\n"
 
 #. @-expanded: Error determining size of the physical device: %m\n
-#: e2fsck/problem.c:186
+#: e2fsck/problem.c:189
 #, no-c-format
 msgid "Error determining size of the physical @v: %m\n"
-msgstr "决定物理@v的大小出错 %m\n"
+msgstr "确定物理@v的大小时出错:%m\n"
 
 #. @-expanded: inode count in superblock is %i, should be %j.\n
-#: e2fsck/problem.c:191
+#: e2fsck/problem.c:194
 msgid "@i count in @S is %i, @s %j.\n"
-msgstr "@S中的@i个数为 %i,@s %j。\n"
+msgstr "@S中的 @i 计数为 %i,@s %j。\n"
 
-#: e2fsck/problem.c:195
+#: e2fsck/problem.c:198
 msgid "The Hurd does not support the filetype feature.\n"
-msgstr "Hurd内核不支持文件类型\n"
+msgstr "Hurd 不支持 filetype 特性。\n"
 
 #. @-expanded: superblock has an invalid journal (inode %i).\n
-#: e2fsck/problem.c:201
+#: e2fsck/problem.c:204
 #, no-c-format
 msgid "@S has an @n @j (@i %i).\n"
-msgstr "@S含有一个@n@j(@i %i)。\n"
+msgstr "@S含有一个@n@j (@i %i)。\n"
 
 #. @-expanded: External journal has multiple filesystem users (unsupported).\n
-#: e2fsck/problem.c:206
+#: e2fsck/problem.c:209
 msgid "External @j has multiple @f users (unsupported).\n"
 msgstr "外部@j含有多个@f用户(不支持此特性)。\n"
 
 #. @-expanded: Can't find external journal\n
-#: e2fsck/problem.c:211
+#: e2fsck/problem.c:214
 msgid "Can't find external @j\n"
 msgstr "无法找到外部@j\n"
 
 #. @-expanded: External journal has bad superblock\n
-#: e2fsck/problem.c:216
+#: e2fsck/problem.c:219
 msgid "External @j has bad @S\n"
-msgstr "外部@j有坏@S\n"
+msgstr "外部@j的@S已损坏\n"
 
 #. @-expanded: External journal does not support this filesystem\n
-#: e2fsck/problem.c:221
+#: e2fsck/problem.c:224
 msgid "External @j does not support this @f\n"
 msgstr "外部@j不支持此@f\n"
 
@@ -977,234 +967,233 @@
 #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal 
 #. @-expanded: format.\n
 #. @-expanded: It is also possible the journal superblock is corrupt.\n
-#: e2fsck/problem.c:226
+#: e2fsck/problem.c:229
 msgid ""
 "@f @j @S is unknown type %N (unsupported).\n"
 "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n"
 "It is also possible the @j @S is corrupt.\n"
 msgstr ""
-"@f@j@S为未知类型 %N(不支持此特性)。\n"
-"可能你的e2fsck版本太低,不支持这种@j的格式。\n"
+"@f@j@S为未知类型 %N(不支持此类型)。\n"
+"可能您的 e2fsck 版本太低且/或不支持这种@j格式。\n"
 "也有可能@j@S已经损坏。\n"
-"\n"
 
 #. @-expanded: journal superblock is corrupt.\n
-#: e2fsck/problem.c:235
+#: e2fsck/problem.c:238
 msgid "@j @S is corrupt.\n"
-msgstr "@j@S被损坏。\n"
+msgstr "@j@S已损坏。\n"
 
 #. @-expanded: superblock has_journal flag is clear, but a journal is present.\n
-#: e2fsck/problem.c:240
+#: e2fsck/problem.c:243
 msgid "@S has_@j flag is clear, but a @j is present.\n"
-msgstr "@S不具有has_journal标志,但发现了@j。\n"
+msgstr "@S不具有 has_journal 标志,但发现了@j。\n"
 
 #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n
-#: e2fsck/problem.c:245
+#: e2fsck/problem.c:248
 msgid "@S needs_recovery flag is set, but no @j is present.\n"
-msgstr "@S被设置了needs_recovery标志,但找不到相应的@j。\n"
+msgstr "@S被设置了 needs_recovery 标志,但找不到@j。\n"
 
 #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n
-#: e2fsck/problem.c:250
+#: e2fsck/problem.c:253
 msgid "@S needs_recovery flag is clear, but @j has data.\n"
-msgstr "@S不具有的恢复标志,然而在@j中找到了恢复数据。\n"
+msgstr "@S不具有 needs_recovery 标志,但@j中有数据。\n"
 
 #. @-expanded: Clear journal
-#: e2fsck/problem.c:255
+#: e2fsck/problem.c:258
 msgid "Clear @j"
 msgstr "清除@j"
 
 #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem.  
-#: e2fsck/problem.c:260 e2fsck/problem.c:796
+#: e2fsck/problem.c:263 e2fsck/problem.c:799
 msgid "@f has feature flag(s) set, but is a revision 0 @f.  "
-msgstr "@f被设置了特性标志,但特性版本号为0。  "
+msgstr "@f被设置了特性标志,但@f版本为 0。"
 
 #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n
-#: e2fsck/problem.c:265
+#: e2fsck/problem.c:268
 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
-msgstr "@s@o@i %i(uid=%lu,gid=%lg,mode=%lm,size=%ls)\n"
+msgstr "%s@o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
 
 #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:270
+#: e2fsck/problem.c:273
 msgid "@I %B (%b) found in @o @i %i.\n"
-msgstr "@o@i %i 中发现 @I %B(%b)。\n"
+msgstr "@o @i %i 中发现@I%B (%b)。\n"
 
 #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:275
+#: e2fsck/problem.c:278
 msgid "Already cleared %B (%b) found in @o @i %i.\n"
-msgstr "@o@i %i 中发现已清除的 %B(%b)。\n"
+msgstr "@o @i %i 中发现已清除的%B (%b)。\n"
 
 #. @-expanded: illegal orphaned inode %i in superblock.\n
-#: e2fsck/problem.c:281
+#: e2fsck/problem.c:284
 #, no-c-format
 msgid "@I @o @i %i in @S.\n"
-msgstr "@S中有@I@o@i %i。\n"
+msgstr "@S中有@I@o @i %i。\n"
 
 #. @-expanded: illegal inode %i in orphaned inode list.\n
-#: e2fsck/problem.c:287
+#: e2fsck/problem.c:290
 #, no-c-format
 msgid "@I @i %i in @o @i list.\n"
-msgstr "@o@i中发现@I@i %i。\n"
+msgstr "@o @i 列表中发现@I @i %i。\n"
 
 #. @-expanded: journal superblock has an unknown read-only feature flag set.\n
-#: e2fsck/problem.c:292
+#: e2fsck/problem.c:295
 msgid "@j @S has an unknown read-only feature flag set.\n"
-msgstr "@j@S被设置了未知的只读属性标签。\n"
+msgstr "@j@S被设置了未知的只读特性标志。\n"
 
 #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n
-#: e2fsck/problem.c:297
+#: e2fsck/problem.c:300
 msgid "@j @S has an unknown incompatible feature flag set.\n"
-msgstr "@j@S被设置了未知的不兼容属性标签。\n"
+msgstr "@j@S被设置了未知的不兼容特性标志。\n"
 
 #. @-expanded: journal version not supported by this e2fsck.\n
-#: e2fsck/problem.c:302
+#: e2fsck/problem.c:305
 msgid "@j version not supported by this e2fsck.\n"
-msgstr "e2fsck不支持此@j版本。\n"
+msgstr "此 e2fsck 不支持此@j版本。\n"
 
 #. @-expanded: Moving journal from /%s to hidden inode.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:308
+#: e2fsck/problem.c:311
 #, no-c-format
 msgid ""
 "Moving @j from /%s to hidden @i.\n"
 "\n"
 msgstr ""
-"将@j从 /%s 移动到隐藏的@i。\n"
+"将@j从 /%s 移动到隐藏的 @i。\n"
 "\n"
 
 #. @-expanded: Error moving journal: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:314
+#: e2fsck/problem.c:317
 #, no-c-format
 msgid ""
 "Error moving @j: %m\n"
 "\n"
 msgstr ""
-"移动@j出错:%m\n"
+"移动@j时出错:%m\n"
 "\n"
 
 #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n
 #. @-expanded: Clearing fields beyond the V1 journal superblock...\n
 #. @-expanded: \n
-#: e2fsck/problem.c:319
+#: e2fsck/problem.c:322
 msgid ""
 "Found @n V2 @j @S fields (from V1 @j).\n"
 "Clearing fields beyond the V1 @j @S...\n"
 "\n"
 msgstr ""
-"在V1@j中发现@nV2@j@S区域。\n"
-"正在清除V1@j@S以外的区域...\n"
+"在 V1 @j中发现@n V2 @j@S区域。\n"
+"正在清除 V1 @j@S以外的区域...\n"
 "\n"
 
 #. @-expanded: Run journal anyway
-#: e2fsck/problem.c:325
+#: e2fsck/problem.c:328
 msgid "Run @j anyway"
-msgstr "强制@j"
+msgstr "仍然运行@j"
 
 #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n
-#: e2fsck/problem.c:330
+#: e2fsck/problem.c:333
 msgid "Recovery flag not set in backup @S, so running @j anyway.\n"
-msgstr "备份@S中未设置恢复标志,继续处理日志。\n"
+msgstr "备份@S中未设置恢复标志,所以仍然运行日志。\n"
 
 #. @-expanded: Backing up journal inode block information.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:335
+#: e2fsck/problem.c:338
 msgid ""
 "Backing up @j @i @b information.\n"
 "\n"
 msgstr ""
-"正在备份@j@i@b的信息。\n"
+"正在备份@j @i @b的信息。\n"
 "\n"
 
 #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n
 #. @-expanded: is %N; should be zero.  
-#: e2fsck/problem.c:341
+#: e2fsck/problem.c:344
 msgid ""
 "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n"
 "is %N; @s zero.  "
 msgstr ""
-"@f不支持更改@i大小,故s_reserved_gdt_blocks应为0\n"
-"(但实际为%N)。  "
+"@f未启用 resize_inode,但 s_reserved_gdt_blocks\n"
+"为 %N;@s 0。"
 
 #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero.  
-#: e2fsck/problem.c:347
+#: e2fsck/problem.c:350
 msgid "Resize_@i not enabled, but the resize @i is non-zero.  "
-msgstr "不支持更改@i大小,但所给的变更值非零。  "
+msgstr "Resize_@i 未启用,但 resize inode 非零。"
 
 #. @-expanded: Resize inode not valid.  
-#: e2fsck/problem.c:352
+#: e2fsck/problem.c:355
 msgid "Resize @i not valid.  "
-msgstr "改变@i大小的值无效。"
+msgstr "Resize @i 无效。"
 
 #. @-expanded: superblock last mount time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:357
+#: e2fsck/problem.c:360
 msgid ""
 "@S last mount time (%t,\n"
 "\tnow = %T) is in the future.\n"
 msgstr ""
 "@S上一次的挂载时间(%t,\n"
-"\t当前:%T)在未来。  \n"
+"\t当前:%T)在未来。\n"
 
 #. @-expanded: superblock last write time (%t,\n
 #. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:362
+#: e2fsck/problem.c:365
 msgid ""
 "@S last write time (%t,\n"
 "\tnow = %T) is in the future.\n"
 msgstr ""
 "@S上一次的写入时间(%t,\n"
-"\t当前:%T)在未来。  \n"
+"\t当前:%T)在未来。\n"
 
 #. @-expanded: superblock hint for external superblock should be %X.  
-#: e2fsck/problem.c:368
+#: e2fsck/problem.c:371
 #, no-c-format
 msgid "@S hint for external superblock @s %X.  "
-msgstr "外部超级块的@S标记@s %X。  "
+msgstr "外部超级块的@S标记@s %X。"
 
 #. @-expanded: Adding dirhash hint to filesystem.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:373
+#: e2fsck/problem.c:376
 msgid ""
 "Adding dirhash hint to @f.\n"
 "\n"
 msgstr ""
-"正在将dirhash标记添加到@f。\n"
+"正在将 dirhash 提示添加到@f。\n"
 "\n"
 
 #. @-expanded: group descriptor %g checksum is %04x, should be %04y.  
-#: e2fsck/problem.c:378
+#: e2fsck/problem.c:381
 msgid "@g descriptor %g checksum is %04x, should be %04y.  "
-msgstr "@g描述符 %g 的校验值为%04x,应当为 %04y。  "
+msgstr "@g描述符 %g 的校验和为 %04x,应当为 %04y。"
 
 #. @-expanded: group descriptor %g marked uninitialized without feature set.\n
-#: e2fsck/problem.c:384
+#: e2fsck/problem.c:387
 #, no-c-format
 msgid "@g descriptor %g marked uninitialized without feature set.\n"
-msgstr "@g描述符 %g被标记为未初始化,并且没有设定特性。\n"
+msgstr "@g描述符 %g 被标记为未初始化,并且没有设定特性。\n"
 
 #. @-expanded: group descriptor %g has invalid unused inodes count %b.  
-#: e2fsck/problem.c:389
+#: e2fsck/problem.c:392
 msgid "@g descriptor %g has invalid unused inodes count %b.  "
-msgstr "@g描述符 %g 中的未使用inode数 %b 为无效值。  "
+msgstr "@g描述符 %g 中的未使用 inode 数 %b 为无效值。"
 
 #. @-expanded: Last group block bitmap uninitialized.  
-#: e2fsck/problem.c:394
+#: e2fsck/problem.c:397
 msgid "Last @g @b @B uninitialized.  "
-msgstr "最后一个@g的@b@B未初始化。  "
+msgstr "最后一个@g@b@B未初始化。"
 
-#: e2fsck/problem.c:400
+#: e2fsck/problem.c:403
 #, no-c-format
 msgid "Journal transaction %i was corrupt, replay was aborted.\n"
-msgstr "日志事务 %i 损坏,撤销过程已终止。\n"
+msgstr "日志事务 %i 损坏,重放过程已中止。\n"
 
-#: e2fsck/problem.c:405
+#: e2fsck/problem.c:408
 msgid "The test_fs flag is set (and ext4 is available).  "
-msgstr "设置了 test_fs 标志(并且ext4可用)。  "
+msgstr "设置了 test_fs 标志(并且ext4可用)。"
 
 #. @-expanded: superblock last mount time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:410
+#: e2fsck/problem.c:413
 msgid ""
 "@S last mount time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1215,7 +1204,7 @@
 #. @-expanded: superblock last write time is in the future.\n
 #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly 
 #. @-expanded: set)\n
-#: e2fsck/problem.c:416
+#: e2fsck/problem.c:419
 msgid ""
 "@S last write time is in the future.\n"
 "\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1224,234 +1213,230 @@
 "\t(相差不到一天,可能是硬件时钟设定错误所致)\n"
 
 #. @-expanded: One or more block group descriptor checksums are invalid.  
-#: e2fsck/problem.c:422
+#: e2fsck/problem.c:425
 msgid "One or more @b @g descriptor checksums are invalid.  "
-msgstr "一个或多个@b@g描述符的校验值无效。  "
+msgstr "一个或多个@b@g描述符的校验和无效。"
 
 #. @-expanded: Setting free inodes count to %j (was %i)\n
-#: e2fsck/problem.c:427
+#: e2fsck/problem.c:430
 msgid "Setting free @is count to %j (was %i)\n"
-msgstr "设置未使用的@i数为 %j(曾为%i)\n"
+msgstr "设置未使用的 @i 数为 %j(之前为 %i)\n"
 
 #. @-expanded: Setting free blocks count to %c (was %b)\n
-#: e2fsck/problem.c:432
+#: e2fsck/problem.c:435
 msgid "Setting free @bs count to %c (was %b)\n"
-msgstr "设置未使用的@b数为 %c(曾为%b)\n"
+msgstr "设置未使用的@b数为 %c(之前为 %b)\n"
 
 #. @-expanded: Hiding %U quota inode %i (%Q).\n
-#: e2fsck/problem.c:437
-#, fuzzy
-#| msgid "Making @q @i %i (%Q) hidden.\n"
+#: e2fsck/problem.c:440
 msgid "Hiding %U @q @i %i (%Q).\n"
-msgstr ""
-"将@q@i %i(%Q)标记为隐藏的。\n"
-"\n"
+msgstr "隐藏 %U @q @i %i (%Q)。\n"
 
 #. @-expanded: superblock has invalid MMP block.  
-#: e2fsck/problem.c:442
+#: e2fsck/problem.c:445
 msgid "@S has invalid MMP block.  "
-msgstr "@S含有无效的MMP块。  "
+msgstr "@S含有无效的 MMP 块。"
 
 #. @-expanded: superblock has invalid MMP magic.  
-#: e2fsck/problem.c:447
+#: e2fsck/problem.c:450
 msgid "@S has invalid MMP magic.  "
-msgstr "@S含有无效的MMP幻数。  "
+msgstr "@S含有无效的 MMP 幻数。"
 
-#: e2fsck/problem.c:453
+#: e2fsck/problem.c:456
 #, no-c-format
 msgid "ext2fs_open2: %m\n"
 msgstr "ext2fs_open2: %m\n"
 
-#: e2fsck/problem.c:459
+#: e2fsck/problem.c:462
 #, no-c-format
 msgid "ext2fs_check_desc: %m\n"
 msgstr "ext2fs_check_desc: %m\n"
 
 #. @-expanded: superblock metadata_csum supersedes uninit_bg; both feature bits cannot be set 
 #. @-expanded: simultaneously.
-#: e2fsck/problem.c:465
+#: e2fsck/problem.c:468
 msgid "@S metadata_csum supersedes uninit_bg; both feature bits cannot be set simultaneously."
-msgstr "@S 的 metadata_csum 特性将取代 uninit_bg 特性,因此不能同时将二者开启。"
+msgstr "@S的 metadata_csum 特性将取代 uninit_bg 特性,因此不能同时将二者开启。"
 
 #. @-expanded: superblock MMP block checksum does not match.  
-#: e2fsck/problem.c:471
+#: e2fsck/problem.c:474
 msgid "@S MMP @b checksum does not match.  "
-msgstr "@S MMP @b 校验值不符。"
+msgstr "@S MMP @b校验和不符。"
 
 #. @-expanded: superblock 64bit filesystem needs extents to access the whole disk.  
-#: e2fsck/problem.c:476
-#, fuzzy
-#| msgid "@S 64bit filesystems needs extents to access the whole disk.  "
+#: e2fsck/problem.c:479
 msgid "@S 64bit @f needs extents to access the whole disk.  "
-msgstr "64位文件系统的@S需要extent来访问整个磁盘。  "
+msgstr "@S 64 位@f需要 extent 来访问整个磁盘。"
 
-#: e2fsck/problem.c:481
+#: e2fsck/problem.c:484
 msgid "First_meta_bg is too big.  (%N, max value %g).  "
-msgstr "第一个meta_bg太大。(%N,最大值 %g)"
+msgstr "first_meta_bg 太大。(%N,最大值 %g)。"
 
 #. @-expanded: External journal superblock checksum does not match superblock.  
-#: e2fsck/problem.c:486
+#: e2fsck/problem.c:489
 msgid "External @j @S checksum does not match @S.  "
-msgstr "外部@j@S校验值与@S自身不符"
+msgstr "外部@j@S校验和与@S不符。"
 
 #. @-expanded: superblock metadata_csum_seed is not necessary without metadata_csum.
-#: e2fsck/problem.c:491
+#: e2fsck/problem.c:494
 msgid "@S metadata_csum_seed is not necessary without metadata_csum."
 msgstr "只有同时开启了@S的 metadata_csum 特性,metadata_csum_seed 特性才有意义。"
 
-#: e2fsck/problem.c:497
+#: e2fsck/problem.c:500
 #, no-c-format
 msgid "Error initializing quota context in support library: %m\n"
-msgstr "初始化支持库中的引用上下文时出错:%m\n"
+msgstr "初始化支持库中的配额上下文时出错:%m\n"
 
 #. @-expanded: Bad required extra isize in superblock (%N).  
-#: e2fsck/problem.c:502
+#: e2fsck/problem.c:505
 msgid "Bad required extra isize in @S (%N).  "
-msgstr ""
+msgstr "@S (%N) 中的 required extra isize 有误。"
 
 #. @-expanded: Bad desired extra isize in superblock (%N).  
-#: e2fsck/problem.c:507
+#: e2fsck/problem.c:510
 msgid "Bad desired extra isize in @S (%N).  "
-msgstr ""
+msgstr "@S (%N) 中的 desired extra isize 有误。"
 
 #. @-expanded: Invalid %U quota inode %i.  
-#: e2fsck/problem.c:512
+#: e2fsck/problem.c:515
 msgid "Invalid %U @q @i %i.  "
-msgstr "无效的 %U @q @i %i。  "
+msgstr "无效的 %U @q @i %i。"
 
 #. @-expanded: superblock would have too many inodes (%N).\n
-#: e2fsck/problem.c:517
+#: e2fsck/problem.c:520
 msgid "@S would have too many inodes (%N).\n"
-msgstr "@S 将含有过多 inode(%N)。\n"
+msgstr "@S 将含有过多 inode (%N)。\n"
 
 #. @-expanded: Resize_inode and meta_bg features are enabled. Those features are\n
 #. @-expanded: not compatible. Resize inode should be disabled.  
-#: e2fsck/problem.c:522
+#: e2fsck/problem.c:525
 msgid ""
 "Resize_@i and meta_bg features are enabled. Those features are\n"
 "not compatible. Resize @i should be disabled.  "
 msgstr ""
+"resize_@i 和 meta_bg 特性均被启用。这两个特性\n"
+"不兼容。resize @i 应当被禁用。"
 
 #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n
-#: e2fsck/problem.c:530
+#: e2fsck/problem.c:533
 msgid "Pass 1: Checking @is, @bs, and sizes\n"
-msgstr "第 1 步:检查@i、@b和大小\n"
+msgstr "第 1 遍:检查 @i、@b,和大小\n"
 
 #. @-expanded: root inode is not a directory.  
-#: e2fsck/problem.c:534
+#: e2fsck/problem.c:537
 msgid "@r is not a @d.  "
-msgstr "@r不是一个@d。  "
+msgstr "@r 不是一个@d。"
 
 #. @-expanded: root inode has dtime set (probably due to old mke2fs).  
-#: e2fsck/problem.c:539
+#: e2fsck/problem.c:542
 msgid "@r has dtime set (probably due to old mke2fs).  "
-msgstr "@r被设置了删除时间(可能由老版本的mke2fs导致)。"
+msgstr "@r 被设置了删除时间(可能由老版本的 mke2fs 导致)。"
 
 #. @-expanded: Reserved inode %i (%Q) has invalid mode.  
-#: e2fsck/problem.c:544
+#: e2fsck/problem.c:547
 msgid "Reserved @i %i (%Q) has @n mode.  "
-msgstr "保留的@i %i(%Q)的模式无效。  "
+msgstr "保留的 @i %i (%Q) 的模式无效。"
 
 #. @-expanded: deleted inode %i has zero dtime.  
-#: e2fsck/problem.c:550
+#: e2fsck/problem.c:553
 #, no-c-format
 msgid "@D @i %i has zero dtime.  "
-msgstr "@D@i %i 的删除时间为零。  "
+msgstr "@D @i %i 的删除时间为零。"
 
 #. @-expanded: inode %i is in use, but has dtime set.  
-#: e2fsck/problem.c:556
+#: e2fsck/problem.c:559
 #, no-c-format
 msgid "@i %i is in use, but has dtime set.  "
-msgstr "使用中的@i %i 被设置了删除时间。  "
+msgstr "@i %i 正在使用,但被设置了删除时间。"
 
 #. @-expanded: inode %i is a zero-length directory.  
-#: e2fsck/problem.c:562
+#: e2fsck/problem.c:565
 #, no-c-format
 msgid "@i %i is a @z @d.  "
-msgstr "@i %i 为@z@d。  "
+msgstr "@i %i 是一个@z@d。"
 
 #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:567
+#: e2fsck/problem.c:570
 msgid "@g %g's @b @B at %b @C.\n"
 msgstr "位于 %b 的@g %g的@b@B@C。\n"
 
 #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:572
+#: e2fsck/problem.c:575
 msgid "@g %g's @i @B at %b @C.\n"
-msgstr "位于 %b 的@g %g的@i@B@C。\n"
+msgstr "位于 %b 的@g %g的 @i @B@C。\n"
 
 #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:577
+#: e2fsck/problem.c:580
 msgid "@g %g's @i table at %b @C.\n"
-msgstr "位于 %b 的@g %g的@i表@C。\n"
+msgstr "位于 %b 的@g %g的 @i 表@C。\n"
 
 #. @-expanded: group %g's block bitmap (%b) is bad.  
-#: e2fsck/problem.c:582
+#: e2fsck/problem.c:585
 msgid "@g %g's @b @B (%b) is bad.  "
-msgstr "@g %g 的@b@B无效。  "
+msgstr "@g %g 的@b@B (%b) 无效。"
 
 #. @-expanded: group %g's inode bitmap (%b) is bad.  
-#: e2fsck/problem.c:587
+#: e2fsck/problem.c:590
 msgid "@g %g's @i @B (%b) is bad.  "
-msgstr "@g %g 的@i@B无效。  "
+msgstr "@g %g 的 @i @B (%b) 无效。"
 
 #. @-expanded: inode %i, i_size is %Is, should be %N.  
-#: e2fsck/problem.c:592
+#: e2fsck/problem.c:595
 msgid "@i %i, i_size is %Is, @s %N.  "
-msgstr "@i %i的大小为 %ls,@s %N。  "
+msgstr "@i %i 的 i_size 为 %Is,@s %N。"
 
 #. @-expanded: inode %i, i_blocks is %Ib, should be %N.  
-#: e2fsck/problem.c:597
+#: e2fsck/problem.c:600
 msgid "@i %i, i_@bs is %Ib, @s %N.  "
-msgstr "@i %i的i_blocks为 %ls,@s %N。  "
+msgstr "@i %i 的 i_blocks 为 %Ib,@s %N。"
 
 #. @-expanded: illegal %B (%b) in inode %i.  
-#: e2fsck/problem.c:602
+#: e2fsck/problem.c:605
 msgid "@I %B (%b) in @i %i.  "
-msgstr "@I %B(%b)于@i %i。  "
+msgstr "@i %i 的%B (%b) 非法。"
 
 #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i.  
-#: e2fsck/problem.c:607
+#: e2fsck/problem.c:610
 msgid "%B (%b) overlaps @f metadata in @i %i.  "
-msgstr "%B(%b)与@i %i 记录元数据的位置重叠。  "
+msgstr "%B (%b) 与 @i %i 中的@f元数据重叠。"
 
 #. @-expanded: inode %i has illegal block(s).  
-#: e2fsck/problem.c:613
+#: e2fsck/problem.c:616
 #, no-c-format
 msgid "@i %i has illegal @b(s).  "
-msgstr "@i %i 中包含非法@b。  "
+msgstr "@i %i 中包含非法@b。"
 
 #. @-expanded: Too many illegal blocks in inode %i.\n
-#: e2fsck/problem.c:619
+#: e2fsck/problem.c:622
 #, no-c-format
 msgid "Too many illegal @bs in @i %i.\n"
 msgstr "@i %i 中包含了过多的非法@b。\n"
 
 #. @-expanded: illegal %B (%b) in bad block inode.  
-#: e2fsck/problem.c:624
+#: e2fsck/problem.c:627
 msgid "@I %B (%b) in bad @b @i.  "
-msgstr "@I %B(%b)于坏@b@i。  "
+msgstr "坏@b @i 中的%B (%b) 非法。"
 
 #. @-expanded: Bad block inode has illegal block(s).  
-#: e2fsck/problem.c:629
+#: e2fsck/problem.c:632
 msgid "Bad @b @i has illegal @b(s).  "
-msgstr "坏@b@i含有无效的@b。  "
+msgstr "坏@b @i 含有非法的@b。"
 
 #. @-expanded: Duplicate or bad block in use!\n
-#: e2fsck/problem.c:634
+#: e2fsck/problem.c:637
 msgid "Duplicate or bad @b in use!\n"
 msgstr "使用了重复@b或坏@b!\n"
 
 #. @-expanded: Bad block %b used as bad block inode indirect block.  
-#: e2fsck/problem.c:639
+#: e2fsck/problem.c:642
 msgid "Bad @b %b used as bad @b @i indirect @b.  "
-msgstr "坏@b %b 被用作坏@b@i的链接@b。  "
+msgstr "坏@b %b 被用作坏@b @i 间接@b。"
 
 #. @-expanded: \n
 #. @-expanded: The bad block inode has probably been corrupted.  You probably\n
 #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n
 #. @-expanded: in the filesystem.\n
-#: e2fsck/problem.c:644
+#: e2fsck/problem.c:647
 msgid ""
 "\n"
 "The bad @b @i has probably been corrupted.  You probably\n"
@@ -1459,12 +1444,12 @@
 "in the @f.\n"
 msgstr ""
 "\n"
-"坏@b@i可能已经损坏。你可能需要立刻停止执行此任务,\n"
-"并运行e2fsck -c来扫描@f中的坏块。\n"
+"坏@b @i 可能已经损坏。你可能需要立刻停止执行此任务,\n"
+"并运行 e2fsck -c 来扫描@f中的坏块。\n"
 
 #. @-expanded: \n
 #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n
-#: e2fsck/problem.c:651
+#: e2fsck/problem.c:654
 msgid ""
 "\n"
 "If the @b is really bad, the @f can not be fixed.\n"
@@ -1475,691 +1460,735 @@
 #. @-expanded: You can remove this block from the bad block list and hope\n
 #. @-expanded: that the block is really OK.  But there are no guarantees.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:656
+#: e2fsck/problem.c:659
 msgid ""
 "You can remove this @b from the bad @b list and hope\n"
 "that the @b is really OK.  But there are no guarantees.\n"
 "\n"
 msgstr ""
-"你可以将该@b从坏@b列表中移除,并期望\n"
-"它能够正常表现。但我们并不提供任何保证。\n"
+"你可以将该@b从坏@b列表中移除,并指望\n"
+"该@b实际上是正常的。但是没有任何保证。\n"
 "\n"
 
 #. @-expanded: The primary superblock (%b) is on the bad block list.\n
-#: e2fsck/problem.c:662
+#: e2fsck/problem.c:665
 msgid "The primary @S (%b) is on the bad @b list.\n"
-msgstr "主@S(%b)位于坏@b列表中。\n"
+msgstr "主@S (%b) 位于坏@b列表中。\n"
 
 #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n
-#: e2fsck/problem.c:667
+#: e2fsck/problem.c:670
 msgid "Block %b in the primary @g descriptors is on the bad @b list\n"
 msgstr "主@g描述符中的块 %b 位于坏@b列表中\n"
 
 #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n
-#: e2fsck/problem.c:673
+#: e2fsck/problem.c:676
 msgid "Warning: Group %g's @S (%b) is bad.\n"
-msgstr "警告:组 %g 的@S(%b)为坏块。\n"
+msgstr "警告:组 %g 的@S (%b) 为坏块。\n"
 
 #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n
-#: e2fsck/problem.c:679
+#: e2fsck/problem.c:682
 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n"
-msgstr ""
-"警告:组 %g 描述符的备份含有一个坏@b(%b)。\n"
-"\n"
+msgstr "警告:组 %g 的@g描述符的备份含有一个坏@b (%b)。\n"
 
 #. @-expanded: Programming error?  block #%b claimed for no reason in process_bad_block.\n
-#: e2fsck/problem.c:685
+#: e2fsck/problem.c:688
 msgid "Programming error?  @b #%b claimed for no reason in process_bad_@b.\n"
-msgstr "检测到@b #%b 为坏@b,但原因未知(可能是程序错误导致的)。\n"
+msgstr "程序错误?@b #%b 在 process_bad_block 中被毫无理由地引用了。\n"
 
 #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n
-#: e2fsck/problem.c:691
+#: e2fsck/problem.c:694
 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n"
 msgstr "在@b@g %g 中为 %s 分配 %N 个连续的@b时出错:%m\n"
 
 #. @-expanded: error allocating block buffer for relocating %s\n
-#: e2fsck/problem.c:697
+#: e2fsck/problem.c:700
 #, no-c-format
 msgid "@A @b buffer for relocating %s\n"
-msgstr "重定位 %s 时分配@b缓存出错\n"
+msgstr "重定位 %s 时分配@b缓冲区时出错\n"
 
 #. @-expanded: Relocating group %g's %s from %b to %c...\n
-#: e2fsck/problem.c:702
+#: e2fsck/problem.c:705
 msgid "Relocating @g %g's %s from %b to %c...\n"
 msgstr "正在将@g %g 的 %s 从 %b 重定位至 %c...\n"
 
 #. @-expanded: Relocating group %g's %s to %c...\n
-#: e2fsck/problem.c:708
+#: e2fsck/problem.c:711
 #, no-c-format
 msgid "Relocating @g %g's %s to %c...\n"
 msgstr "正在将@g %g 的 %s 重定位至 %c...\n"
 
 #. @-expanded: Warning: could not read block %b of %s: %m\n
-#: e2fsck/problem.c:713
+#: e2fsck/problem.c:716
 msgid "Warning: could not read @b %b of %s: %m\n"
-msgstr "警告:无法从%s中读取@b %b:%m\n"
+msgstr "警告:无法从 %s 中读取@b %b:%m\n"
 
 #. @-expanded: Warning: could not write block %b for %s: %m\n
-#: e2fsck/problem.c:718
+#: e2fsck/problem.c:721
 msgid "Warning: could not write @b %b for %s: %m\n"
-msgstr "警告:无法向%s中写入@b %b:%m\n"
+msgstr "警告:无法向 %s 中写入@b %b:%m\n"
 
 #. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:723 e2fsck/problem.c:1871
+#: e2fsck/problem.c:726 e2fsck/problem.c:1936
 msgid "@A @i @B (%N): %m\n"
-msgstr "分配@i@B(%N)时出错:%m\n"
+msgstr "分配 @i @B (%N) 时出错:%m\n"
 
 #. @-expanded: error allocating block bitmap (%N): %m\n
-#: e2fsck/problem.c:728
+#: e2fsck/problem.c:731
 msgid "@A @b @B (%N): %m\n"
-msgstr "分配@b@B(%N)时出错:%m\n"
+msgstr "分配@b@B (%N) 时出错:%m\n"
 
 #. @-expanded: error allocating icount link information: %m\n
-#: e2fsck/problem.c:734
+#: e2fsck/problem.c:737
 #, no-c-format
 msgid "@A icount link information: %m\n"
-msgstr "分配icount链接信息时出错:%m\n"
+msgstr "分配 icount 链接信息时出错:%m\n"
 
 #. @-expanded: error allocating directory block array: %m\n
-#: e2fsck/problem.c:740
+#: e2fsck/problem.c:743
 #, no-c-format
 msgid "@A @d @b array: %m\n"
 msgstr "分配@d@b数组时出错:%m\n"
 
 #. @-expanded: Error while scanning inodes (%i): %m\n
-#: e2fsck/problem.c:746
+#: e2fsck/problem.c:749
 #, no-c-format
 msgid "Error while scanning @is (%i): %m\n"
-msgstr "扫描@i(%i)时出错:%m\n"
+msgstr "扫描 @i (%i) 时出错:%m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i: %m\n
-#: e2fsck/problem.c:752
+#: e2fsck/problem.c:755
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i: %m\n"
-msgstr "迭代@i %i 中的@b时出错:%m\n"
+msgstr "迭代 @i %i 中的@b时出错:%m\n"
 
 #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n
-#: e2fsck/problem.c:757
+#: e2fsck/problem.c:760
 msgid "Error storing @i count information (@i=%i, count=%N): %m\n"
-msgstr "写入@i计数信息时出错(@i %i,计数=%N):%m\n"
+msgstr "写入 @i 计数信息时出错(@i=%i,计数=%N):%m\n"
 
 #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n
-#: e2fsck/problem.c:762
+#: e2fsck/problem.c:765
 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n"
-msgstr "写入@d@b信息时出错(@i %i,@b %b,数量=%N)\n"
+msgstr "写入@d@b信息时出错(@i=%i,@b=%b,num=%N):%m\n"
 
 #. @-expanded: Error reading inode %i: %m\n
-#: e2fsck/problem.c:769
+#: e2fsck/problem.c:772
 #, no-c-format
 msgid "Error reading @i %i: %m\n"
-msgstr "读取@i %i出错:%m\n"
+msgstr "读取 @i %i 时出错:%m\n"
 
 #. @-expanded: inode %i has imagic flag set.  
-#: e2fsck/problem.c:778
+#: e2fsck/problem.c:781
 #, no-c-format
 msgid "@i %i has imagic flag set.  "
-msgstr "@i %i 被设置了imagic标志。  "
+msgstr "@i %i 被设置了 imagic 标志。"
 
 #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n
 #. @-expanded: or append-only flag set.  
-#: e2fsck/problem.c:784
+#: e2fsck/problem.c:787
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n"
 "or append-only flag set.  "
 msgstr ""
-"特殊文件(@v/套接字/队列/ 符号链接)(@i %i)由chattr设置了 i\n"
-"(保护)或 a(仅追加) 标志。  "
+"特殊(@v/套接字/队列/符号链接)文件 (@i %i) 被设置了\n"
+"immutable 或 append-only 标志。"
 
 #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size.  
-#: e2fsck/problem.c:791
+#: e2fsck/problem.c:794
 #, no-c-format
 msgid "Special (@v/socket/fifo) @i %i has non-zero size.  "
-msgstr "特殊文件(@v/套接字/队列)@i %i 为非零大小。  "
+msgstr "特殊(@v/套接字/队列)@i %i 的大小非零。"
 
 #. @-expanded: journal inode is not in use, but contains data.  
-#: e2fsck/problem.c:801
+#: e2fsck/problem.c:804
 msgid "@j @i is not in use, but contains data.  "
-msgstr "@j @i 未被使用,但含有数据。  "
+msgstr "@j @i 未被使用,但含有数据。"
 
 #. @-expanded: journal is not regular file.  
-#: e2fsck/problem.c:806
+#: e2fsck/problem.c:809
 msgid "@j is not regular file.  "
-msgstr "@j不是普通文件。  "
+msgstr "@j不是普通文件。"
 
 #. @-expanded: inode %i was part of the orphaned inode list.  
-#: e2fsck/problem.c:812
+#: e2fsck/problem.c:815
 #, no-c-format
 msgid "@i %i was part of the @o @i list.  "
-msgstr "@i %i 位于@o@i列表中。  "
+msgstr "@i %i 位于@o @i 列表中。"
 
 #. @-expanded: inodes that were part of a corrupted orphan linked list found.  
-#: e2fsck/problem.c:818
+#: e2fsck/problem.c:821
 msgid "@is that were part of a corrupted orphan linked list found.  "
-msgstr "发现了可能属于损坏的孤立链接表的@i。  "
+msgstr "发现了曾属于损坏的孤立链表的 @i。"
 
 #. @-expanded: error allocating refcount structure (%N): %m\n
-#: e2fsck/problem.c:823
+#: e2fsck/problem.c:826
 msgid "@A refcount structure (%N): %m\n"
-msgstr "分配refcount结构体(%N)时出错:%m\n"
+msgstr "分配 refcount 结构体 (%N) 时出错:%m\n"
 
 #. @-expanded: Error reading extended attribute block %b for inode %i.  
-#: e2fsck/problem.c:828
+#: e2fsck/problem.c:831
 msgid "Error reading @a @b %b for @i %i.  "
-msgstr "读取@i %i 的@a@b %b 时出错。"
+msgstr "读取 @i %i 的@a@b %b 时出错。"
 
 #. @-expanded: inode %i has a bad extended attribute block %b.  
-#: e2fsck/problem.c:833
+#: e2fsck/problem.c:836
 msgid "@i %i has a bad @a @b %b.  "
-msgstr "@i %i 有一个 @a@b %b。  "
+msgstr "@i %i 有一个损坏的@a@b %b。"
 
 #. @-expanded: Error reading extended attribute block %b (%m).  
-#: e2fsck/problem.c:838
+#: e2fsck/problem.c:841
 msgid "Error reading @a @b %b (%m).  "
-msgstr "读取@a@b %b 时出错(%m)。  "
+msgstr "读取@a@b %b 时出错(%m)。"
 
 #. @-expanded: extended attribute block %b has reference count %r, should be %N.  
-#: e2fsck/problem.c:843
+#: e2fsck/problem.c:846
 msgid "@a @b %b has reference count %r, @s %N.  "
-msgstr "@a@b %b 的引用计数为 %r,@s %N。  "
+msgstr "@a@b %b 的引用计数为 %r,@s %N。"
 
 #. @-expanded: Error writing extended attribute block %b (%m).  
-#: e2fsck/problem.c:848
+#: e2fsck/problem.c:851
 msgid "Error writing @a @b %b (%m).  "
-msgstr "写入@a@b %b 时出错(%m)。  "
+msgstr "写入@a@b %b 时出错(%m)。"
 
 #. @-expanded: extended attribute block %b has h_blocks > 1.  
-#: e2fsck/problem.c:853
+#: e2fsck/problem.c:856
 msgid "@a @b %b has h_@bs > 1.  "
-msgstr "@a@b %b 的h_blocks >1。  "
+msgstr "@a@b %b 的 h_blocks > 1。"
 
 #. @-expanded: error allocating extended attribute region allocation structure.  
-#: e2fsck/problem.c:858
+#: e2fsck/problem.c:861
 msgid "@A @a region allocation structure.  "
-msgstr "构建外部属性区域的分配结构体时出错。"
+msgstr "分配扩展属性区域的分配结构体时出错。"
 
 #. @-expanded: extended attribute block %b is corrupt (allocation collision).  
-#: e2fsck/problem.c:863
+#: e2fsck/problem.c:866
 msgid "@a @b %b is corrupt (allocation collision).  "
-msgstr "@a@b %b 已损坏(分配冲突)。  "
+msgstr "@a@b %b 已损坏(分配冲突)。"
 
 #. @-expanded: extended attribute block %b is corrupt (invalid name).  
-#: e2fsck/problem.c:868
+#: e2fsck/problem.c:871
 msgid "@a @b %b is corrupt (@n name).  "
-msgstr "@a@b %b 已损坏(@n名称)。  "
+msgstr "@a@b %b 已损坏(@n名称)。"
 
 #. @-expanded: extended attribute block %b is corrupt (invalid value).  
-#: e2fsck/problem.c:873
+#: e2fsck/problem.c:876
 msgid "@a @b %b is corrupt (@n value).  "
-msgstr "@a@b %b 已损坏(@n值)。  "
+msgstr "@a@b %b 已损坏(@n值)。"
 
 #. @-expanded: inode %i is too big.  
-#: e2fsck/problem.c:879
+#: e2fsck/problem.c:882
 #, no-c-format
 msgid "@i %i is too big.  "
-msgstr "@i %i 过大。  "
+msgstr "@i %i 过大。"
 
 #. @-expanded: %B (%b) causes directory to be too big.  
-#: e2fsck/problem.c:883
+#: e2fsck/problem.c:886
 msgid "%B (%b) causes @d to be too big.  "
-msgstr "%B(%b)造成@d过大。  "
+msgstr "%B (%b) 造成@d过大。"
 
-#: e2fsck/problem.c:888
+#: e2fsck/problem.c:891
 msgid "%B (%b) causes file to be too big.  "
-msgstr "%B(%b)造成文件过大。  "
+msgstr "%B (%b) 造成文件过大。"
 
-#: e2fsck/problem.c:893
+#: e2fsck/problem.c:896
 msgid "%B (%b) causes symlink to be too big.  "
-msgstr "%B(%b)造成符号链接过大。  "
+msgstr "%B (%b) 造成符号链接过大。"
 
 #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n
-#: e2fsck/problem.c:899
+#: e2fsck/problem.c:902
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set on @f without htree support.\n"
-msgstr "@i %i 被设置了INDEX_FL标志,但文件系统不支持htree。\n"
+msgstr "@i %i 被设置了 INDEX_FL 标志,但文件系统不支持 htree。\n"
 
 #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n
-#: e2fsck/problem.c:905
+#: e2fsck/problem.c:908
 #, no-c-format
 msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
-msgstr "@i %i 被设置了INDEX_FL标志,但它并非目录。\n"
+msgstr "@i %i 被设置了 INDEX_FL 标志,但它并非目录。\n"
 
 #. @-expanded: HTREE directory inode %i has an invalid root node.\n
-#: e2fsck/problem.c:911
+#: e2fsck/problem.c:914
 #, no-c-format
 msgid "@h %i has an @n root node.\n"
 msgstr "@h %i 有一个@n根节点。\n"
 
 #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n
-#: e2fsck/problem.c:916
+#: e2fsck/problem.c:919
 msgid "@h %i has an unsupported hash version (%N)\n"
-msgstr "@h %i 有一个无效的hash版本(%N)\n"
+msgstr "@h %i 有一个不受支持的 hash 版本 (%N)\n"
 
 #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n
-#: e2fsck/problem.c:922
+#: e2fsck/problem.c:925
 #, no-c-format
 msgid "@h %i uses an incompatible htree root node flag.\n"
-msgstr "@h %i 使用了一个不兼容的htree根节点标志。\n"
+msgstr "@h %i 使用了一个不兼容的 htree 根节点标志。\n"
 
 #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n
-#: e2fsck/problem.c:927
+#: e2fsck/problem.c:930
 msgid "@h %i has a tree depth (%N) which is too big\n"
-msgstr "@h %i 树的深度过大(%N)\n"
+msgstr "@h %i 的树深度过大 (%N)\n"
 
 #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n
 #. @-expanded: filesystem metadata.  
-#: e2fsck/problem.c:933
+#: e2fsck/problem.c:936
 msgid ""
 "Bad @b @i has an indirect @b (%b) that conflicts with\n"
 "@f metadata.  "
-msgstr "坏@b@i含有一个与@f元数据冲突的连接@b(%b)。  "
+msgstr "坏@b @i 含有一个与@f元数据冲突的间接@b (%b)。"
 
 #. @-expanded: Resize inode (re)creation failed: %m.
-#: e2fsck/problem.c:940
+#: e2fsck/problem.c:943
 #, no-c-format
 msgid "Resize @i (re)creation failed: %m."
-msgstr "改变@i大小失败:%m。"
+msgstr "(重新)创建 resize @i 失败:%m。"
 
 #. @-expanded: inode %i has a extra size (%IS) which is invalid\n
-#: e2fsck/problem.c:945
+#: e2fsck/problem.c:948
 msgid "@i %i has a extra size (%IS) which is @n\n"
-msgstr "@i %i 有一个额外的大小 %lS(@n值)\n"
+msgstr "@i %i 有一个额外的大小 %IS(@n值)\n"
 
 #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n
-#: e2fsck/problem.c:950
+#: e2fsck/problem.c:953
 msgid "@a in @i %i has a namelen (%N) which is @n\n"
-msgstr "@i %i 中的@a有一个名称长度%lS(@n值)\n"
+msgstr "@i %i 中的@a含有一个无效的 namelen (%N)\n"
 
 #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n
-#: e2fsck/problem.c:955
+#: e2fsck/problem.c:958
 msgid "@a in @i %i has a value offset (%N) which is @n\n"
-msgstr "@i %i 中的@a含有一个@n的偏移量(%N)\n"
+msgstr "@i %i 中的@a含有一个无效的偏移量值 (%N)\n"
 
 #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n
-#: e2fsck/problem.c:960
+#: e2fsck/problem.c:963
 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n"
-msgstr "@i %i 中的@a含有一个@n的数值块(%N),应当为0\n"
+msgstr "@i %i 中的@a含有一个无效的块值 (%N),应当为 0\n"
 
 #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n
-#: e2fsck/problem.c:965
+#: e2fsck/problem.c:968
 msgid "@a in @i %i has a value size (%N) which is @n\n"
-msgstr "@i %i 中的@a含有一个@n的大小(%N)\n"
+msgstr "@i %i 中的@a含有一个无效的大小值 (%N)\n"
 
 #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n
-#: e2fsck/problem.c:970
+#: e2fsck/problem.c:973
 msgid "@a in @i %i has a hash (%N) which is @n\n"
-msgstr "@i %i 中的@a有一个@nhash值(%N)\n"
+msgstr "@i %i 中的@a含有一个无效的 hash (%N)\n"
 
 #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n
-#: e2fsck/problem.c:975
+#: e2fsck/problem.c:978
 msgid "@i %i is a %It but it looks like it is really a directory.\n"
-msgstr "@i %i 是一个@lt,但它实际上可能是一个目录。\n"
+msgstr "@i %i 是一个 %It,但它看起来实际是一个目录。\n"
 
 #. @-expanded: Error while reading over extent tree in inode %i: %m\n
-#: e2fsck/problem.c:981
+#: e2fsck/problem.c:984
 #, no-c-format
 msgid "Error while reading over @x tree in @i %i: %m\n"
-msgstr "读取@i %i 中的@x树时出错:%m\n"
+msgstr "读取 @i %i 中的 @x 树时出错:%m\n"
 
 #. @-expanded: Failed to iterate extents in inode %i\n
 #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n
-#: e2fsck/problem.c:986
+#: e2fsck/problem.c:989
 msgid ""
 "Failed to iterate extents in @i %i\n"
 "\t(op %s, blk %b, lblk %c): %m\n"
 msgstr ""
-"递归@i %i 中的extent失败\n"
-"\t(选项 %s,块 %b,lblk %c):%m\n"
+"迭代 @i %i 中的 extent 失败\n"
+"\t(op %s, blk %b, lblk %c):%m\n"
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:992
+#: e2fsck/problem.c:995
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
 msgstr ""
-"@i %i 有一个@nextent\n"
-"\t(逻辑块 %c,@n物理块@b %b,长度 %N)\n"
+"@i %i 有一个@n extent\n"
+"\t(逻辑@b %c,@n物理@b %b,长度 %N)\n"
 
 #. @-expanded: inode %i has an invalid extent\n
 #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n
-#: e2fsck/problem.c:997
+#: e2fsck/problem.c:1000
 msgid ""
 "@i %i has an @n extent\n"
 "\t(logical @b %c, physical @b %b, @n len %N)\n"
 msgstr ""
-"@i %i 有一个@nextent\n"
-"\t(逻辑块 %c,物理块@b %b,长度 %N)\n"
+"@i %i 有一个@n extent\n"
+"\t(逻辑@b %c,物理@b %b,@n长度 %N)\n"
 
 #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n
-#: e2fsck/problem.c:1003
+#: e2fsck/problem.c:1006
 #, no-c-format
 msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n"
-msgstr "@i %i 被设置了EXTENTS_FL标志,但文件系统不支持extent。\n"
+msgstr "@i %i 被设置了 EXTENTS_FL 标志,但文件系统不支持 extent。\n"
 
 #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n
-#: e2fsck/problem.c:1009
+#: e2fsck/problem.c:1012
 #, no-c-format
 msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n"
-msgstr "@i %i 为extent格式,但@S不具有EXTENTS特性\n"
+msgstr "@i %i 为 extent 格式,但@S不具有 EXTENTS 特性\n"
 
 #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n
-#: e2fsck/problem.c:1015
+#: e2fsck/problem.c:1018
 #, no-c-format
 msgid "@i %i missing EXTENT_FL, but is in extents format\n"
-msgstr "@i %i 不具有EXTENT_FL标志,但却为EXTENTS格式\n"
+msgstr "@i %i 不具有 EXTENT_FL 标志,但却为 extents 格式\n"
 
-#: e2fsck/problem.c:1021
+#: e2fsck/problem.c:1024
 #, no-c-format
 msgid "Fast symlink %i has EXTENT_FL set.  "
-msgstr "直接符号链接 %i 被设置了EXTENT_FL标志。  "
+msgstr "快速符号链接 %i 被设置了 EXTENT_FL 标志。"
 
 #. @-expanded: inode %i has out of order extents\n
 #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1026
+#: e2fsck/problem.c:1029
 msgid ""
 "@i %i has out of order extents\n"
 "\t(@n logical @b %c, physical @b %b, len %N)\n"
 msgstr ""
-"@i %i 含有乱序的extent\n"
-"\t(@n 逻辑@b %c,物理@b %b,长度 %N)\n"
+"@i %i 含有乱序的 extent\n"
+"\t(@n逻辑@b %c,物理@b %b,长度 %N)\n"
 
 #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n
-#: e2fsck/problem.c:1030
+#: e2fsck/problem.c:1033
 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n"
-msgstr "@i %i 是一个无效的extent节点(块 %b,lblk %c)\n"
+msgstr "@i %i 是一个无效的 extent 节点 (blk %b, lblk %c)\n"
 
 #. @-expanded: Error converting subcluster block bitmap: %m\n
-#: e2fsck/problem.c:1036
+#: e2fsck/problem.c:1039
 #, no-c-format
 msgid "Error converting subcluster @b @B: %m\n"
-msgstr "转换子簇的@d@b时出错:%m\n"
+msgstr "转换子簇的@b@B时出错:%m\n"
 
 #. @-expanded: quota inode is not a regular file.  
-#: e2fsck/problem.c:1041
+#: e2fsck/problem.c:1044
 msgid "@q @i is not a regular file.  "
-msgstr "@q @i 不是普通文件。  "
+msgstr "@q @i 不是普通文件。"
 
 #. @-expanded: quota inode is not in use, but contains data.  
-#: e2fsck/problem.c:1046
+#: e2fsck/problem.c:1049
 msgid "@q @i is not in use, but contains data.  "
-msgstr "@q @i 未被使用,但含有数据。  "
+msgstr "@q @i 未被使用,但含有数据。"
 
 #. @-expanded: quota inode is visible to the user.  
-#: e2fsck/problem.c:1051
+#: e2fsck/problem.c:1054
 msgid "@q @i is visible to the user.  "
-msgstr "使用中的@q@i被对用户可见。  "
+msgstr "@q @i 对用户可见。"
 
 #. @-expanded: The bad block inode looks invalid.  
-#: e2fsck/problem.c:1056
+#: e2fsck/problem.c:1059
 msgid "The bad @b @i looks @n.  "
-msgstr "坏@b@i似乎是@n。  "
+msgstr "坏@b @i 似乎是@n。"
 
 #. @-expanded: inode %i has zero length extent\n
 #. @-expanded: \t(invalid logical block %c, physical block %b)\n
-#: e2fsck/problem.c:1061
+#: e2fsck/problem.c:1064
 msgid ""
 "@i %i has zero length extent\n"
 "\t(@n logical @b %c, physical @b %b)\n"
 msgstr ""
-"@i %i 含有零长度的extent\n"
-"\t(@n 逻辑@b %c,物理@b %b)\n"
+"@i %i 含有零长度的 extent\n"
+"\t(@n逻辑@b %c,物理@b %b)\n"
 
 #. @-expanded: inode %i seems to contain garbage.  
-#: e2fsck/problem.c:1067
+#: e2fsck/problem.c:1070
 #, no-c-format
 msgid "@i %i seems to contain garbage.  "
-msgstr "@i %i 含有无效数据。"
+msgstr "@i %i 似乎含有无效数据。"
 
 #. @-expanded: inode %i passes checks, but checksum does not match inode.  
-#: e2fsck/problem.c:1073
+#: e2fsck/problem.c:1076
 #, no-c-format
 msgid "@i %i passes checks, but checksum does not match @i.  "
-msgstr "@i %i 通过检验,但其校验值与自身不符。"
+msgstr "@i %i 通过检验,但其校验和与 @i 不符。"
 
 #. @-expanded: inode %i extended attribute is corrupt (allocation collision).  
-#: e2fsck/problem.c:1079
+#: e2fsck/problem.c:1082
 #, no-c-format
 msgid "@i %i @a is corrupt (allocation collision).  "
-msgstr "@i %i @a 已损坏(分配冲突)。  "
+msgstr "@i %i @a已损坏(分配冲突)。"
 
 #. @-expanded: inode %i extent block passes checks, but checksum does not match extent\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1087
+#: e2fsck/problem.c:1090
 msgid ""
 "@i %i extent block passes checks, but checksum does not match extent\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
 msgstr ""
-"@i %i 外部块通过检验,但其校验值与自身不符\n"
+"@i %i extent 块通过了检查,但其校验和与 extent 不符\n"
 "\t(逻辑@b %c,物理@b %b,长度 %N)\n"
 
 #. @-expanded: inode %i extended attribute block %b passes checks, but checksum does not match block.  
-#: e2fsck/problem.c:1096
+#: e2fsck/problem.c:1099
 msgid "@i %i @a @b %b passes checks, but checksum does not match @b.  "
-msgstr "@i %i 的@a @b %b 通过检验,但其校验值与自身不符。"
+msgstr "@i %i 的@a@b %b 通过了检查,但其校验和与@b不符。"
 
 #. @-expanded: Interior extent node level %N of inode %i:\n
 #. @-expanded: Logical start %b does not match logical start %c at next level.  
-#: e2fsck/problem.c:1101
+#: e2fsck/problem.c:1104
 msgid ""
 "Interior @x node level %N of @i %i:\n"
 "Logical start %b does not match logical start %c at next level.  "
 msgstr ""
-"@i %i 的子@x节点等级 %N:\n"
-"逻辑起始位点 %b 与下一等级的逻辑起始位点 %c 不匹配。  "
+"@i %i 的子 @x 节点第 %N 层:\n"
+"逻辑起始位点 %b 与下一层的逻辑起始位点 %c 不匹配。"
 
 #. @-expanded: inode %i, end of extent exceeds allowed value\n
 #. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1107
+#: e2fsck/problem.c:1110
 msgid ""
 "@i %i, end of extent exceeds allowed value\n"
 "\t(logical @b %c, physical @b %b, len %N)\n"
 msgstr ""
-"@i %i,extent结尾超过了允许范围\n"
-"\t(逻辑@b %c,物理块@b %b,长度 %N)\n"
+"@i %i,extent 的尾部超出了允许的值\n"
+"\t(逻辑@b %c,物理@b %b,长度 %N)\n"
 
 #. @-expanded: inode %i has inline data, but superblock is missing INLINE_DATA feature\n
-#: e2fsck/problem.c:1113
+#: e2fsck/problem.c:1116
 #, no-c-format
 msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
 msgstr "@i %i 含有内联数据,但@S不具有 INLINE_DATA 特性\n"
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag on filesystem without inline data support.\n
-#: e2fsck/problem.c:1119
+#: e2fsck/problem.c:1122
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"
 msgstr "@i %i 被设置了 INLINE_DATA_FL 标志,但文件系统不支持内联数据。\n"
 
 #. @-expanded: inode %i block %b conflicts with critical metadata, skipping block checks.\n
-#: e2fsck/problem.c:1127
+#: e2fsck/problem.c:1130
 #, no-c-format
 msgid "@i %i block %b conflicts with critical metadata, skipping block checks.\n"
 msgstr "@i %i 块 %b 与关键元数据冲突,跳过对块的检查。\n"
 
 #. @-expanded: directory inode %i block %b should be at block %c.  
-#: e2fsck/problem.c:1132
+#: e2fsck/problem.c:1135
 msgid "@d @i %i @b %b should be at @b %c.  "
-msgstr "@d@i %i @b %b 应为@b %c。  "
+msgstr "@d @i %i @b %b 应当位于@b %c。"
 
 #. @-expanded: directory inode %i has extent marked uninitialized at block %c.  
-#: e2fsck/problem.c:1138
+#: e2fsck/problem.c:1141
 #, no-c-format
 msgid "@d @i %i has @x marked uninitialized at @b %c.  "
-msgstr "@d@i %i 含有被标记为未初始化的@x,位于@b %c。  "
+msgstr "@d @i %i 含有被标记为未初始化的 @x,位于@b %c。"
 
 #. @-expanded: inode %i logical block %b (physical block %c) violates cluster allocation rules.\n
 #. @-expanded: Will fix in pass 1B.\n
-#: e2fsck/problem.c:1143
+#: e2fsck/problem.c:1146
 msgid ""
 "@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\n"
 "Will fix in pass 1B.\n"
 msgstr ""
-"@i %i 逻辑@b %b(物理@b %c)违反了块分配原则。\n"
-"将会在第 1B 步中进行修复。\n"
+"@i %i 逻辑@b %b(物理@b %c)违反了簇分配规则。\n"
+"将会在第 1B 遍中进行修复。\n"
 
 #. @-expanded: inode %i has INLINE_DATA_FL flag but extended attribute not found.  
-#: e2fsck/problem.c:1149
+#: e2fsck/problem.c:1152
 #, no-c-format
 msgid "@i %i has INLINE_DATA_FL flag but @a not found.  "
-msgstr "@i %i 被设置了INDEX_DATA_FL标志,但找不到相应的@a。"
+msgstr "@i %i 被设置了 INDEX_DATA_FL 标志,但找不到相应的@a。"
 
 #. @-expanded: Special (device/socket/fifo) file (inode %i) has extents\n
 #. @-expanded: or inline-data flag set.  
-#: e2fsck/problem.c:1156
+#: e2fsck/problem.c:1159
 #, no-c-format
 msgid ""
 "Special (@v/socket/fifo) file (@i %i) has extents\n"
 "or inline-data flag set.  "
 msgstr ""
-"特殊文件(@v/套接字/队列)(@i %i)被设置了\n"
-"extents 或内联数据标志。"
+"特殊(@v/套接字/队列)文件 (@i %i) 被设置了\n"
+"extents 或 inline-data 标志。"
 
 #. @-expanded: inode %i has extent header but inline data flag is set.\n
-#: e2fsck/problem.c:1163
+#: e2fsck/problem.c:1166
 #, no-c-format
 msgid "@i %i has @x header but inline data flag is set.\n"
-msgstr "@i %i 含有@x头部,但被设置了内联数据标志。\n"
+msgstr "@i %i 含有 @x 头部,但被设置了 inline-data 标志。\n"
 
 #. @-expanded: inode %i seems to have inline data but extent flag is set.\n
-#: e2fsck/problem.c:1169
+#: e2fsck/problem.c:1172
 #, no-c-format
 msgid "@i %i seems to have inline data but @x flag is set.\n"
-msgstr "@i %i 似乎含有内联数据,但被设置了@x标志。\n"
+msgstr "@i %i 似乎含有内联数据,但被设置了 @x 标志。\n"
 
 #. @-expanded: inode %i seems to have block map but inline data and extent flags set.\n
-#: e2fsck/problem.c:1175
+#: e2fsck/problem.c:1178
 #, no-c-format
 msgid "@i %i seems to have @b map but inline data and @x flags set.\n"
-msgstr "@i %i 似乎含有@b位图,但被设置了内联数据标志和@x标志。\n"
+msgstr "@i %i 似乎含有@b映射,但被设置了 inline-data 标志和 @x 标志。\n"
 
 #. @-expanded: inode %i has inline data and extent flags set but i_block contains junk.\n
-#: e2fsck/problem.c:1181
+#: e2fsck/problem.c:1184
 #, no-c-format
 msgid "@i %i has inline data and @x flags set but i_block contains junk.\n"
-msgstr "@i %i 含有内联数据且被设置了@x标志,但 i_block 中含有无效数据。\n"
+msgstr "@i %i 含有内联数据且被设置了 @x 标志,但 i_block 中含有无效数据。\n"
 
 #. @-expanded: Bad block list says the bad block list inode is bad.  
-#: e2fsck/problem.c:1186
+#: e2fsck/problem.c:1189
 msgid "Bad block list says the bad block list @i is bad.  "
-msgstr "坏块列表中的数据表明,坏块列表@i 已损坏。"
+msgstr "坏块列表中的数据表明,坏块列表 @i 已损坏。"
 
 #. @-expanded: error allocating extent region allocation structure.  
-#: e2fsck/problem.c:1191
+#: e2fsck/problem.c:1194
 msgid "@A @x region allocation structure.  "
-msgstr "构建extent区域的分配结构体时出错。"
+msgstr "分配 extent 区域的分配结构体时出错。"
 
 #. @-expanded: inode %i has a duplicate extent mapping\n
 #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:1196
+#: e2fsck/problem.c:1199
 msgid ""
 "@i %i has a duplicate @x mapping\n"
 "\t(logical @b %c, @n physical @b %b, len %N)\n"
 msgstr ""
-"@i %i 含有重复的@x映射\n"
-"\t(逻辑块 %c,@n物理块@b %b,长度 %N)\n"
+"@i %i 含有重复的 @x 映射\n"
+"\t(逻辑块 %c,@n物理块 %b,长度 %N)\n"
 
-#. @-expanded: error allocating memory for encrypted directory list\n
-#: e2fsck/problem.c:1201
-msgid "@A memory for encrypted @d list\n"
-msgstr "为加密@d列表分配内存时出错\n"
+#. @-expanded: error allocating %N bytes of memory for encrypted inode list\n
+#: e2fsck/problem.c:1204
+msgid "@A %N bytes of memory for encrypted @i list\n"
+msgstr "为加密 @i 列表分配 %N 字节内存时出错\n"
 
 #. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
-#: e2fsck/problem.c:1206
+#: e2fsck/problem.c:1209
 msgid "@i %i @x tree could be more shallow (%b; could be <= %c)\n"
-msgstr "@i %i @x树的深度可以更小(当前为%b;可以 <= %c)\n"
+msgstr "@i %i @x 树的深度可以更小(%b;可以 <= %c)\n"
 
 #. @-expanded: inode %i on bigalloc filesystem cannot be block mapped.  
-#: e2fsck/problem.c:1212
+#: e2fsck/problem.c:1215
 #, no-c-format
 msgid "@i %i on bigalloc @f cannot be @b mapped.  "
-msgstr "位于 bigalloc @f 的@i %i on bigalloc @f 无法被@b映射。"
+msgstr "位于 bigalloc @f 的 @i %i 无法被@b映射。"
 
 #. @-expanded: inode %i has corrupt extent header.  
-#: e2fsck/problem.c:1218
+#: e2fsck/problem.c:1221
 #, no-c-format
 msgid "@i %i has corrupt @x header.  "
-msgstr "@i %i 含有损坏的@x头部。"
+msgstr "@i %i 含有损坏的 @x 头部。"
 
 #. @-expanded: Timestamp(s) on inode %i beyond 2310-04-04 are likely pre-1970.\n
-#: e2fsck/problem.c:1224
+#: e2fsck/problem.c:1227
 #, no-c-format
 msgid "Timestamp(s) on @i %i beyond 2310-04-04 are likely pre-1970.\n"
 msgstr "@i %i 的时间戳超过了 2310-04-04,可能应为 1970 年之前。\n"
 
 #. @-expanded: inode %i has illegal extended attribute value inode %N.\n
-#: e2fsck/problem.c:1229
+#: e2fsck/problem.c:1232
 msgid "@i %i has @I @a value @i %N.\n"
-msgstr "@i %i 有一个 @I @a 值 @i %N。\n"
+msgstr "@i %i 有一个@I@a值 @i %N。\n"
 
 #. @-expanded: inode %i has invalid extended attribute. EA inode %N missing EA_INODE flag.\n
-#: e2fsck/problem.c:1235
-#, fuzzy
-#| msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
+#: e2fsck/problem.c:1238
 msgid "@i %i has @n @a. EA @i %N missing EA_INODE flag.\n"
-msgstr "@i %i 含有内联数据,但@S不具有 INLINE_DATA 特性\n"
+msgstr "@i %i 含有@n@a。EA @i %N 缺少 EA_INODE 标志。\n"
 
 #. @-expanded: EA inode %N for parent inode %i missing EA_INODE flag.\n
 #. @-expanded:  
-#: e2fsck/problem.c:1240
+#: e2fsck/problem.c:1243
 msgid ""
 "EA @i %N for parent @i %i missing EA_INODE flag.\n"
 " "
 msgstr ""
+"用于父 @i %i 的 EA @i %N 缺少 EA_INODE 标志。\n"
+" "
+
+#. @-expanded: inode %i has extent marked uninitialized at block %c (len %N).  
+#: e2fsck/problem.c:1249
+#, no-c-format
+msgid "@i %i has @x marked uninitialized at @b %c (len %N).  "
+msgstr "@i %i 含有被标记为未初始化的 @x,位于@b %c(长度 %N)。"
+
+#. @-expanded: inode %i has the casefold flag set but is not a directory.  
+#: e2fsck/problem.c:1254
+#, c-format
+msgid "@i %i has the casefold flag set but is not a directory.  "
+msgstr "@i %i 被设置了 casefold 标志,但它并非目录。"
+
+#. @-expanded: directory %p has the casefold flag, but the\n
+#. @-expanded: casefold feature is not enabled.  
+#: e2fsck/problem.c:1259
+#, c-format
+msgid ""
+"@d %p has the casefold flag, but the\n"
+"casefold feature is not enabled.  "
+msgstr ""
+"@d %p 被设置了 casefold 标志,但\n"
+"casefold 特性未启用。"
+
+#. @-expanded: inode %i has encrypt flag but no encryption extended attribute.\n
+#: e2fsck/problem.c:1264
+#, c-format
+msgid "@i %i has encrypt flag but no encryption @a.\n"
+msgstr "@i %i 被设置了加密标志,但没有加密@a。\n"
+
+#. @-expanded: Encrypted inode %i has corrupt encryption extended attribute.\n
+#: e2fsck/problem.c:1269
+#, c-format
+msgid "Encrypted @i %i has corrupt encryption @a.\n"
+msgstr "加密的 @i %i 的加密@a已损坏。\n"
+
+#. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
+#: e2fsck/problem.c:1274
+msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
+msgstr "@h %i 使用了 hash 版本 (%N),但应当使用 SipHash (6)\n"
+
+#. @-expanded: HTREE directory inode %i uses SipHash, but should not.  
+#: e2fsck/problem.c:1279
+#, c-format
+msgid "@h %i uses SipHash, but should not.  "
+msgstr "@h %i 使用了 SipHash,但不应当使用。"
 
 #. @-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
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1287
 msgid ""
 "\n"
 "Running additional passes to resolve @bs claimed by more than one @i...\n"
 "Pass 1B: Rescanning for @m @bs\n"
 msgstr ""
 "\n"
-"执行额外的步骤来处理被多个@i引用的@b...\n"
-"第 1B 步:重新扫描@m @b\n"
+"执行额外的遍数来处理被多个 @i 引用的@b...\n"
+"第 1B 遍:重新扫描@m@b\n"
 
 #. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1255
+#: e2fsck/problem.c:1294
 #, no-c-format
 msgid "@m @b(s) in @i %i:"
-msgstr "@m@b位于@i %i:"
+msgstr "@m@b位于 @i %i:"
 
-#: e2fsck/problem.c:1271
+#: e2fsck/problem.c:1310
 #, no-c-format
 msgid "Error while scanning inodes (%i): %m\n"
-msgstr "扫描Inode(%i\\)时出错:%m\n"
+msgstr "扫描 inode (%i) 时出错:%m\n"
 
 #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1316
 #, no-c-format
 msgid "@A @i @B (@i_dup_map): %m\n"
-msgstr "分配@i@B时出错(inode_dup_map):%m\n"
+msgstr "分配 @i @B时出错 (inode_dup_map):%m\n"
 
 #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1283
+#: e2fsck/problem.c:1322
 #, no-c-format
 msgid "Error while iterating over @bs in @i %i (%s): %m\n"
-msgstr "迭代@i %i中的@b时出错(%s):%m\n"
+msgstr "迭代 @i %i (%s) 中的@b时出错:%m\n"
 
 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1288 e2fsck/problem.c:1663
+#: e2fsck/problem.c:1327 e2fsck/problem.c:1707
 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
-msgstr "为@aB %b(@i %i)调整refcount时出错:%m\n"
+msgstr "为@a@b %b (@i %i) 调整引用计数时出错:%m\n"
 
 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1298
+#: e2fsck/problem.c:1337
 msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
-msgstr "第 1C 步:扫描含有@m@b的目录@i\n"
+msgstr "第 1C 遍:扫描目录以寻找含有@m@b的 @i\n"
 
 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1304
+#: e2fsck/problem.c:1343
 msgid "Pass 1D: Reconciling @m @bs\n"
-msgstr "第 1C 步:调整@m@b\n"
+msgstr "第 1D 遍:修复@m@b\n"
 
 #. @-expanded: File %Q (inode #%i, mod time %IM) \n
 #. @-expanded:   has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1309
+#: e2fsck/problem.c:1348
 msgid ""
 "File %Q (@i #%i, mod time %IM) \n"
 "  has %r @m @b(s), shared with %N file(s):\n"
@@ -2168,28 +2197,28 @@
 "与 %N 个文件共享 %r 个@m@b\n"
 
 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1315
+#: e2fsck/problem.c:1354
 msgid "\t%Q (@i #%i, mod time %IM)\n"
 msgstr "\t%Q(@i #%i,修改时间 %IM)\n"
 
 #. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1359
 msgid "\t<@f metadata>\n"
 msgstr "\t<@f元数据>\n"
 
 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1325
+#: e2fsck/problem.c:1364
 msgid ""
 "(There are %N @is containing @m @bs.)\n"
 "\n"
 msgstr ""
-"(共有 %N 含有@m@b的@i)\n"
+"(共有 %N 个 @i 含有@m@b。)\n"
 "\n"
 
 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1330
+#: e2fsck/problem.c:1369
 msgid ""
 "@m @bs already reassigned or cloned.\n"
 "\n"
@@ -2197,792 +2226,824 @@
 "@m@b已被重新分配或克隆。\n"
 "\n"
 
-#: e2fsck/problem.c:1344
+#: e2fsck/problem.c:1383
 #, no-c-format
 msgid "Couldn't clone file: %m\n"
 msgstr "无法克隆文件:%m\n"
 
 #. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1350
+#: e2fsck/problem.c:1389
 msgid "Pass 1E: Optimizing @x trees\n"
-msgstr "第 1E 步:优化@x树\n"
+msgstr "第 1E 遍:优化 @x 树\n"
 
 #. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1356
+#: e2fsck/problem.c:1395
 #, no-c-format
 msgid "Failed to optimize @x tree %p (%i): %m\n"
-msgstr "优化@x树 %p(%i)失败:%m\n"
+msgstr "优化 @x 树 %p (%i) 失败:%m\n"
 
 #. @-expanded: Optimizing extent trees: 
-#: e2fsck/problem.c:1361
+#: e2fsck/problem.c:1400
 msgid "Optimizing @x trees: "
-msgstr "优化@x树:"
+msgstr "优化 @x 树:"
 
-#: e2fsck/problem.c:1376
+#: e2fsck/problem.c:1415
 msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
-msgstr "内部错误:extent树的最大深度过大(当前为 %b;应为 %c)。\n"
+msgstr "内部错误:extent 树的最大深度过大(%b;应为 %c)。\n"
 
 #. @-expanded: inode %i extent tree (at level %b) could be shorter.  
-#: e2fsck/problem.c:1381
+#: e2fsck/problem.c:1420
 msgid "@i %i @x tree (at level %b) could be shorter.  "
-msgstr "@i %i 的@x树(位于第 %b 层)的深度可以更小。"
+msgstr "@i %i 的 @x 树(位于第 %b 层)的深度可以更小。"
 
 #. @-expanded: inode %i extent tree (at level %b) could be narrower.  
-#: e2fsck/problem.c:1386
+#: e2fsck/problem.c:1425
 msgid "@i %i @x tree (at level %b) could be narrower.  "
-msgstr "@i %i 的@x树(位于第 %b 层)可以更窄。"
+msgstr "@i %i 的 @x 树(位于第 %b 层)可以更窄。"
 
 #. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1393
+#: e2fsck/problem.c:1432
 msgid "Pass 2: Checking @d structure\n"
-msgstr "第 2 步:检查目录结构\n"
+msgstr "第 2 遍:检查目录结构\n"
 
 #. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1399
+#: e2fsck/problem.c:1438
 #, no-c-format
 msgid "@n @i number for '.' in @d @i %i.\n"
-msgstr "@d@i %i 中“.”的@n@i编号无效。\n"
+msgstr "@d @i %i 中 \".\" 的 @i 编号无效。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1404
+#: e2fsck/problem.c:1443
 msgid "@E has @n @i #: %Di.\n"
-msgstr "@E含有@n@i #:%Di\n"
+msgstr "@E 含有@n @i 编号:%Di。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.  
-#: e2fsck/problem.c:1409
+#: e2fsck/problem.c:1448
 msgid "@E has @D/unused @i %Di.  "
-msgstr "@E含有@D或未使用的@ %Di。  "
+msgstr "@E 含有@D或未使用的 @i %Di。"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.'  
-#: e2fsck/problem.c:1414
+#: e2fsck/problem.c:1453
 msgid "@E @L to '.'  "
-msgstr "@E是一个指向“.”的链接"
+msgstr "@E 是一个指向 \".\" 的链接  "
 
 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1419
+#: e2fsck/problem.c:1458
 msgid "@E points to @i (%Di) located in a bad @b.\n"
-msgstr "@E指向位于坏@b的@i(%Di)。\n"
+msgstr "@E 指向位于坏@b的 @i (%Di)。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1424
+#: e2fsck/problem.c:1463
 msgid "@E @L to @d %P (%Di).\n"
-msgstr "@E是一个指向@d %P(%Di)的链接。\n"
+msgstr "@E 是一个指向@d %P (%Di) 的链接。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1429
+#: e2fsck/problem.c:1468
 msgid "@E @L to the @r.\n"
-msgstr "@E是一个指向@r的链接。\n"
+msgstr "@E 是一个指向@r 的链接。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1434
+#: e2fsck/problem.c:1473
 msgid "@E has illegal characters in its name.\n"
-msgstr "@E的名称中有无效字符。\n"
+msgstr "@E 的名称中有非法字符。\n"
 
 #. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1440
+#: e2fsck/problem.c:1479
 #, no-c-format
 msgid "Missing '.' in @d @i %i.\n"
-msgstr "@d@i %i 中缺少“.”。\n"
+msgstr "@d @i %i 中缺少 \".\"。\n"
 
 #. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1485
 #, no-c-format
 msgid "Missing '..' in @d @i %i.\n"
-msgstr "@d@i %i 中缺少“..”。\n"
+msgstr "@d @i %i 中缺少 \"..\"。\n"
 
 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1490
 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
-msgstr "@d@i %i 中的第一个@e“%Dn”(@i=%Di)@s“.”\n"
+msgstr "@d @i %i (%p) 中的第一个@e \"%Dn\" (@i=%Di) @s \".\"\n"
 
 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1495
 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
-msgstr "@d@i %i 中的第二个@e“%Dn”(@i=%Di)@s“..”\n"
+msgstr "@d @i %i 中的第二个@e \"%Dn\" (@i=%Di) @s \"..\"\n"
 
 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1461
+#: e2fsck/problem.c:1500
 msgid "i_faddr @F %IF, @s zero.\n"
-msgstr "@i %i (%Q)的i_faddr为 %IF,@s0。\n"
+msgstr "@i %i (%Q) 的 i_faddr 为 %IF,@s 0。\n"
 
 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1466
+#: e2fsck/problem.c:1505
 msgid "i_file_acl @F %If, @s zero.\n"
-msgstr "@i %i (%Q)的i_file_acl为 %IF,@s0。\n"
+msgstr "@i %i (%Q) 的 i_file_acl 为 %IF,@s 0。\n"
 
 #. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1471
-#, fuzzy
-#| msgid "i_fsize @F %N, @s zero.\n"
+#: e2fsck/problem.c:1510
 msgid "i_size_high @F %Id, @s zero.\n"
-msgstr "@i %i (%Q)的i_size为 %N,@s0。\n"
+msgstr "@i %i (%Q) 的 i_size_high 为 %Id,@s 0。\n"
 
 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1476
+#: e2fsck/problem.c:1515
 msgid "i_frag @F %N, @s zero.\n"
-msgstr "@i %i (%Q)的i_frag为 %N,@s0。\n"
+msgstr "@i %i (%Q) 的 i_frag 为 %N,@s 0。\n"
 
 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1481
+#: e2fsck/problem.c:1520
 msgid "i_fsize @F %N, @s zero.\n"
-msgstr "@i %i (%Q)的i_size为 %N,@s0。\n"
+msgstr "@i %i (%Q) 的 i_size 为 %N,@s 0。\n"
 
 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1486
+#: e2fsck/problem.c:1525
 msgid "@i %i (%Q) has @n mode (%Im).\n"
-msgstr "@i %i(%Q)有@n模式 (%Im)。\n"
+msgstr "@i %i (%Q) 有@n模式 (%Im)。\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1491
+#: e2fsck/problem.c:1530
 msgid "@d @i %i, %B, offset %N: @d corrupted\n"
-msgstr "@d@i %i,%B,偏移量 %N:@d已损坏\n"
+msgstr "@d @i %i,%B,偏移量 %N:@d已损坏\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1496
+#: e2fsck/problem.c:1535
 msgid "@d @i %i, %B, offset %N: filename too long\n"
-msgstr "@d@i %i,%B,偏移量 %N:文件名过长\n"
+msgstr "@d @i %i,%B,偏移量 %N:文件名过长\n"
 
 #. @-expanded: directory inode %i has an unallocated %B.  
-#: e2fsck/problem.c:1501
+#: e2fsck/problem.c:1540
 msgid "@d @i %i has an unallocated %B.  "
-msgstr "@d@i %i 含有未分配的 %B。  "
+msgstr "@d @i %i 含有未分配的%B。"
 
 #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1507
+#: e2fsck/problem.c:1546
 #, no-c-format
 msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
-msgstr "@d@i %i 中的“.”@d@e 没有以NULL终止\n"
+msgstr "@d @i %i 中的 \".\" @d@e没有以 NULL 终止\n"
 
 #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1552
 #, no-c-format
 msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
-msgstr "@d@i %i 中的“..”@d@e 没有以NULL终止\n"
+msgstr "@d @i %i 中的 \"..\" @d@e没有以 NULL 终止\n"
 
 #. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1557
 msgid "@i %i (%Q) is an @I character @v.\n"
-msgstr "@i %i(%Q)是一个@I的字符@v。\n"
+msgstr "@i %i (%Q) 是一个非法的字符@v。\n"
 
 #. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1562
 msgid "@i %i (%Q) is an @I @b @v.\n"
-msgstr "@i %i(%Q)是一个@I的@b@v。\n"
+msgstr "@i %i (%Q) 是一个非法的@b@v。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1528
+#: e2fsck/problem.c:1567
 msgid "@E is duplicate '.' @e.\n"
-msgstr "@E为重复的“.”目录@e。\n"
+msgstr "@E 为重复的 \".\" 目录@e。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1533
+#: e2fsck/problem.c:1572
 msgid "@E is duplicate '..' @e.\n"
-msgstr "@E为重复的“..”目录@e。\n"
+msgstr "@E 为重复的 \"..\" 目录@e。\n"
 
-#: e2fsck/problem.c:1539 e2fsck/problem.c:1898
+#: e2fsck/problem.c:1578 e2fsck/problem.c:1963
 #, no-c-format
 msgid "Internal error: couldn't find dir_info for %i.\n"
-msgstr "内部错误:无法找到 %i 的dir_info。\n"
+msgstr "内部错误:无法找到 %i 的 dir_info。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1544
+#: e2fsck/problem.c:1583
 msgid "@E has rec_len of %Dr, @s %N.\n"
-msgstr "@E的rec_len为 %Dr,@s %N。\n"
+msgstr "@E 的 rec_len 为 %Dr,@s %N。\n"
 
 #. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1589
 #, no-c-format
 msgid "@A icount structure: %m\n"
-msgstr "分配icount结构体时出错:%m\n"
+msgstr "分配 icount 结构体时出错:%m\n"
 
 #. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1556
+#: e2fsck/problem.c:1595
 #, no-c-format
 msgid "Error iterating over @d @bs: %m\n"
 msgstr "迭代@d@b时出错:%m\n"
 
 #. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1561
+#: e2fsck/problem.c:1600
 msgid "Error reading @d @b %b (@i %i): %m\n"
-msgstr "读取@d@b %b(@i %i)时出错:%m\n"
+msgstr "读取@d@b %b (@i %i) 时出错:%m\n"
 
 #. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1605
 msgid "Error writing @d @b %b (@i %i): %m\n"
-msgstr "写入@d@b %b(@i %i)时出错:%m\n"
+msgstr "写入@d@b %b (@i %i) 时出错:%m\n"
 
 #. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1611
 #, no-c-format
 msgid "@A new @d @b for @i %i (%s): %m\n"
-msgstr "为@i %i(%s)分配新@d@b时出错:%m\n"
+msgstr "为 @i %i (%s) 分配新@d@b时出错:%m\n"
 
 #. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1617
 #, no-c-format
 msgid "Error deallocating @i %i: %m\n"
-msgstr "取消分配@i %i时出错:%m\n"
+msgstr "取消分配 @i %i 时出错:%m\n"
 
 #. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1584
+#: e2fsck/problem.c:1623
 #, no-c-format
 msgid "@d @e for '.' in %p (%i) is big.\n"
-msgstr "%p(%i)中“.”的@d@e太大。\n"
+msgstr "%p (%i) 中 \".\" 的@d@e太大。\n"
 
 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1589
+#: e2fsck/problem.c:1628
 msgid "@i %i (%Q) is an @I FIFO.\n"
-msgstr "@i %i(%Q)是一个@I队列。\n"
+msgstr "@i %i (%Q) 是一个@I队列。\n"
 
 #. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1633
 msgid "@i %i (%Q) is an @I socket.\n"
-msgstr "@i %i(%Q)是一个@I套接字。\n"
+msgstr "@i %i (%Q) 是一个@I套接字。\n"
 
 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1599
+#: e2fsck/problem.c:1638
 msgid "Setting filetype for @E to %N.\n"
-msgstr "将@E的文件类型设置为 %N。\n"
+msgstr "将@E 的文件类型设置为 %N。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1604
+#: e2fsck/problem.c:1643
 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
-msgstr "@E含有错误的文件类型(%Dt,@s %N)。\n"
+msgstr "@E 含有错误的文件类型(%Dt,@s %N)。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1609
+#: e2fsck/problem.c:1648
 msgid "@E has filetype set.\n"
-msgstr "@E被设置了文件类型。\n"
+msgstr "@E 被设置了文件类型。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1614
+#: e2fsck/problem.c:1653
 msgid "@E has a @z name.\n"
-msgstr "@E含有长度为零的名称。\n"
+msgstr "@E 含有长度为零的名称。\n"
 
 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1619
+#: e2fsck/problem.c:1658
 msgid "Symlink %Q (@i #%i) is @n.\n"
-msgstr "符号链接 %Q(@i #%i)无效。\n"
+msgstr "符号链接 %Q (@i #%i) 无效。\n"
 
 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1624
+#: e2fsck/problem.c:1663
 msgid "@a @b @F @n (%If).\n"
-msgstr "@i %i 的@a@b无效(%lf)。\n"
+msgstr "@i %i (%Q) 的@a@b无效 (%If)。\n"
 
 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1629
+#: e2fsck/problem.c:1668
 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
-msgstr "@f含有大文件,但@S中未设置LARGE_FILE标志。\n"
+msgstr "@f含有大文件,但@S中未设置 LARGE_FILE 标志。\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1634
+#: e2fsck/problem.c:1673
 msgid "@p @h %d: %B not referenced\n"
-msgstr "@h %d 中发现问题:%B\n"
+msgstr "@h %d 中发现问题:%B 未被引用\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1639
+#: e2fsck/problem.c:1678
 msgid "@p @h %d: %B referenced twice\n"
 msgstr "@h %d 中发现问题:%B 被引用了两次\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1644
+#: e2fsck/problem.c:1683
 msgid "@p @h %d: %B has bad min hash\n"
-msgstr "@h %d 中发现问题:%B 含有错误的最小hash值\n"
+msgstr "@h %d 中发现问题:%B 含有错误的最小 hash 值\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1649
+#: e2fsck/problem.c:1688
 msgid "@p @h %d: %B has bad max hash\n"
-msgstr "@h %d 中发现问题:%B 含有错误的最大hash值\n"
+msgstr "@h %d 中发现问题:%B 含有错误的最大 hash 值\n"
 
 #. @-expanded: invalid HTREE directory inode %d (%q).  
-#: e2fsck/problem.c:1654
+#: e2fsck/problem.c:1693
 msgid "@n @h %d (%q).  "
-msgstr "@n@h %d(%q)。  "
+msgstr "@n @h %d (%q)。"
+
+#. @-expanded: filesystem has large directories, but lacks LARGE_DIR flag in superblock.\n
+#: e2fsck/problem.c:1697
+msgid "@f has large directories, but lacks LARGE_DIR flag in @S.\n"
+msgstr "@f含有大目录,但@S中未设置 LARGE_DIR 标志。\n"
 
 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1658
+#: e2fsck/problem.c:1702
 msgid "@p @h %d (%q): bad @b number %b.\n"
-msgstr "@h %d(%q)中发现问题:@b编号 %b 无效。\n"
+msgstr "@h %d (%q) 中发现问题:@b编号 %b 无效。\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1669
+#: e2fsck/problem.c:1713
 #, no-c-format
 msgid "@p @h %d: root node is @n\n"
-msgstr "@p@h %d:结点@n\n"
+msgstr "@h %d 中发现问题:根结点无效\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1674
+#: e2fsck/problem.c:1718
 msgid "@p @h %d: %B has @n limit (%N)\n"
-msgstr "@h %d 中发现问题:%B 含有@n限制(%N)\n"
+msgstr "@h %d 中发现问题:%B 含有@n限制 (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1679
+#: e2fsck/problem.c:1723
 msgid "@p @h %d: %B has @n count (%N)\n"
-msgstr "@h %d 中发现问题:%B 含有@n计数(%N)\n"
+msgstr "@h %d 中发现问题:%B 含有@n计数 (%N)\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1684
+#: e2fsck/problem.c:1728
 msgid "@p @h %d: %B has an unordered hash table\n"
-msgstr "@h %d 中发现问题:%B 含有未排序的hash表\n"
+msgstr "@h %d 中发现问题:%B 含有未排序的 hash 表\n"
 
 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1689
+#: e2fsck/problem.c:1733
 msgid "@p @h %d: %B has @n depth (%N)\n"
-msgstr "@h %d 中发现问题:%B 含有@n深度(%N)\n"
+msgstr "@h %d 中发现问题:%B 含有@n深度 (%N)\n"
 
 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found.  
-#: e2fsck/problem.c:1694
+#: e2fsck/problem.c:1738
 msgid "Duplicate @E found.  "
-msgstr "发现%p(%i)中有重复项“%Dn”。  "
+msgstr "发现 %p (%i) 中有重复项 \"%Dn\"。"
 
 #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
 #. @-expanded: Rename to %s
-#: e2fsck/problem.c:1699
+#: e2fsck/problem.c:1743
 #, no-c-format
 msgid ""
 "@E has a non-unique filename.\n"
 "Rename to %s"
 msgstr ""
-"@E含有一个非唯一的文件名。\n"
-"已重命名为%s"
+"@E 含有一个非唯一的文件名。\n"
+"重命名为 %s"
 
 #. @-expanded: Duplicate entry '%Dn' found.\n
 #. @-expanded: \tMarking %p (%i) to be rebuilt.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1704
+#: e2fsck/problem.c:1748
 msgid ""
 "Duplicate @e '%Dn' found.\n"
 "\tMarking %p (%i) to be rebuilt.\n"
 "\n"
 msgstr ""
-"发现了重复的@e”@Dn“。\n"
-"\t将 %p(%i)标记为需要重建的。\n"
+"发现了重复的@e \"@Dn\"。\n"
+"\t将 %p (%i) 标记为需要重建的。\n"
 "\n"
 
 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1709
+#: e2fsck/problem.c:1753
 msgid "i_blocks_hi @F %N, @s zero.\n"
-msgstr "@i %i(%Q)的i_blocks_hi为 %N,@s0。\n"
+msgstr "@i %i (%Q) 的 i_blocks_hi 为 %N,@s 0。\n"
 
 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1714
+#: e2fsck/problem.c:1758
 msgid "Unexpected @b in @h %d (%q).\n"
-msgstr "@h %d(%q)中有额外的@b。\n"
+msgstr "@h %d (%q) 中有非预期的@b。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1719
+#: e2fsck/problem.c:1763
 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
-msgstr "@E引用了@g %g 中的@i %Di,但该@g被设置了_INODE_UNINIT标志。  \n"
+msgstr "@E 引用了@g %g 中的 @i %Di,但该@g被设置了 _INODE_UNINIT 标志。\n"
 
 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1724
+#: e2fsck/problem.c:1768
 msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
-msgstr "@E引用了@g %g 中的@i %Di,但该@i位于未使用inode区。  \n"
+msgstr "@E 引用了 @i %Di,但该 @i 位于@g %g 的未使用的 inode 区。\n"
 
 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1729
+#: e2fsck/problem.c:1773
 msgid "i_file_acl_hi @F %N, @s zero.\n"
-msgstr "@i %i (%Q)的i_file_acl_hi为 %N,@s0。\n"
+msgstr "@i %i (%Q) 的 i_file_acl_hi 为 %N,@s 0。\n"
 
 #. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1735
+#: e2fsck/problem.c:1779
 #, no-c-format
 msgid "@p @h %d: root node fails checksum.\n"
-msgstr "@p@h %d:根结点的校验值错误。\n"
+msgstr "@p @h %d:根结点的校验和错误。\n"
 
 #. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1785
 #, no-c-format
 msgid "@p @h %d: internal node fails checksum.\n"
-msgstr "@p@h %d:内部结点的校验值错误。\n"
+msgstr "@p @h %d:内部结点的校验和错误。\n"
 
 #. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1790
 msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
-msgstr "@d@i %i,%B,偏移量 %N:@d缺少校验值。\n"
+msgstr "@d @i %i,%B,偏移量 %N:@d没有校验和。\n"
 
 #. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1795
 msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
-msgstr "@d@i %i,%B:@d通过了检验,但校验值错误。\n"
+msgstr "@d @i %i,%B:@d通过了检查,但校验和错误。\n"
 
 #. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1756
+#: e2fsck/problem.c:1800
 msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
-msgstr "内联@d @i %i 的大小(%N)必须为4的整数倍。\n"
+msgstr "内联@d @i %i 的大小 (%N) 必须为 4 的整数倍。\n"
 
 #. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1762
+#: e2fsck/problem.c:1806
 #, no-c-format
 msgid "Fixing size of inline @d @i %i failed.\n"
 msgstr "修复内联@d @i %i 的大小失败。\n"
 
 #. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1767
+#: e2fsck/problem.c:1811
 msgid "Encrypted @E is too short.\n"
-msgstr "加密的@E太短。\n"
+msgstr "加密的@E 太短。\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references unencrypted inode %Di.\n
+#: e2fsck/problem.c:1816
+msgid "Encrypted @E references unencrypted @i %Di.\n"
+msgstr "加密的@E 引用了未加密的 @i %Di。\n"
+
+#. @-expanded: Encrypted entry '%Dn' in %p (%i) references inode %Di, which has a different encryption policy.\n
+#: e2fsck/problem.c:1821
+msgid "Encrypted @E references @i %Di, which has a different encryption policy.\n"
+msgstr "加密的@E 引用了 @i %Di,但它具有不同的加密策略。\n"
+
+#. @-expanded: entry '%Dn' in %p (%i) has illegal UTF-8 characters in its name.\n
+#: e2fsck/problem.c:1826
+msgid "@E has illegal UTF-8 characters in its name.\n"
+msgstr "@E 的名称中含有无效的 UTF-8 字符。\n"
+
+#. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.  
+#: e2fsck/problem.c:1831
+msgid "Duplicate filename @E found.  "
+msgstr "发现 %p (%i) 中有重复的文件名项 \"%Dn\"。"
 
 #. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1774
+#: e2fsck/problem.c:1839
 msgid "Pass 3: Checking @d connectivity\n"
-msgstr "第 3 步:检查目录连接性\n"
+msgstr "第 3 遍:检查目录连接性\n"
 
 #. @-expanded: root inode not allocated.  
-#: e2fsck/problem.c:1779
+#: e2fsck/problem.c:1844
 msgid "@r not allocated.  "
-msgstr "@r未被分配。  "
+msgstr "@r 未被分配。"
 
 #. @-expanded: No room in lost+found directory.  
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1849
 msgid "No room in @l @d.  "
-msgstr "@l@d中没有空间。  "
+msgstr "@l @d中没有空间。"
 
-#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1790
+#. @-expanded: Unconnected directory inode %i (was in %q)\n
+#: e2fsck/problem.c:1855
 #, no-c-format
-msgid "Unconnected @d @i %i (%p)\n"
-msgstr "未被连接的@d@i %i(%p)\n"
+msgid "Unconnected @d @i %i (was in %q)\n"
+msgstr "未被连接的@d @i %i(之前位于 %p)\n"
 
 #. @-expanded: /lost+found not found.  
-#: e2fsck/problem.c:1795
+#: e2fsck/problem.c:1860
 msgid "/@l not found.  "
-msgstr "/@l未找到。"
+msgstr "/@l 未找到。"
 
 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1800
+#: e2fsck/problem.c:1865
 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
-msgstr "%Q(%i)中的“..”为 %P(%j),@s %q(%d)\n"
+msgstr "%Q (%i) 中的 \"..\" 为 %P (%j),@s %q (%d)。\n"
 
 #. @-expanded: Bad or non-existent /lost+found.  Cannot reconnect.\n
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1871
 #, no-c-format
 msgid "Bad or non-existent /@l.  Cannot reconnect.\n"
-msgstr "错误或不存在的/@l。无法重新连接。\n"
+msgstr "错误或不存在的 /@l。无法重新连接。\n"
 
 #. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1812
+#: e2fsck/problem.c:1877
 #, no-c-format
 msgid "Could not expand /@l: %m\n"
-msgstr "无法扩充/@l:%m\n"
+msgstr "无法扩充 /@l:%m\n"
 
-#: e2fsck/problem.c:1818
+#: e2fsck/problem.c:1883
 #, no-c-format
 msgid "Could not reconnect %i: %m\n"
-msgstr "无法重新连接%i:%m\n"
+msgstr "无法重新连接 %i:%m\n"
 
 #. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1824
+#: e2fsck/problem.c:1889
 #, no-c-format
 msgid "Error while trying to find /@l: %m\n"
-msgstr "尝试查找/@l时出错:%m\n"
+msgstr "尝试查找 /@l 时出错:%m\n"
 
 #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1830
+#: e2fsck/problem.c:1895
 #, no-c-format
 msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
-msgstr "ext2fs_new_block:尝试创建/@l@d时%m\n"
+msgstr "ext2fs_new_block: 尝试创建 /@l @d时%m\n"
 
 #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1836
+#: e2fsck/problem.c:1901
 #, no-c-format
 msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
-msgstr "ext2fs_new_inode:尝试创建/@l@d时%m\n"
+msgstr "ext2fs_new_inode: 尝试创建 /@l @d时%m\n"
 
 #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1842
+#: e2fsck/problem.c:1907
 #, no-c-format
 msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
-msgstr "ext2fs_new_dir_block:创建新的@d@b时%m\n"
+msgstr "ext2fs_new_dir_block: 创建新的@d@b时%m\n"
 
 #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1848
+#: e2fsck/problem.c:1913
 #, no-c-format
 msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
-msgstr "ext2fs_new_dir_block:为/@l创建新的@d@b时%m\n"
+msgstr "ext2fs_new_dir_block: 为 /@l 写入@d@b时%m\n"
 
 #. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1854
+#: e2fsck/problem.c:1919
 #, no-c-format
 msgid "Error while adjusting @i count on @i %i\n"
-msgstr "调整@i %i的inode计数时出错\n"
+msgstr "调整 @i %i 的 @i 计数时出错\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: %m\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1860
+#: e2fsck/problem.c:1925
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: %m\n"
 "\n"
 msgstr ""
-"无法修改@i %i的父节点:%m\n"
+"无法修改 @i %i 的父节点:%m\n"
 "\n"
 
 #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1866
+#: e2fsck/problem.c:1931
 #, no-c-format
 msgid ""
 "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
 "\n"
 msgstr ""
-"无法修改@i %i的父节点:无法找到其父@d@e\n"
+"无法修改 @i %i 的父节点:无法找到父@d@e\n"
 "\n"
 
 #. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1877
+#: e2fsck/problem.c:1942
 #, no-c-format
 msgid "Error creating root @d (%s): %m\n"
-msgstr "创建根@d(%s)时出错:%m\n"
+msgstr "创建根@d (%s) 时出错:%m\n"
 
 #. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1883
+#: e2fsck/problem.c:1948
 #, no-c-format
 msgid "Error creating /@l @d (%s): %m\n"
-msgstr "创建/@l@d(%s)时出错:%m\n"
+msgstr "创建 /@l @d (%s) 时出错:%m\n"
 
 #. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1888
+#: e2fsck/problem.c:1953
 msgid "@r is not a @d; aborting.\n"
-msgstr "@r不是一个@d;已终止执行。\n"
+msgstr "@r 不是一个@d;已中止执行。\n"
 
 #. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1958
 msgid "Cannot proceed without a @r.\n"
-msgstr "无法在没有@r的情况下继续。\n"
+msgstr "无法在没有@r 的情况下继续。\n"
 
 #. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1969
 #, no-c-format
 msgid "/@l is not a @d (ino=%i)\n"
-msgstr "/@l 不是一个@d(ino=%i)\n"
+msgstr "/@l 不是一个@d (ino=%i)\n"
 
 #. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1909
+#: e2fsck/problem.c:1974
 msgid "/@l has inline data\n"
 msgstr "/@l 含有内联数据\n"
 
 #. @-expanded: Cannot allocate space for /lost+found.\n
 #. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1914
+#: e2fsck/problem.c:1979
 msgid ""
 "Cannot allocate space for /@l.\n"
 "Place lost files in root directory instead"
 msgstr ""
 "无法为 /@l 分配空间。\n"
-"请将丢失的文件置于根目录下"
+"转而将丢失的文件置于根目录下"
 
 #. @-expanded: Insufficient space to recover lost files!\n
 #. @-expanded: Move data off the filesystem and re-run e2fsck.\n
 #. @-expanded: \n
-#: e2fsck/problem.c:1919
+#: e2fsck/problem.c:1984
 msgid ""
 "Insufficient space to recover lost files!\n"
 "Move data off the @f and re-run e2fsck.\n"
 "\n"
 msgstr ""
-"没有足够的空间来回复丢失文件!\n"
+"没有足够的空间来恢复丢失文件!\n"
 "请将数据从@f中移出,然后重新运行 e2fsck。\n"
 "\n"
 
 #. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1924
+#: e2fsck/problem.c:1989
 msgid "/@l is encrypted\n"
 msgstr "/@l 已被加密\n"
 
-#: e2fsck/problem.c:1931
-msgid "Pass 3A: Optimizing directories\n"
-msgstr "第 3A 步:优化目录\n"
+#. @-expanded: Recursively looped directory inode %i (%p)\n
+#: e2fsck/problem.c:1995
+#, no-c-format
+msgid "Recursively looped @d @i %i (%p)\n"
+msgstr "递归循环的@d @i %i (%p)\n"
 
-#: e2fsck/problem.c:1937
+#: e2fsck/problem.c:2002
+msgid "Pass 3A: Optimizing directories\n"
+msgstr "第 3A 遍:优化目录\n"
+
+#: e2fsck/problem.c:2008
 #, no-c-format
 msgid "Failed to create dirs_to_hash iterator: %m\n"
-msgstr "创建dirs_to_hash迭代器出错:%m\n"
+msgstr "创建 dirs_to_hash 迭代器失败:%m\n"
 
-#: e2fsck/problem.c:1942
+#: e2fsck/problem.c:2013
 msgid "Failed to optimize directory %q (%d): %m\n"
-msgstr "优化目录 %q(%d)失败:%m\n"
+msgstr "优化目录 %q (%d) 失败:%m\n"
 
-#: e2fsck/problem.c:1947
+#: e2fsck/problem.c:2018
 msgid "Optimizing directories: "
-msgstr "优化目录: "
+msgstr "优化目录:"
 
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:2035
 msgid "Pass 4: Checking reference counts\n"
-msgstr "第 4 步:检查引用计数\n"
+msgstr "第 4 遍:检查引用计数\n"
 
 #. @-expanded: unattached zero-length inode %i.  
-#: e2fsck/problem.c:1970
+#: e2fsck/problem.c:2041
 #, no-c-format
 msgid "@u @z @i %i.  "
-msgstr "@u@z@i %i。  "
+msgstr "@u@z @i %i。"
 
 #. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:1976
+#: e2fsck/problem.c:2047
 #, no-c-format
 msgid "@u @i %i\n"
-msgstr "@u@i %i。  \n"
+msgstr "@u @i %i。\n"
 
 #. @-expanded: inode %i ref count is %Il, should be %N.  
-#: e2fsck/problem.c:1981
+#: e2fsck/problem.c:2052
 msgid "@i %i ref count is %Il, @s %N.  "
-msgstr "@i %i 的引用计数为 %Il,@s %N。  "
+msgstr "@i %i 的引用计数为 %Il,@s %N。"
 
 #. @-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
-#: e2fsck/problem.c:1985
+#: e2fsck/problem.c:2056
 msgid ""
 "WARNING: PROGRAMMING BUG IN E2FSCK!\n"
 "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
 "@i_link_info[%i] is %N, @i.i_links_count is %Il.  They @s the same!\n"
 msgstr ""
-"警告:e2fsck中出现程序错误!\n"
-"\t或者是(粗心大意的)你正在检查一个被挂载的(活动的)文件系统。\n"
+"警告:e2fsck 中出现程序错误!\n"
+"\t或者某个粗心大意的人(你)正在检查一个已挂载的(活动的)文件系统。\n"
 "@i_link_info[%i] 为 %N,@i.i_links_count 为 %Il。它们应当相同!\n"
 
 #. @-expanded: extended attribute inode %i ref count is %N, should be %n. 
-#: e2fsck/problem.c:1992
-#, fuzzy
-#| msgid "@i %i ref count is %Il, @s %N.  "
+#: e2fsck/problem.c:2063
 msgid "@a @i %i ref count is %N, @s %n. "
-msgstr "@i %i 的引用计数为 %Il,@s %N。  "
+msgstr "@a @i %i 引用计数为 %N,@s %n。"
 
 #. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2068
 msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
-msgstr ""
+msgstr "@d超出了最大链接数,但@S中没有 DIR_NLINK 特性。\n"
+
+#. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.  
+#: e2fsck/problem.c:2073
+msgid "@d @i %i ref count set to overflow but could be exact value %N.  "
+msgstr "@d @i %i 的引用计数被设为溢出,但可能是准确值 %N。"
 
 #. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2004
+#: e2fsck/problem.c:2080
 msgid "Pass 5: Checking @g summary information\n"
-msgstr "第 5 步:检查@g概要信息\n"
+msgstr "第 5 遍:检查@g概要信息\n"
 
 #. @-expanded: Padding at end of inode bitmap is not set. 
-#: e2fsck/problem.c:2009
+#: e2fsck/problem.c:2085
 msgid "Padding at end of @i @B is not set. "
-msgstr "@i@B末尾的填充值未设置。 "
+msgstr "@i @B末尾的填充值未设置。"
 
 #. @-expanded: Padding at end of block bitmap is not set. 
-#: e2fsck/problem.c:2014
+#: e2fsck/problem.c:2090
 msgid "Padding at end of @b @B is not set. "
-msgstr "@b@B末尾的填充值未设置。 "
+msgstr "@b@B末尾的填充值未设置。"
 
 #. @-expanded: block bitmap differences: 
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2095
 msgid "@b @B differences: "
-msgstr "@b@B的差异: "
+msgstr "@b@B的差异:"
 
 #. @-expanded: inode bitmap differences: 
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2117
 msgid "@i @B differences: "
-msgstr "@i@B的差异: "
+msgstr "@i @B的差异:"
 
 #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2063
+#: e2fsck/problem.c:2139
 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
-msgstr "@g #%g的可用@i计数错误(%i,实际为%j)。\n"
+msgstr "@g #%g 的可用 @i 计数错误 (%i, counted=%j)。\n"
 
 #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2068
+#: e2fsck/problem.c:2144
 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
-msgstr "@g #%g的目录计数错误(%i,实际为%j)\n"
+msgstr "@g #%g 的目录计数错误 (%i, counted=%j)。\n"
 
 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2149
 msgid "Free @is count wrong (%i, counted=%j).\n"
-msgstr "可用@i数错误(%i,实际为%j)\n"
+msgstr "可用 @i 计数错误 (%i, counted=%j)。\n"
 
 #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2078
+#: e2fsck/problem.c:2154
 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
-msgstr "@g #%g的可用@b计数错误(%i,实际为%j)。\n"
+msgstr "@g #%g 的可用@b计数错误 (%b, counted=%c)。\n"
 
 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2083
+#: e2fsck/problem.c:2159
 msgid "Free @bs count wrong (%b, counted=%c).\n"
-msgstr "可用@b数错误(%i,实际为%j)\n"
+msgstr "可用@b计数错误 (%b, counted=%c)。\n"
 
 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap 
 #. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2088
+#: e2fsck/problem.c:2164
 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
-msgstr "程序错误:@f(# %n)@B端点(%b,%c)与计算值(%i,%j)不符\n"
+msgstr "程序错误:@f (#%N) @B端点 (%b,%c) 与计算的@B端点 (%i,%j) 不符\n"
 
-#: e2fsck/problem.c:2094
+#: e2fsck/problem.c:2170
 msgid "Internal error: fudging end of bitmap (%N)\n"
-msgstr "内部错误:虚构的位图端点\n"
+msgstr "内部错误:伪造位图尾部 (%N)\n"
 
 #. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2176
 #, no-c-format
 msgid "Error copying in replacement @i @B: %m\n"
-msgstr "替换@i@B时拷贝错误:%m\n"
+msgstr "替换 @i @B时拷贝错误:%m\n"
 
 #. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2106
+#: e2fsck/problem.c:2182
 #, no-c-format
 msgid "Error copying in replacement @b @B: %m\n"
 msgstr "替换@b@B时拷贝错误:%m\n"
 
 #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2136
+#: e2fsck/problem.c:2212
 #, no-c-format
 msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
-msgstr "@g %g @b已被使用,但@g被标记为BLOCK_UNINIT\n"
+msgstr "@g %g @b已被使用,但@g被标记为 BLOCK_UNINIT\n"
 
 #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2142
+#: e2fsck/problem.c:2218
 #, no-c-format
 msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
-msgstr "@g %g @i已被使用,但@g被标记为INODE_UNINIT\n"
+msgstr "@g %g @i 已被使用,但@g被标记为 INODE_UNINIT\n"
 
 #. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2148
+#: e2fsck/problem.c:2224
 #, no-c-format
 msgid "@g %g @i @B does not match checksum.\n"
-msgstr "@g %g @i @B 与自身校验值不符。\n"
+msgstr "@g %g @i @B与校验和不符。\n"
 
 #. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2154
+#: e2fsck/problem.c:2230
 #, no-c-format
 msgid "@g %g @b @B does not match checksum.\n"
-msgstr "@g %g @b @B 与自身校验值不符。\n"
+msgstr "@g %g @b@B与校验和不符。\n"
 
 #. @-expanded: Recreate journal
-#: e2fsck/problem.c:2161
+#: e2fsck/problem.c:2237
 msgid "Recreate @j"
 msgstr "重建@j"
 
-#: e2fsck/problem.c:2166
+#: e2fsck/problem.c:2242
 msgid "Update quota info for quota type %N"
 msgstr "更新配额类型 %N 的配额信息"
 
 #. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2172
+#: e2fsck/problem.c:2248
 #, no-c-format
 msgid "Error setting @b @g checksum info: %m\n"
-msgstr "设置@b@g的校验信息时出错:%m\n"
+msgstr "设置@b@g的校验和信息时出错:%m\n"
 
-#: e2fsck/problem.c:2178
+#: e2fsck/problem.c:2254
 #, no-c-format
 msgid "Error writing file system info: %m\n"
 msgstr "写入文件系统信息时出错:%m\n"
 
-#: e2fsck/problem.c:2184
+#: e2fsck/problem.c:2260
 #, no-c-format
 msgid "Error flushing writes to storage device: %m\n"
-msgstr "将缓冲写入到存储设备:%m\n"
+msgstr "排空缓冲区到存储设备时出错:%m\n"
 
-#: e2fsck/problem.c:2189
+#: e2fsck/problem.c:2265
 msgid "Error writing quota info for quota type %N: %m\n"
 msgstr "写入配额类型 %N 的配额信息时出错:%m\n"
 
-#: e2fsck/problem.c:2352
+#: e2fsck/problem.c:2430
 #, c-format
 msgid "Unhandled error code (0x%x)!\n"
-msgstr "未处理的错误码 (0x%x)!\n"
+msgstr "未处理的错误码 (0x%x)!\n"
 
-#: e2fsck/problem.c:2482 e2fsck/problem.c:2486
+#: e2fsck/problem.c:2558 e2fsck/problem.c:2562
 msgid "IGNORED"
 msgstr "已忽略"
 
@@ -2992,21 +3053,25 @@
 
 #: e2fsck/scantest.c:79
 #, c-format
-msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
-msgstr "内存用量:%d,持续时间:%6.3f/%6.3f/%6.3f\n"
+msgid "Memory used: %lu, elapsed time: %6.3f/%6.3f/%6.3f\n"
+msgstr "内存使用量:%lu,用时:%6.3f/%6.3f/%6.3f\n"
 
 #: e2fsck/scantest.c:98
 #, c-format
 msgid "size of inode=%d\n"
-msgstr "inode大小=%d\n"
+msgstr "inode 大小=%d\n"
+
+#: e2fsck/scantest.c:114 misc/e2image.c:1331
+msgid "while opening inode scan"
+msgstr "打开 inode 扫描时"
 
 #: e2fsck/scantest.c:119
 msgid "while starting inode scan"
-msgstr "开始inode扫描时"
+msgstr "开始 inode 扫描时"
 
 #: e2fsck/scantest.c:130
 msgid "while doing inode scan"
-msgstr "进行inode扫描时"
+msgstr "进行 inode 扫描时"
 
 #: e2fsck/super.c:224
 #, c-format
@@ -3018,15 +3083,15 @@
 msgid "while calling ext2fs_adjust_ea_refcount2 for inode %u"
 msgstr "为 inode %u 调用 ext2fs_adjust_ea_refcount2 时"
 
-#: e2fsck/super.c:374
+#: e2fsck/super.c:375
 msgid "Truncating"
 msgstr "正在截断"
 
-#: e2fsck/super.c:375
+#: e2fsck/super.c:376
 msgid "Clearing"
 msgstr "正在清除"
 
-#: e2fsck/unix.c:78
+#: e2fsck/unix.c:79
 #, c-format
 msgid ""
 "Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n"
@@ -3035,9 +3100,9 @@
 msgstr ""
 "用法:%s [-panyrcdfktvDFV] [-b 超级块] [-B 块大小]\n"
 "\t\t[-l|-L 坏块文件] [-C fd] [-j 外部日志]\n"
-"\t\t[-E 扩展选项]  [-z 撤销文件] 设备\n"
+"\t\t[-E 扩展选项] [-z 撤销文件] 设备\n"
 
-#: e2fsck/unix.c:83
+#: e2fsck/unix.c:84
 msgid ""
 "\n"
 "Emergency help:\n"
@@ -3048,14 +3113,14 @@
 " -f                   Force checking even if filesystem is marked clean\n"
 msgstr ""
 "\n"
-"重要提示:\n"
+"应急提示:\n"
 " -p                   自动修复(不询问)\n"
 " -n                   不对文件系统做任何更改\n"
-" -y                   对所有询问都回答“是”\n"
+" -y                   对所有询问都回答 \"是\"\n"
 " -c                   检查可能的坏块,并将它们加入坏块列表\n"
-" -f                   强制进行检查,即使文件系统被标记为“没有问题”\n"
+" -f                   强制进行检查,即使文件系统被标记为 \"没有问题\"\n"
 
-#: e2fsck/unix.c:89
+#: e2fsck/unix.c:90
 msgid ""
 " -v                   Be verbose\n"
 " -b superblock        Use alternative superblock\n"
@@ -3066,19 +3131,19 @@
 " -z undo_file         Create an undo file\n"
 msgstr ""
 " -v                   显示更多信息\n"
-" -b superblock        使用备选超级块\n"
-" -B blocksize         使用指定块大小来查找超级块\n"
-" -j external_journal  指定外部日志的位置\n"
-" -l bad_blocks_file   添加到指定的坏块列表(文件)\n"
-" -L bad_blocks_file   指定坏块列表(文件)\n"
-" -z undo_file         创建一个撤销文件\n"
+" -b 超级块            使用备选超级块\n"
+" -B 块大小            使用指定块大小来查找超级块\n"
+" -j 外部日志          指定外部日志的位置\n"
+" -l 坏块文件          添加文件到坏块列表\n"
+" -L 坏块文件          指定坏块列表\n"
+" -z 撤销文件          创建一个撤销文件\n"
 
-#: e2fsck/unix.c:137
+#: e2fsck/unix.c:138
 #, c-format
 msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
-msgstr "%s:%u/%u 文件(%0d.%d%% 为非连续的), %llu/%llu 块\n"
+msgstr "%s: %u/%u 文件(%0d.%d%% 不连续),%llu/%llu 块\n"
 
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:165
 #, c-format
 msgid ""
 "\n"
@@ -3088,48 +3153,48 @@
 "%12u inodes used (%2.2f%%, out of %u)\n"
 msgstr[0] ""
 "\n"
-"%12u 个已使用的inode(%2.2f%%,总共 %u)\n"
+"%12u 个已使用的 inode(%2.2f%%,总共 %u)\n"
 
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:169
 #, c-format
 msgid "%12u non-contiguous file (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
-msgstr[0] "%12u 个不连续的文件(%0d.%d%%)\n"
+msgstr[0] "%12u 个不连续的文件 (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:174
 #, c-format
 msgid "%12u non-contiguous directory (%0d.%d%%)\n"
 msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
-msgstr[0] "%12u 个不连续的目录(%0d.%d%%)\n"
+msgstr[0] "%12u 个不连续的目录 (%0d.%d%%)\n"
 
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:179
 #, c-format
 msgid "             # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
-msgstr "             # 一次/二次/三次链接块数:%u/%u/%u\n"
+msgstr "             含有一次/二次/三次间接块的 inode 数:%u/%u/%u\n"
 
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:187
 msgid "             Extent depth histogram: "
-msgstr "             Extent深度直方图: "
+msgstr "             extent 深度直方图:"
 
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:196
 #, c-format
 msgid "%12llu block used (%2.2f%%, out of %llu)\n"
 msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
 msgstr[0] "%12llu 个已使用的块(%2.2f%%,总共 %llu)\n"
 
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:201
 #, c-format
 msgid "%12u bad block\n"
 msgid_plural "%12u bad blocks\n"
 msgstr[0] "%12u 个坏块\n"
 
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:203
 #, c-format
 msgid "%12u large file\n"
 msgid_plural "%12u large files\n"
 msgstr[0] "%12u 个大文件\n"
 
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:205
 #, c-format
 msgid ""
 "\n"
@@ -3141,96 +3206,96 @@
 "\n"
 "%12u 个普通文件\n"
 
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:207
 #, c-format
 msgid "%12u directory\n"
 msgid_plural "%12u directories\n"
-msgstr[0] "%12u 个文件夹\n"
+msgstr[0] "%12u 个目录\n"
 
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:209
 #, c-format
 msgid "%12u character device file\n"
 msgid_plural "%12u character device files\n"
 msgstr[0] "%12u 个字符设备文件\n"
 
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:212
 #, c-format
 msgid "%12u block device file\n"
 msgid_plural "%12u block device files\n"
 msgstr[0] "%12u 个块设备文件\n"
 
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:214
 #, c-format
 msgid "%12u fifo\n"
 msgid_plural "%12u fifos\n"
 msgstr[0] "%12u 个队列文件\n"
 
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:216
 #, c-format
 msgid "%12u link\n"
 msgid_plural "%12u links\n"
 msgstr[0] "%12u 个链接\n"
 
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:218
 #, c-format
 msgid "%12u symbolic link"
 msgid_plural "%12u symbolic links"
 msgstr[0] "%12u 个符号链接"
 
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:220
 #, c-format
 msgid " (%u fast symbolic link)\n"
 msgid_plural " (%u fast symbolic links)\n"
-msgstr[0] " (%u 个直接符号链接)\n"
+msgstr[0] "(%u 个快速符号链接)\n"
 
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:224
 #, c-format
 msgid "%12u socket\n"
 msgid_plural "%12u sockets\n"
 msgstr[0] "%12u 个套接字文件\n"
 
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:228
 #, c-format
 msgid "%12u file\n"
 msgid_plural "%12u files\n"
 msgstr[0] "%12u 个文件\n"
 
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2986 misc/util.c:129
-#: resize/main.c:354
+#: e2fsck/unix.c:241 misc/badblocks.c:1001 misc/tune2fs.c:3082 misc/util.c:130
+#: resize/main.c:359
 #, c-format
 msgid "while determining whether %s is mounted."
-msgstr "确定 %s 是否已挂载时"
-
-# Note:The second "%s" represents the current status of the device (defined by the first "%s"), thus it is not necessary to translate the word "is". The second "%s" will serve as the copula as well as the predicative (in Chinese).
-#: e2fsck/unix.c:259
-#, c-format
-msgid "Warning!  %s is mounted.\n"
-msgstr "警告! %s已被挂载。\n"
+msgstr "确定 %s 是否已挂载时。"
 
 # Note:The second "%s" represents the current status of the device (defined by the first "%s"), thus it is not necessary to translate the word "is". The second "%s" will serve as the copula as well as the predicative (in Chinese).
 #: e2fsck/unix.c:262
 #, c-format
-msgid "Warning!  %s is in use.\n"
-msgstr "警告! %s正被使用。\n"
+msgid "Warning!  %s is mounted.\n"
+msgstr "警告!%s 已被挂载。\n"
 
-#: e2fsck/unix.c:268
+# Note:The second "%s" represents the current status of the device (defined by the first "%s"), thus it is not necessary to translate the word "is". The second "%s" will serve as the copula as well as the predicative (in Chinese).
+#: e2fsck/unix.c:265
+#, c-format
+msgid "Warning!  %s is in use.\n"
+msgstr "警告!%s 正被使用。\n"
+
+#: e2fsck/unix.c:271
 #, c-format
 msgid "%s is mounted.\n"
-msgstr "%s 已挂载。\n"
+msgstr "%s 已被挂载。\n"
 
 # Same as the above.
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:273
 #, c-format
 msgid "%s is in use.\n"
-msgstr "%s正被使用。\n"
+msgstr "%s 正被使用。\n"
 
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:275
 msgid ""
 "Cannot continue, aborting.\n"
 "\n"
 msgstr "无法继续,已中止。\n"
 
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:277
 msgid ""
 "\n"
 "\n"
@@ -3240,100 +3305,89 @@
 msgstr ""
 "\n"
 "\n"
-"警告!!!该文件系统已被挂载。如果你继续操作将会\n"
-"使文件系统遭受 *** 严重损坏 ***!\n"
+"警告!!!该文件系统已被挂载。如果你继续操作,你***将会***\n"
+"使文件系统遭受***严重损坏***!\n"
 "\n"
 
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:282
 msgid "Do you really want to continue"
 msgstr "你真的想要继续吗"
 
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:284
 msgid "check aborted.\n"
 msgstr "检查被中止。\n"
 
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:378
 msgid " contains a file system with errors"
 msgstr " 有一个含有错误的文件系统"
 
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:380
 msgid " was not cleanly unmounted"
 msgstr " 未被彻底卸载"
 
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:382
 msgid " primary superblock features different from backup"
-msgstr " 主超级块与备份超级块有差异"
+msgstr " 主超级块的特性与备份超级块有差异"
 
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:386
 #, c-format
 msgid " has been mounted %u times without being checked"
-msgstr " 已被挂载 %u 次,但尚未被检查"
+msgstr " 已被挂载 %u 次而未进行检查"
 
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:393
 msgid " has filesystem last checked time in the future"
 msgstr " 上一次检查的时间在未来"
 
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:399
 #, c-format
 msgid " has gone %u days without being checked"
-msgstr " 已超过 %u 未被检查"
+msgstr " 已超过 %u 天未被检查"
 
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:407
 msgid "ignoring check interval, broken_system_clock set\n"
-msgstr ""
+msgstr "忽略检查间隔,因为设置了 broken_system_clock\n"
 
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:413
 msgid ", check forced.\n"
 msgstr ",强制进行检查。\n"
 
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:446
 #, c-format
 msgid "%s: clean, %u/%u files, %llu/%llu blocks"
-msgstr "%s:没有问题,%u/%u 文件,%llu/%llu 块"
-
-#: e2fsck/unix.c:463
-msgid " (check deferred; on battery)"
-msgstr " (正在使用电池;已推迟检查)"
+msgstr "%s: 没有问题,%u/%u 文件,%llu/%llu 块"
 
 #: e2fsck/unix.c:466
+msgid " (check deferred; on battery)"
+msgstr "(正在使用电池;已推迟检查)"
+
+#: e2fsck/unix.c:469
 msgid " (check after next mount)"
 msgstr "(将于下次挂载时进行检查)"
 
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:471
 #, c-format
 msgid " (check in %ld mounts)"
-msgstr " (每挂载 %ld 次就进行检查)"
+msgstr "(将于 %ld 次挂载后进行检查)"
 
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:621
 #, c-format
 msgid "ERROR: Couldn't open /dev/null (%s)\n"
-msgstr "错误:无法打开/dev/null(%s)\n"
+msgstr "错误:无法打开 /dev/null(%s)\n"
 
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:692
 msgid "Invalid EA version.\n"
-msgstr "无效的EA版本号。\n"
+msgstr "无效的 EA 版本号。\n"
 
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:705
 msgid "Invalid readahead buffer size.\n"
 msgstr "预读取缓冲区大小无效。\n"
 
-#: e2fsck/unix.c:757
+#: e2fsck/unix.c:768
 #, c-format
 msgid "Unknown extended option: %s\n"
-msgstr "未知的扩展属性:%s\n"
+msgstr "未知的扩展选项:%s\n"
 
-#: e2fsck/unix.c:765
-#, fuzzy
-#| msgid ""
-#| "\n"
-#| "Bad extended option(s) specified: %s\n"
-#| "\n"
-#| "Extended options are separated by commas, and may take an argument which\n"
-#| "\tis set off by an equals ('=') sign.\n"
-#| "\n"
-#| "Valid extended options are:\n"
-#| "\tsuperblock=<superblock number>\n"
-#| "\tblocksize=<blocksize>\n"
+#: e2fsck/unix.c:776
 msgid ""
 "\n"
 "Extended options are separated by commas, and may take an argument which\n"
@@ -3341,23 +3395,19 @@
 "\n"
 msgstr ""
 "\n"
-"指定了错误的扩展属性:%s\n"
+"扩展选项由逗号分隔,有些需要通过等号 (\"=\")\n"
+"传递参数。有效的扩展选项有:\n"
 "\n"
-"扩展属性由逗号分隔,有些需要通过等号(“=”)传递参数。\n"
-"\n"
-"有效的参数有:\n"
-"\tsuperblock=<超级块编号>\n"
-"\tblocksize=<块大小>\n"
 
-#: e2fsck/unix.c:769
+#: e2fsck/unix.c:780
 msgid "\tea_ver=<ea_version (1 or 2)>\n"
-msgstr "\tea_ver=<ea_version (1 或 2)>\n"
+msgstr "\tea_ver=<EA 版本(1 或 2)>\n"
 
-#: e2fsck/unix.c:778
+#: e2fsck/unix.c:789
 msgid "\treadahead_kb=<buffer size>\n"
-msgstr "\treadahead_kb=<缓冲大小>\n"
+msgstr "\treadahead_kb=<缓冲区大小>\n"
 
-#: e2fsck/unix.c:790
+#: e2fsck/unix.c:802
 #, c-format
 msgid ""
 "Syntax error in e2fsck config file (%s, line #%d)\n"
@@ -3366,64 +3416,74 @@
 "e2fsck 配置文件中语法错误(%s,第 %d 行)\n"
 "\t%s\n"
 
-#: e2fsck/unix.c:863
+#: e2fsck/unix.c:875
 #, c-format
 msgid "Error validating file descriptor %d: %s\n"
 msgstr "验证文件描述符 %d 时出错:%s\n"
 
-#: e2fsck/unix.c:867
+#: e2fsck/unix.c:879
 msgid "Invalid completion information file descriptor"
-msgstr "无效的文件描述符信息"
+msgstr "无效的补全信息文件描述符"
 
-#: e2fsck/unix.c:882
+#: e2fsck/unix.c:894
 msgid "Only one of the options -p/-a, -n or -y may be specified."
 msgstr "只能使用选项 -p/-a、-n 或 -y 其中之一。"
 
-#: e2fsck/unix.c:903
+#: e2fsck/unix.c:915
 #, c-format
 msgid "The -t option is not supported on this version of e2fsck.\n"
-msgstr "此版本的e2fsck不支持 -t 选项。\n"
+msgstr "此版本的 e2fsck 不支持 -t 选项。\n"
 
-#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1695 misc/tune2fs.c:1990 misc/tune2fs.c:2008
+#: e2fsck/unix.c:947 e2fsck/unix.c:1025 misc/e2initrd_helper.c:331
+#: misc/tune2fs.c:1780 misc/tune2fs.c:2080 misc/tune2fs.c:2098
 #, c-format
 msgid "Unable to resolve '%s'"
-msgstr "无法解析“%s”"
+msgstr "无法解析 \"%s\""
 
-#: e2fsck/unix.c:991
+#: e2fsck/unix.c:1004
 msgid "The -n and -D options are incompatible."
-msgstr "%s:-n 和 -D 选项是互相排斥的。"
+msgstr "-n 和 -D 选项是互斥的。"
 
-#: e2fsck/unix.c:996
+#: e2fsck/unix.c:1009
 msgid "The -n and -c options are incompatible."
-msgstr "%s:-n 和 -c 选项是互相排斥的。"
+msgstr "-n 和 -c 选项是互斥的。"
 
-#: e2fsck/unix.c:1001
+#: e2fsck/unix.c:1014
 msgid "The -n and -l/-L options are incompatible."
-msgstr "%s:-n 和 -l/-L 选项是相互排斥的。"
+msgstr "-n 和 -l/-L 选项是互斥的。"
 
-#: e2fsck/unix.c:1025
+#: e2fsck/unix.c:1038
 msgid "The -D and -E fixes_only options are incompatible."
-msgstr "-D 和 -E fixes_only 选项是互相排斥的。"
+msgstr "-D 和 -E fixes_only 选项是互斥的。"
 
-#: e2fsck/unix.c:1031
+#: e2fsck/unix.c:1044
 msgid "The -E bmap2extent and fixes_only options are incompatible."
-msgstr "-E bmap2extent 和 fixes_only 选项是互相排斥的。"
+msgstr "-E bmap2extent 和 fixes_only 选项是互斥的。"
 
 #: e2fsck/unix.c:1095
+#, c-format
+msgid "while opening %s for flushing"
+msgstr "打开 %s 准备排空缓冲区时"
+
+#: e2fsck/unix.c:1101 resize/main.c:391
+#, c-format
+msgid "while trying to flush %s"
+msgstr "尝试排空 %s 的缓冲区时"
+
+#: e2fsck/unix.c:1108
 msgid "The -c and the -l/-L options may not be both used at the same time.\n"
 msgstr "-c 和 -l/-L 选项不能同时使用。\n"
 
-#: e2fsck/unix.c:1142
+#: e2fsck/unix.c:1155
 #, c-format
 msgid ""
 "E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
 "\n"
 msgstr ""
-"E2FSCK_JBD_DEBUG “%s”不是整数\n"
+"E2FSCK_JBD_DEBUG \"%s\" 不是整数\n"
 "\n"
 
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1164
 #, c-format
 msgid ""
 "\n"
@@ -3431,34 +3491,34 @@
 "\n"
 msgstr ""
 "\n"
-"-%c 接收到无效的非数值参数(“%s”)\n"
+"-%c 接收到无效的非数值参数 (\"%s\")\n"
 "\n"
 
-#: e2fsck/unix.c:1242
+#: e2fsck/unix.c:1262
 #, c-format
 msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n"
-msgstr "MMP间隔为 %u 秒,总等候时间为 %u 秒。请稍候...\n"
+msgstr "MMP 间隔为 %u 秒,总等候时间为 %u 秒。请稍候...\n"
 
-#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
+#: e2fsck/unix.c:1279 e2fsck/unix.c:1284
 msgid "while checking MMP block"
 msgstr "检测 MMP 块时"
 
-#: e2fsck/unix.c:1266
+#: e2fsck/unix.c:1286
 #, 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 ""
-"如果您确定文件系统并没有挂载到任何节点上,请运行:\n"
-"“tune2fs -f -E clear_mmp %s”\n"
+"如果您确定文件系统没有在任何节点上使用,请运行:\n"
+"\"tune2fs -f -E clear_mmp %s\"\n"
 
-#: e2fsck/unix.c:1282
+#: e2fsck/unix.c:1302
 msgid "while reading MMP block"
 msgstr "读取 MMP 块时"
 
-#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2696 misc/mke2fs.c:2747 misc/tune2fs.c:2713
-#: misc/tune2fs.c:2758 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1322 e2fsck/unix.c:1374 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2758 misc/mke2fs.c:2809 misc/tune2fs.c:2805
+#: misc/tune2fs.c:2850 resize/main.c:188 resize/main.c:233
 #, c-format
 msgid ""
 "Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3469,168 +3529,166 @@
 "    e2undo %s %s\n"
 "\n"
 
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2736 misc/tune2fs.c:2747
+#: e2fsck/unix.c:1363 misc/e2undo.c:274 misc/mke2fs.c:2798 misc/tune2fs.c:2839
 #: resize/main.c:222
 #, c-format
 msgid "while trying to delete %s"
 msgstr "尝试删除 %s 时"
 
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2762 resize/main.c:243
+#: e2fsck/unix.c:1389 misc/mke2fs.c:2824 resize/main.c:243
 msgid "while trying to setup undo file\n"
-msgstr "尝试创建撤销记录时\n"
+msgstr "尝试创建撤销文件时\n"
 
-#: e2fsck/unix.c:1412
+#: e2fsck/unix.c:1433
 msgid "Error: ext2fs library version out of date!\n"
-msgstr "错误:ext2fs库版本过旧!\n"
+msgstr "错误:ext2fs 库版本过旧!\n"
 
-#: e2fsck/unix.c:1419
+#: e2fsck/unix.c:1440
 msgid "while trying to initialize program"
 msgstr "尝试初始化程序时"
 
-#: e2fsck/unix.c:1456
+#: e2fsck/unix.c:1477
 #, c-format
 msgid "\tUsing %s, %s\n"
 msgstr "\t使用 %s,%s\n"
 
-#: e2fsck/unix.c:1468
+#: e2fsck/unix.c:1489
 msgid "need terminal for interactive repairs"
 msgstr "需要在终端中进行交互式修复"
 
-#: e2fsck/unix.c:1529
+#: e2fsck/unix.c:1550
 #, c-format
 msgid "%s: %s trying backup blocks...\n"
-msgstr "%s:%s 尝试备份块\n"
+msgstr "%s: %s正在尝试备份块...\n"
 
-#: e2fsck/unix.c:1531
+#: e2fsck/unix.c:1552
 msgid "Superblock invalid,"
 msgstr "超级块无效,"
 
-#: e2fsck/unix.c:1532
+#: e2fsck/unix.c:1553
 msgid "Group descriptors look bad..."
 msgstr "组描述符似乎是错误的..."
 
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1563
 #, c-format
 msgid "%s: %s while using the backup blocks"
-msgstr "%s:尝试备份块时 %s"
+msgstr "%s: 尝试备份块时%s"
 
-#: e2fsck/unix.c:1546
+#: e2fsck/unix.c:1567
 #, c-format
 msgid "%s: going back to original superblock\n"
-msgstr "%s:回到原先的超级块\n"
+msgstr "%s: 回到原先的超级块\n"
 
-#: e2fsck/unix.c:1575
+#: e2fsck/unix.c:1596
 msgid ""
 "The filesystem revision is apparently too high for this version of e2fsck.\n"
 "(Or the filesystem superblock is corrupt)\n"
 "\n"
 msgstr ""
-"文件系统的版本高于此e2fsck所支持的版本。\n"
-"(也有可能超级块已损坏)\n"
+"文件系统的版本高于此 e2fsck 所支持的版本。\n"
+"(也有可能文件系统的超级块已损坏)\n"
 "\n"
 
-#: e2fsck/unix.c:1582
+#: e2fsck/unix.c:1603
 msgid "Could this be a zero-length partition?\n"
 msgstr "分区长度为零吗?\n"
 
-#: e2fsck/unix.c:1584
+#: e2fsck/unix.c:1605
 #, c-format
 msgid "You must have %s access to the filesystem or be root\n"
-msgstr "你必须具有对该文件系统的 %s 权限,或者为root\n"
+msgstr "你必须具有对该文件系统的 %s 权限,或者为 root\n"
 
-#: e2fsck/unix.c:1590
+#: e2fsck/unix.c:1611
 msgid "Possibly non-existent or swap device?\n"
 msgstr ""
-"可能为swap分区,或该设备不存在?\n"
+"可能该设备不存在,或为 swap 设备?\n"
 "\n"
 
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1613
 msgid "Filesystem mounted or opened exclusively by another program?\n"
 msgstr "文件系统可能已挂载,或正被其他程序独占使用?\n"
 
-#: e2fsck/unix.c:1596
+#: e2fsck/unix.c:1617
 msgid "Possibly non-existent device?\n"
 msgstr "可能该设备不存在?\n"
 
-#: e2fsck/unix.c:1599
+#: e2fsck/unix.c:1620
 msgid ""
 "Disk write-protected; use the -n option to do a read-only\n"
 "check of the device.\n"
-msgstr "磁盘写保护;请使用 -n 选项进行只读检查。\n"
+msgstr "磁盘被写保护;请使用 -n 选项进行只读检查。\n"
 
-#: e2fsck/unix.c:1613
+#: e2fsck/unix.c:1635
 #, c-format
 msgid "%s: Trying to load superblock despite errors...\n"
-msgstr "%s:尽管有错误,仍然尝试读取超级块...\n"
+msgstr "%s: 尽管有错误,仍然尝试加载超级块...\n"
 
-#: e2fsck/unix.c:1688
+#: e2fsck/unix.c:1710
 msgid "Get a newer version of e2fsck!"
-msgstr "请获取新版本的e2fsck!"
+msgstr "请获取新版本的 e2fsck!"
 
-#: e2fsck/unix.c:1749
+#: e2fsck/unix.c:1770
 #, c-format
 msgid "while checking journal for %s"
 msgstr "检查 %s 的日志时"
 
-#: e2fsck/unix.c:1752
+#: e2fsck/unix.c:1773
 msgid "Cannot proceed with file system check"
-msgstr "无法在系统检查时进行"
+msgstr "无法继续进行文件系统检查"
 
-#: e2fsck/unix.c:1763
+#: e2fsck/unix.c:1784
 msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
-msgstr "警告:由于只读系统检查,跳过日志恢复流程。\n"
+msgstr "警告:跳过日志恢复流程,因为正在进行只读的文件系统检查。\n"
 
-#: e2fsck/unix.c:1775
+#: e2fsck/unix.c:1796
 #, c-format
 msgid "unable to set superblock flags on %s\n"
-msgstr ""
-"无法设置 %s 的超级块标志。\n"
-"\n"
+msgstr "无法设置 %s 的超级块标志\n"
 
-#: e2fsck/unix.c:1781
+#: e2fsck/unix.c:1802
 #, c-format
 msgid "Journal checksum error found in %s\n"
-msgstr "在 %s 中发现日志校验值错误\n"
+msgstr "在 %s 中发现日志校验和错误\n"
 
-#: e2fsck/unix.c:1785
+#: e2fsck/unix.c:1806
 #, c-format
 msgid "Journal corrupted in %s\n"
 msgstr "%s 中的日志已损坏\n"
 
-#: e2fsck/unix.c:1789
+#: e2fsck/unix.c:1810
 #, c-format
 msgid "while recovering journal of %s"
 msgstr "恢复 %s 的日志时"
 
-#: e2fsck/unix.c:1811
+#: e2fsck/unix.c:1832
 #, c-format
 msgid "%s has unsupported feature(s):"
 msgstr "%s 有不被支持的特性:"
 
-#: e2fsck/unix.c:1826
+#: e2fsck/unix.c:1847
 #, c-format
 msgid "%s has unsupported encoding: %0x\n"
 msgstr "%s 有不被支持的编码:%0x\n"
 
-#: e2fsck/unix.c:1876
+#: e2fsck/unix.c:1897
 #, c-format
 msgid "%s: %s while reading bad blocks inode\n"
-msgstr "%s:读取坏块inode时%s\n"
+msgstr "%s: 读取坏块 inode 时%s\n"
 
-#: e2fsck/unix.c:1879
+#: e2fsck/unix.c:1900
 msgid "This doesn't bode well, but we'll try to go on...\n"
 msgstr "这并不是一个好预兆,然而我们将继续进行...\n"
 
-#: e2fsck/unix.c:1919
+#: e2fsck/unix.c:1943
 #, c-format
 msgid "Creating journal (%d blocks): "
 msgstr "创建日志(%d 个块):"
 
-#: e2fsck/unix.c:1929
+#: e2fsck/unix.c:1952
 msgid " Done.\n"
 msgstr "完毕。\n"
 
-#: e2fsck/unix.c:1931
+#: e2fsck/unix.c:1954
 msgid ""
 "\n"
 "*** journal has been regenerated ***\n"
@@ -3638,52 +3696,52 @@
 "\n"
 "*** 日志已被重建 ***\n"
 
-#: e2fsck/unix.c:1937
+#: e2fsck/unix.c:1960
 msgid "aborted"
 msgstr "已中止"
 
-#: e2fsck/unix.c:1939
+#: e2fsck/unix.c:1962
 #, c-format
 msgid "%s: e2fsck canceled.\n"
-msgstr "%s:e2fsck被取消。\n"
+msgstr "%s: e2fsck 被取消。\n"
 
-#: e2fsck/unix.c:1966
+#: e2fsck/unix.c:1989
 msgid "Restarting e2fsck from the beginning...\n"
-msgstr "正在从头开始e2fsck...\n"
+msgstr "正在从头开始 e2fsck...\n"
 
-#: e2fsck/unix.c:1970
+#: e2fsck/unix.c:1993
 msgid "while resetting context"
 msgstr "重置上下文时"
 
-#: e2fsck/unix.c:2029
+#: e2fsck/unix.c:2052
 #, c-format
 msgid ""
 "\n"
 "%s: ***** FILE SYSTEM ERRORS CORRECTED *****\n"
 msgstr ""
 "\n"
-"%s:***** 文件系统错误已修正 *****\n"
+"%s: ***** 文件系统错误已修正 *****\n"
 
-#: e2fsck/unix.c:2031
+#: e2fsck/unix.c:2054
 #, c-format
 msgid "%s: File system was modified.\n"
-msgstr "%s:文件系统已被修改。\n"
+msgstr "%s: 文件系统已被修改。\n"
 
-#: e2fsck/unix.c:2035 e2fsck/util.c:71
+#: e2fsck/unix.c:2058 e2fsck/util.c:67
 #, c-format
 msgid ""
 "\n"
 "%s: ***** FILE SYSTEM WAS MODIFIED *****\n"
 msgstr ""
 "\n"
-"%s:***** 文件系统已修改 *****\n"
+"%s: ***** 文件系统已被修改 *****\n"
 
-#: e2fsck/unix.c:2040
+#: e2fsck/unix.c:2063
 #, c-format
 msgid "%s: ***** REBOOT SYSTEM *****\n"
-msgstr "%s:***** 请重新启动系统 *****\n"
+msgstr "%s: ***** 请重新启动系统 *****\n"
 
-#: e2fsck/unix.c:2050 e2fsck/util.c:77
+#: e2fsck/unix.c:2073 e2fsck/util.c:73
 #, c-format
 msgid ""
 "\n"
@@ -3691,103 +3749,103 @@
 "\n"
 msgstr ""
 "\n"
-"%s:********** 警告:文件系统上仍有错误 **********\n"
+"%s: ********** 警告:文件系统上仍有错误 **********\n"
 "\n"
 
-#: e2fsck/util.c:196 misc/util.c:93
+#: e2fsck/util.c:191 misc/util.c:94
 msgid "yY"
 msgstr "yY"
 
-#: e2fsck/util.c:197 misc/util.c:112
+#: e2fsck/util.c:192 misc/util.c:113
 msgid "nN"
 msgstr "nN"
 
-#: e2fsck/util.c:198
+#: e2fsck/util.c:193
 msgid "aA"
 msgstr "aA"
 
-#: e2fsck/util.c:202
+#: e2fsck/util.c:197
 msgid " ('a' enables 'yes' to all) "
-msgstr "(“a” 表示全部回答“yes”) "
+msgstr "(\"a\" 表示全部回答 \"是\")"
 
-#: e2fsck/util.c:219
+#: e2fsck/util.c:214
 msgid "<y>"
 msgstr "<y>"
 
-#: e2fsck/util.c:221
+#: e2fsck/util.c:216
 msgid "<n>"
 msgstr "<n>"
 
-#: e2fsck/util.c:223
+#: e2fsck/util.c:218
 msgid " (y/n)"
-msgstr " (y/n)"
+msgstr " (y/n)"
 
-#: e2fsck/util.c:246
+#: e2fsck/util.c:241
 msgid "cancelled!\n"
 msgstr "已取消!\n"
 
-#: e2fsck/util.c:279
+#: e2fsck/util.c:274
 msgid "yes to all\n"
-msgstr "全部回答“yes”\n"
+msgstr "全部回答 \"是\"\n"
 
-#: e2fsck/util.c:281
+#: e2fsck/util.c:276
 msgid "yes\n"
 msgstr "是\n"
 
-#: e2fsck/util.c:283
+#: e2fsck/util.c:278
 msgid "no\n"
 msgstr "否\n"
 
-#: e2fsck/util.c:293
+#: e2fsck/util.c:288
 #, c-format
 msgid ""
 "%s? no\n"
 "\n"
 msgstr ""
-"%s? no\n"
+"%s?否\n"
 "\n"
 
-#: e2fsck/util.c:297
+#: e2fsck/util.c:292
 #, c-format
 msgid ""
 "%s? yes\n"
 "\n"
 msgstr ""
-"%s? yes\n"
+"%s?是\n"
 "\n"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "yes"
-msgstr "yes"
+msgstr "是"
 
-#: e2fsck/util.c:301
+#: e2fsck/util.c:296
 msgid "no"
-msgstr "no"
+msgstr "否"
 
-#: e2fsck/util.c:317
+#: e2fsck/util.c:312
 #, c-format
 msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
-msgstr "e2fsck_read_bitmaps:%s 含有非法的位图块"
+msgstr "e2fsck_read_bitmaps: %s 含有非法的位图块"
 
-#: e2fsck/util.c:322
+#: e2fsck/util.c:317
 msgid "reading inode and block bitmaps"
-msgstr "读取inode和块位图"
+msgstr "读取 inode 和块位图"
 
-#: e2fsck/util.c:334
+#: e2fsck/util.c:329
 #, c-format
 msgid "while retrying to read bitmaps for %s"
 msgstr "重新尝试读取 %s 的位图时"
 
-#: e2fsck/util.c:346
+#: e2fsck/util.c:341
 msgid "writing block and inode bitmaps"
-msgstr "写入块和inode位图"
+msgstr "写入块和 inode 位图"
 
-#: e2fsck/util.c:351
+#: e2fsck/util.c:346
 #, c-format
 msgid "while rewriting block and inode bitmaps for %s"
-msgstr "重写 %s  的block和inode位图时"
+msgstr "重写 %s 的块和 inode 位图时"
 
-#: e2fsck/util.c:363
+#: e2fsck/util.c:358
 #, c-format
 msgid ""
 "\n"
@@ -3797,42 +3855,42 @@
 msgstr ""
 "\n"
 "\n"
-"%s:未预期的不一致性;请手动运行fsck\n"
-"\t(即不使用 -a 或 -p 选项)。\n"
+"%s: 未预期的不一致性;请手动运行 fsck。\n"
+"\t(即不使用 -a 或 -p 选项)\n"
 
-#: e2fsck/util.c:444
+#: e2fsck/util.c:437 e2fsck/util.c:447
 #, c-format
-msgid "Memory used: %luk/%luk (%luk/%luk), "
-msgstr "内存使用量:%luk/%luk(%luk/%luk), "
+msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
+msgstr "内存使用量:%lluk/%lluk (%lluk/%lluk),"
 
-#: e2fsck/util.c:448
+#: e2fsck/util.c:453
 #, c-format
-msgid "Memory used: %lu, "
-msgstr "已使用内存:%lu, "
+msgid "Memory used: %lluk, "
+msgstr "内存使用量:%lluk,"
 
-#: e2fsck/util.c:455
+#: e2fsck/util.c:459
 #, c-format
 msgid "time: %5.2f/%5.2f/%5.2f\n"
 msgstr "时间:%5.2f/%5.2f/%5.2f\n"
 
-#: e2fsck/util.c:460
+#: e2fsck/util.c:464
 #, c-format
 msgid "elapsed time: %6.3f\n"
-msgstr "持续时间:%6.3f\n"
+msgstr "用时:%6.3f\n"
 
-#: e2fsck/util.c:495 e2fsck/util.c:509
+#: e2fsck/util.c:499 e2fsck/util.c:513
 #, c-format
 msgid "while reading inode %lu in %s"
-msgstr "读取 %2$s 中的inode %1$lu 时"
+msgstr "读取 %2$s 中的 inode %1$lu 时"
 
-#: e2fsck/util.c:523 e2fsck/util.c:536
+#: e2fsck/util.c:527 e2fsck/util.c:540
 #, c-format
 msgid "while writing inode %lu in %s"
-msgstr "写入 %2$s 中的inode %1$lu 时"
+msgstr "写入 %2$s 中的 inode %1$lu 时"
 
-#: e2fsck/util.c:792
+#: e2fsck/util.c:799
 msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
-msgstr "未预期的不连续性:文件系统在运行fsck时被修改。\n"
+msgstr "未预期的不一致性:文件系统在 fsck 运行过程中被修改。\n"
 
 #: misc/badblocks.c:75
 msgid "done                                                 \n"
@@ -3847,8 +3905,8 @@
 "       device [last_block [first_block]]\n"
 msgstr ""
 "用法:%s [-b 块大小] [-i 输入文件] [-o 输出文件] [-svwnfBX]\n"
-"       [-c 立即块数] [-d 读取延迟因子] [-e 最大坏块数]\n"
-"       [-p 需要通过测试的块数] [-t 测试模式 [-t 测试模式 [...]]]\n"
+"       [-c 每次测试块数] [-d 读取延迟因子] [-e 最大坏块数]\n"
+"       [-p 遍数] [-t 测试模式 [-t 测试模式 [...]]]\n"
 "       设备 [末块 [首块]]\n"
 
 #: misc/badblocks.c:111
@@ -3857,39 +3915,39 @@
 "%s: The -n and -w options are mutually exclusive.\n"
 "\n"
 msgstr ""
-"%s:-n 和 -w 选项是相互排斥的。\n"
+"%s: -n 和 -w 选项是互斥的。\n"
 "\n"
 
 #: misc/badblocks.c:229
 #, c-format
 msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)"
-msgstr "进度 %6.2f%%,用时 %s。(%d/%d/%d 个错误)"
+msgstr "进度 %6.2f%%,用时 %s。(%d/%d/%d 个错误)"
 
 #: misc/badblocks.c:337
 msgid "Testing with random pattern: "
-msgstr "现在测试随机模式:"
+msgstr "正在测试随机模式:"
 
 # upstream bug but whatever
 #: misc/badblocks.c:355
 msgid "Testing with pattern 0x"
-msgstr "现在测试模式 0x"
+msgstr "正在测试模式 0x"
 
 #: misc/badblocks.c:387 misc/badblocks.c:460
 msgid "during seek"
-msgstr "定位过程中"
+msgstr "定位时"
 
 #: misc/badblocks.c:398
 #, c-format
 msgid "Weird value (%ld) in do_read\n"
-msgstr "do_read中遇到异常值(%ld)\n"
+msgstr "do_read 时遇到异常值 (%ld)\n"
 
 #: misc/badblocks.c:485
 msgid "during ext2fs_sync_device"
-msgstr "执行ext2fs_sync_device时"
+msgstr "执行 ext2fs_sync_device 时"
 
 #: misc/badblocks.c:505 misc/badblocks.c:767
 msgid "while beginning bad block list iteration"
-msgstr "迭代坏块列表时"
+msgstr "开始坏块列表迭代时"
 
 #: misc/badblocks.c:520 misc/badblocks.c:620 misc/badblocks.c:778
 msgid "while allocating buffers"
@@ -3898,24 +3956,24 @@
 #: misc/badblocks.c:524
 #, c-format
 msgid "Checking blocks %lu to %lu\n"
-msgstr "正在检查从 %lu 到 %lu的块\n"
+msgstr "正在检查块 %lu 到 %lu\n"
 
 #: misc/badblocks.c:529
 msgid "Checking for bad blocks in read-only mode\n"
-msgstr "在只读模式中检查坏块\n"
+msgstr "在只读模式下检查坏块\n"
 
 #: misc/badblocks.c:538
 msgid "Checking for bad blocks (read-only test): "
-msgstr "检查坏块(只读测试): "
+msgstr "检查坏块(只读测试):"
 
 #: misc/badblocks.c:545 misc/badblocks.c:652 misc/badblocks.c:694
 #: misc/badblocks.c:841
 msgid "Too many bad blocks, aborting test\n"
-msgstr "坏块太多,终止测试\n"
+msgstr "坏块太多,中止测试\n"
 
 #: misc/badblocks.c:627
 msgid "Checking for bad blocks in read-write mode\n"
-msgstr "在读写模式中检查坏块\n"
+msgstr "在读写模式下检查坏块\n"
 
 #: misc/badblocks.c:629 misc/badblocks.c:791
 #, c-format
@@ -3924,15 +3982,15 @@
 
 #: misc/badblocks.c:684
 msgid "Reading and comparing: "
-msgstr "正在读取并比较: "
+msgstr "正在读取并比较:"
 
 #: misc/badblocks.c:790
 msgid "Checking for bad blocks in non-destructive read-write mode\n"
-msgstr "使用非破坏性读写模式进行坏块检验\n"
+msgstr "使用非破坏性读写模式进行坏块检查\n"
 
 #: misc/badblocks.c:796
 msgid "Checking for bad blocks (non-destructive read-write test)\n"
-msgstr "正在检验坏块(非破坏性读写测试)\n"
+msgstr "正在检查坏块(非破坏性读写测试)\n"
 
 #: misc/badblocks.c:803
 msgid ""
@@ -3940,322 +3998,341 @@
 "Interrupt caught, cleaning up\n"
 msgstr ""
 "\n"
-"收到中断通知,正在进行后续清理工作\n"
+"收到中断,正在清理\n"
 
 #: misc/badblocks.c:886
 #, c-format
 msgid "during test data write, block %lu"
-msgstr "正在测试数据写入,位于块 %lu"
+msgstr "将测试数据写入块 %lu 时"
 
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:135
 #, c-format
 msgid "%s is mounted; "
-msgstr "%s 已经挂载; "
+msgstr "%s 已经挂载;"
 
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
 msgid "badblocks forced anyway.  Hope /etc/mtab is incorrect.\n"
-msgstr "强制进行坏块处理。期望/etc/mtab中反映的并非真实情况。\n"
+msgstr "强制进行坏块检查。希望 /etc/mtab 中反映的并非真实情况。\n"
 
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
 msgid "it's not safe to run badblocks!\n"
-msgstr "进行坏块处理有风险!\n"
+msgstr "进行坏块检查有风险!\n"
 
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:146
 #, c-format
 msgid "%s is apparently in use by the system; "
-msgstr "%s 显然正被系统使用; "
+msgstr "%s 似乎正被系统使用;"
 
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
 msgid "badblocks forced anyway.\n"
-msgstr "强制进行坏块检验。\n"
+msgstr "强制进行坏块检查。\n"
 
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
 #, c-format
 msgid "invalid %s - %s"
-msgstr "无效的%s - %s"
+msgstr "无效的 %s - %s"
 
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1137
 #, c-format
 msgid "Too big max bad blocks count %u - maximum is %u"
-msgstr "最大坏块数(%u)过大 - 最大值为 %u"
+msgstr "最大坏块数 (%u) 过大 - 最大值为 %u"
 
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1164
 #, c-format
 msgid "can't allocate memory for test_pattern - %s"
-msgstr "无法使用测试模式分配内存 - %s"
+msgstr "无法为测试模式分配内存 - %s"
 
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1194
 msgid "Maximum of one test_pattern may be specified in read-only mode"
 msgstr "只读测试中最多只能指定一种测试模式"
 
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1200
 msgid "Random test_pattern is not allowed in read-only mode"
 msgstr "只读测试中不允许使用随机测试模式"
 
+#: misc/badblocks.c:1207
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr "无效的块大小:%d\n"
+
 #: misc/badblocks.c:1213
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr "无效的 blocks_at_once:%d\n"
+
+#: misc/badblocks.c:1227
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size manually\n"
-msgstr "无法确定设备大小;你必须手动指定大小\n"
+msgstr "无法确定设备大小;您必须手动指定大小\n"
 
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1233
 msgid "while trying to determine device size"
 msgstr "尝试确定设备大小时"
 
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1238
 msgid "last block"
-msgstr "最后一个块"
+msgstr "末块"
 
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1244
 msgid "first block"
-msgstr "第一个块"
+msgstr "首块"
 
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1247
 #, c-format
 msgid "invalid starting block (%llu): must be less than %llu"
-msgstr "起始块(%llu)无效:必须小于 %llu"
+msgstr "首块 (%llu) 无效:必须小于 %llu"
 
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1255
 #, c-format
 msgid "invalid end block (%llu): must be 32-bit value"
-msgstr "起始块(%llu)无效:必须为32位数"
+msgstr "末块 (%llu) 无效:必须为 32 位值"
 
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1311
 msgid "while creating in-memory bad blocks list"
 msgstr "在内存中创建坏块列表时"
 
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1320
 msgid "input file - bad format"
 msgstr "输入文件 - 格式错误"
 
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1328 misc/badblocks.c:1337
 msgid "while adding to in-memory bad block list"
 msgstr "向内存中的坏块列表中添加记录时"
 
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1362
 #, c-format
 msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
-msgstr "此步已完成,发现了 %u 个坏块。(%d/%d/%d 个错误)\n"
+msgstr "所有遍数已完成,发现了 %u 个坏块。(%d/%d/%d 个错误)\n"
 
 #: misc/chattr.c:89
 #, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...\n"
-msgstr "用法:%s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v 版本] 文件...\n"
+msgid "Usage: %s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p project] [-v version] files...\n"
+msgstr "用法:%s [-RVf] [-+=aAcCdDeijPsStTuFx] [-p 项目] [-v 版本] 文件...\n"
 
-#: misc/chattr.c:160
+#: misc/chattr.c:162
 #, c-format
 msgid "bad project - %s\n"
 msgstr "项目错误 - %s\n"
 
-#: misc/chattr.c:174
+#: misc/chattr.c:176
 #, c-format
 msgid "bad version - %s\n"
 msgstr "版本错误 - %s\n"
 
-#: misc/chattr.c:220 misc/lsattr.c:127
+#: misc/chattr.c:221 misc/lsattr.c:127
 #, c-format
 msgid "while trying to stat %s"
-msgstr "尝试对%s进行stat调用时"
+msgstr "尝试对 %s 进行 stat 调用时"
 
-#: misc/chattr.c:227
+#: misc/chattr.c:228
 #, c-format
 msgid "while reading flags on %s"
 msgstr "读取 %s 的标志时"
 
-#: misc/chattr.c:232 misc/chattr.c:244
+#: misc/chattr.c:233 misc/chattr.c:245
 #, c-format
 msgid "Flags of %s set as "
-msgstr "%s的标志被设为 "
+msgstr "%s 的标志被设为 "
 
-#: misc/chattr.c:253
+#: misc/chattr.c:254
 #, c-format
 msgid "while setting flags on %s"
 msgstr "设置 %s 的标志时"
 
-#: misc/chattr.c:261
+#: misc/chattr.c:262
 #, c-format
 msgid "Version of %s set as %lu\n"
 msgstr "%s 的版本被设置为 %lu\n"
 
-#: misc/chattr.c:265
+#: misc/chattr.c:266
 #, c-format
 msgid "while setting version on %s"
 msgstr "设置 %s 的版本时"
 
-#: misc/chattr.c:272
+#: misc/chattr.c:273
 #, c-format
 msgid "Project of %s set as %lu\n"
 msgstr "%s 的项目被设置为 %lu\n"
 
-#: misc/chattr.c:276
+#: misc/chattr.c:277
 #, c-format
 msgid "while setting project on %s"
 msgstr "设置 %s 的项目时"
 
-#: misc/chattr.c:298
+#: misc/chattr.c:299
 msgid "Couldn't allocate path variable in chattr_dir_proc"
-msgstr "无法在chattr_dir_proc中为路径变量分配内存"
+msgstr "无法在 chattr_dir_proc 中为路径变量分配内存"
 
-#: misc/chattr.c:338
+#: misc/chattr.c:339
 msgid "= is incompatible with - and +\n"
-msgstr "= 与 - / + 选项不相容\n"
+msgstr "= 与 - / + 不相容\n"
 
-#: misc/chattr.c:346
+#: misc/chattr.c:347
 msgid "Must use '-v', =, - or +\n"
-msgstr "必须使用“-v”、=、- 或 + 其中之一\n"
+msgstr "必须使用 \"-v\"、=、- 或 + 其中之一\n"
 
 #: misc/create_inode.c:80 misc/create_inode.c:119
 #, c-format
 msgid "while reading inode %u"
 msgstr "读取 inode %u 时"
 
-#: misc/create_inode.c:90 misc/create_inode.c:288 misc/create_inode.c:353
-#: misc/create_inode.c:391
+#: misc/create_inode.c:90 misc/create_inode.c:296 misc/create_inode.c:361
+#: misc/create_inode.c:399
 msgid "while expanding directory"
 msgstr "扩充目录时"
 
 #: misc/create_inode.c:97
 #, c-format
 msgid "while linking \"%s\""
-msgstr "链接“%s”时"
+msgstr "链接 \"%s\" 时"
 
-#: misc/create_inode.c:105 misc/create_inode.c:132 misc/create_inode.c:322
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:330
 #, c-format
 msgid "while writing inode %u"
 msgstr "写入 inode %u 时"
 
-#: misc/create_inode.c:152 misc/create_inode.c:176
+#: misc/create_inode.c:154 misc/create_inode.c:185
 #, c-format
 msgid "while listing attributes of \"%s\""
-msgstr "尝试列出“%s”的属性时"
+msgstr "尝试列出 \"%s\" 的属性时"
 
-#: misc/create_inode.c:163
+#: misc/create_inode.c:165
 #, c-format
 msgid "while opening inode %u"
 msgstr "打开 inode %u 时"
 
-#: misc/create_inode.c:169 misc/create_inode.c:196 misc/create_inode.c:1043
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:359
+#: misc/create_inode.c:172
+#, c-format
+msgid "while reading xattrs for inode %u"
+msgstr "读取 inode %u 的 xattr 时"
+
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1066
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
 msgid "while allocating memory"
 msgstr "分配内存时"
 
-#: misc/create_inode.c:189 misc/create_inode.c:205
+#: misc/create_inode.c:198 misc/create_inode.c:214
 #, c-format
 msgid "while reading attribute \"%s\" of \"%s\""
-msgstr "读取 %s 的“%s”标志时"
+msgstr "读取 \"%2$s\" 的 \"%1$s\" 属性时"
 
-#: misc/create_inode.c:214
+#: misc/create_inode.c:223
 #, c-format
 msgid "while writing attribute \"%s\" to inode %u"
-msgstr "写入标志“%s”到 inode %u 时"
+msgstr "写入属性 \"%s\" 到 inode %u 时"
 
-#: misc/create_inode.c:224
+#: misc/create_inode.c:233
 #, c-format
 msgid "while closing inode %u"
 msgstr "关闭 inode %u 时"
 
-#: misc/create_inode.c:275
+#: misc/create_inode.c:283
 #, c-format
 msgid "while allocating inode \"%s\""
-msgstr "分配 inode“%s”时"
+msgstr "分配 inode \"%s\" 时"
 
-#: misc/create_inode.c:294
+#: misc/create_inode.c:302
 #, c-format
 msgid "while creating inode \"%s\""
-msgstr "创建 inode “%s”时"
+msgstr "创建 inode \"%s\" 时"
 
-#: misc/create_inode.c:360
+#: misc/create_inode.c:368
 #, c-format
 msgid "while creating symlink \"%s\""
-msgstr "创建符号链接“%s”时"
+msgstr "创建符号链接 \"%s\" 时"
 
-#: misc/create_inode.c:378 misc/create_inode.c:963
+#: misc/create_inode.c:386 misc/create_inode.c:650 misc/create_inode.c:986
 #, c-format
 msgid "while looking up \"%s\""
-msgstr "查找“%s”时"
+msgstr "查找 \"%s\" 时"
 
-#: misc/create_inode.c:398
+#: misc/create_inode.c:406
 #, c-format
 msgid "while creating directory \"%s\""
-msgstr "创建目录“%s”时"
+msgstr "创建目录 \"%s\" 时"
 
-#: misc/create_inode.c:627
+#: misc/create_inode.c:636
 #, c-format
 msgid "while opening \"%s\" to copy"
-msgstr "打开“%s”并拷贝时"
+msgstr "打开 \"%s\" 准备拷贝时"
 
-#: misc/create_inode.c:805
+#: misc/create_inode.c:828
 #, c-format
 msgid "while changing working directory to \"%s\""
-msgstr "改变工作目录为“%s”时"
+msgstr "改变工作目录为 \"%s\" 时"
 
-#: misc/create_inode.c:815
+#: misc/create_inode.c:838
 #, c-format
 msgid "while scanning directory \"%s\""
-msgstr "扫描目录“%s”时"
+msgstr "扫描目录 \"%s\" 时"
 
-#: misc/create_inode.c:825
+#: misc/create_inode.c:848
 #, c-format
 msgid "while lstat \"%s\""
-msgstr "对“%s”进行lstat调用时"
+msgstr "对 \"%s\" 进行 lstat 调用时"
 
-#: misc/create_inode.c:875
+#: misc/create_inode.c:898
 #, c-format
 msgid "while creating special file \"%s\""
-msgstr "创建特殊文件“%s”时"
+msgstr "创建特殊文件 \"%s\" 时"
 
-#: misc/create_inode.c:884
+#: misc/create_inode.c:907
 msgid "malloc failed"
 msgstr "内存分配失败"
 
-#: misc/create_inode.c:892
+#: misc/create_inode.c:915
 #, c-format
 msgid "while trying to read link \"%s\""
-msgstr "尝试读取链接“%s”时"
+msgstr "尝试读取链接 \"%s\" 时"
 
-#: misc/create_inode.c:899
+#: misc/create_inode.c:922
 msgid "symlink increased in size between lstat() and readlink()"
-msgstr "在执行 lstat() 和 readlink() 期间,符号链接的大小发生改变"
+msgstr "在执行 lstat() 与 readlink() 之间,符号链接的大小增加了"
 
-#: misc/create_inode.c:910
+#: misc/create_inode.c:933
 #, c-format
 msgid "while writing symlink\"%s\""
-msgstr "写入符号链接“%s”时"
+msgstr "写入符号链接 \"%s\" 时"
 
-#: misc/create_inode.c:921
+#: misc/create_inode.c:944
 #, c-format
 msgid "while writing file \"%s\""
-msgstr "写入文件“%s”时"
+msgstr "写入文件 \"%s\" 时"
 
-#: misc/create_inode.c:934
+#: misc/create_inode.c:957
 #, c-format
 msgid "while making dir \"%s\""
-msgstr "创建目录“%s”时"
+msgstr "创建目录 \"%s\" 时"
 
-#: misc/create_inode.c:952
+#: misc/create_inode.c:975
 msgid "while changing directory"
 msgstr "改变目录时"
 
-#: misc/create_inode.c:958
+#: misc/create_inode.c:981
 #, c-format
 msgid "ignoring entry \"%s\""
-msgstr "忽略项“%s”"
+msgstr "忽略项 \"%s\""
 
-#: misc/create_inode.c:971
+#: misc/create_inode.c:994
 #, c-format
 msgid "while setting inode for \"%s\""
-msgstr "为“%s”设置 inode 时"
+msgstr "为 \"%s\" 设置 inode 时"
 
-#: misc/create_inode.c:978
+#: misc/create_inode.c:1001
 #, c-format
 msgid "while setting xattrs for \"%s\""
-msgstr "设置“%s”的 xattrs 时"
+msgstr "设置 \"%s\" 的 xattr 时"
 
-#: misc/create_inode.c:1004
+#: misc/create_inode.c:1027
 msgid "while saving inode data"
 msgstr "保存 inode 数据时"
 
+#: misc/create_inode.c:1077
+msgid "while copying xattrs on root directory"
+msgstr "将 xattr 复制到根目录时"
+
 #: misc/dumpe2fs.c:56
 #, c-format
 msgid "Usage: %s [-bfghimxV] [-o superblock=<num>] [-o blocksize=<num>] device\n"
@@ -4277,12 +4354,12 @@
 #: misc/dumpe2fs.c:226
 #, c-format
 msgid " csum 0x%04x"
-msgstr "  校验值 0x%04x"
+msgstr "  校验和 0x%04x"
 
 #: misc/dumpe2fs.c:228
 #, c-format
 msgid " (EXPECTED 0x%04x)"
-msgstr " (应为 0x%04x)"
+msgstr "(应为 0x%04x)"
 
 #: misc/dumpe2fs.c:233
 #, c-format
@@ -4307,7 +4384,7 @@
 "  Reserved GDT blocks at "
 msgstr ""
 "\n"
-"  保留的GDT块位于 "
+"  保留的 GDT 块位于 "
 
 #: misc/dumpe2fs.c:249
 msgid " Group descriptor at "
@@ -4320,7 +4397,7 @@
 #: misc/dumpe2fs.c:260 misc/dumpe2fs.c:271
 #, c-format
 msgid ", csum 0x%08x"
-msgstr ",校验值 0x%08x"
+msgstr ",校验和 0x%08x"
 
 #: misc/dumpe2fs.c:263
 msgid ","
@@ -4336,7 +4413,7 @@
 
 #: misc/dumpe2fs.c:266
 msgid " Inode bitmap at "
-msgstr " Inode 位图位于 "
+msgstr " inode 位图位于 "
 
 #: misc/dumpe2fs.c:273
 msgid ""
@@ -4344,7 +4421,7 @@
 "  Inode table at "
 msgstr ""
 "\n"
-"  Inode表位于 "
+"  inode 表位于 "
 
 #: misc/dumpe2fs.c:279
 #, c-format
@@ -4353,79 +4430,78 @@
 "  %u free %s, %u free inodes, %u directories%s"
 msgstr ""
 "\n"
-"  %u 个可用 %s,%u 个可用inode,%u 个目录 %s"
+"  %u 个可用%s,%u 个可用 inode,%u 个目录 %s"
 
 #: misc/dumpe2fs.c:286
 #, c-format
 msgid ", %u unused inodes\n"
-msgstr ",%u个未使用的inodes\n"
+msgstr ",%u 个未使用的 inode\n"
 
 #: misc/dumpe2fs.c:289
 msgid "  Free blocks: "
-msgstr "  可用块数: "
+msgstr "  可用块数:"
 
 #: misc/dumpe2fs.c:304
 msgid "  Free inodes: "
-msgstr "  可用inode数: "
+msgstr "  可用 inode 数:"
 
 #: misc/dumpe2fs.c:340
 msgid "while printing bad block list"
 msgstr "输出坏块列表时"
 
-#: misc/dumpe2fs.c:346
+#: misc/dumpe2fs.c:347
 #, c-format
 msgid "Bad blocks: %u"
 msgstr "坏块数:%u"
 
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:373
+#: misc/dumpe2fs.c:375 misc/tune2fs.c:379
 msgid "while reading journal inode"
-msgstr "读取日志inode时"
+msgstr "读取日志 inode 时"
 
-#: misc/dumpe2fs.c:379
+#: misc/dumpe2fs.c:381
 msgid "while opening journal inode"
-msgstr "打开日志inode时"
+msgstr "打开日志 inode 时"
 
-#: misc/dumpe2fs.c:385
+#: misc/dumpe2fs.c:387
 msgid "while reading journal super block"
 msgstr "读取日志超级块时"
 
-#: misc/dumpe2fs.c:392
+#: misc/dumpe2fs.c:394
 msgid "Journal superblock magic number invalid!\n"
 msgstr "日志超级块的幻数有错!\n"
 
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:216
+#: misc/dumpe2fs.c:414 misc/tune2fs.c:222
 msgid "while reading journal superblock"
 msgstr "读取日志超级块时"
 
-#: misc/dumpe2fs.c:417
+#: misc/dumpe2fs.c:422
 msgid "Couldn't find journal superblock magic numbers"
 msgstr "无法找到日志超级块的幻数"
 
-#: misc/dumpe2fs.c:468
+#: misc/dumpe2fs.c:477
 msgid "failed to alloc MMP buffer\n"
-msgstr "分配 MMP 缓冲失败\n"
+msgstr "分配 MMP 缓冲区失败\n"
 
-#: misc/dumpe2fs.c:479
-#, fuzzy, c-format
-#| msgid "Checking blocks %lu to %lu\n"
+#: misc/dumpe2fs.c:488
+#, c-format
 msgid "reading MMP block %llu from '%s'\n"
-msgstr "正在检查从 %lu 到 %lu的块\n"
+msgstr "从 \"%2$s\" 读取 MMP 块 %1$llu 时\n"
 
-#: misc/dumpe2fs.c:507 misc/mke2fs.c:800 misc/tune2fs.c:2027
+#: misc/dumpe2fs.c:520 misc/mke2fs.c:811 misc/tune2fs.c:2120
 msgid "Couldn't allocate memory to parse options!\n"
-msgstr "无法为解析选项获取内存!\n"
+msgstr "无法为解析选项分配内存!\n"
 
-#: misc/dumpe2fs.c:533
+#: misc/dumpe2fs.c:546
 #, c-format
 msgid "Invalid superblock parameter: %s\n"
 msgstr "无效的超级块参数:%s\n"
 
-#: misc/dumpe2fs.c:548
+#: misc/dumpe2fs.c:561
 #, c-format
 msgid "Invalid blocksize parameter: %s\n"
 msgstr "无效的块大小参数:%s\n"
 
-#: misc/dumpe2fs.c:559
+#: misc/dumpe2fs.c:572
 #, c-format
 msgid ""
 "\n"
@@ -4441,227 +4517,231 @@
 "\n"
 "指定了错误的扩展属性:%s\n"
 "\n"
-"扩展属性由逗号分隔,有些需要通过等号(“=”)传递参数。\n"
+"扩展属性由逗号分隔,有些需要通过等号 (\"=\") 传递参数。\n"
 "\n"
 "有效的参数有:\n"
 "\tsuperblock=<超级块编号>\n"
 "\tblocksize=<块大小>\n"
 
-#: misc/dumpe2fs.c:649 misc/mke2fs.c:1889
+#: misc/dumpe2fs.c:663 misc/mke2fs.c:1911
 #, c-format
 msgid "\tUsing %s\n"
 msgstr "\t使用 %s\n"
 
-#: misc/dumpe2fs.c:694 misc/e2image.c:1629 misc/tune2fs.c:2913
-#: resize/main.c:416
+#: misc/dumpe2fs.c:710 misc/e2image.c:1642 misc/tune2fs.c:3008
+#: resize/main.c:424
 msgid "Couldn't find valid filesystem superblock.\n"
 msgstr "找不到有效的文件系统超级块。\n"
 
-#: misc/dumpe2fs.c:716
+#: misc/dumpe2fs.c:732
 #, c-format
 msgid "%s: MMP feature not enabled.\n"
 msgstr "%s: MMP 特性未启用。\n"
 
-#: misc/dumpe2fs.c:747
+#: misc/dumpe2fs.c:763
 #, c-format
 msgid "while trying to read '%s' bitmaps\n"
-msgstr "尝试读取“%s”位图时\n"
+msgstr "尝试读取 \"%s\" 位图时\n"
 
-#: misc/dumpe2fs.c:756
+#: misc/dumpe2fs.c:772
 msgid ""
 "*** Run e2fsck now!\n"
 "\n"
 msgstr ""
-"*** 请立刻运行 e2fsck!\n"
+"*** 请立即运行 e2fsck!\n"
 "\n"
 
-#: misc/e2image.c:107
+#: misc/e2image.c:108
 #, c-format
-msgid "Usage: %s [ -r|Q ] [ -f ] [ -b superblock ] [ -B blocksize][ -fr ] device image-file\n"
-msgstr "用法:%s [ -r|Q ] [ -f ] [ -b 超级块 ] [ -B 块大小][ -fr ] 设备 镜像文件\n"
+msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
+msgstr "用法:%s [ -r|-Q ] [ -f ] [ -b 超级块] [ -B 块大小] 设备 镜像文件\n"
 
-#: misc/e2image.c:110
+#: misc/e2image.c:111
 #, c-format
 msgid "       %s -I device image-file\n"
 msgstr "       %s -I 设备 镜像文件\n"
 
-#: misc/e2image.c:111
+#: misc/e2image.c:112
 #, c-format
-msgid "       %s -ra  [  -cfnp  ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
-msgstr "       %s -ra  [  -cfnp  ] [ -o 源偏移量 ] [ -O 目标偏移量 ] 源文件系统 [ 目标文件系统 ]\n"
+msgid "       %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
+msgstr "       %s -ra [ -cfnp ] [ -o 源偏移量] [ -O 目标偏移量] 源文件系统 [目标文件系统]\n"
 
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
-#: misc/e2image.c:1194
+#: misc/e2image.c:177 misc/e2image.c:593 misc/e2image.c:599
+#: misc/e2image.c:1201
 msgid "while allocating buffer"
 msgstr "为缓冲区分配内存时"
 
-#: misc/e2image.c:181
+#: misc/e2image.c:182
 #, c-format
 msgid "Writing block %llu\n"
 msgstr "正在写入到块 %llu\n"
 
-#: misc/e2image.c:195
+#: misc/e2image.c:196
 #, c-format
 msgid "error writing block %llu"
-msgstr "写块 %llu 出错"
+msgstr "写入块 %llu 时出错"
 
-#: misc/e2image.c:198
+#: misc/e2image.c:200
 msgid "error in generic_write()"
 msgstr "generic_write() 函数出错"
 
-#: misc/e2image.c:215
+#: misc/e2image.c:217
 msgid "Error: header size is bigger than wrt_size\n"
-msgstr "错误:头部大小超过wrt_size\n"
+msgstr "错误:头部大小超过 wrt_size\n"
 
-#: misc/e2image.c:220
+#: misc/e2image.c:222
 msgid "Couldn't allocate header buffer\n"
-msgstr "无法为头缓冲区分配内存\n"
+msgstr "无法为头部缓冲区分配内存\n"
 
-#: misc/e2image.c:248
+#: misc/e2image.c:250
 msgid "while writing superblock"
 msgstr "写入超级块时"
 
-#: misc/e2image.c:257
+#: misc/e2image.c:259
 msgid "while writing inode table"
-msgstr "写入inode表时"
+msgstr "写入 inode 表时"
 
-#: misc/e2image.c:265
+#: misc/e2image.c:267
 msgid "while writing block bitmap"
 msgstr "写入块位图时"
 
-#: misc/e2image.c:273
+#: misc/e2image.c:275
 msgid "while writing inode bitmap"
-msgstr "写入inode位图时"
+msgstr "写入 inode 位图时"
 
-#: misc/e2image.c:515
+#: misc/e2image.c:517
 #, c-format
 msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
-msgstr "损坏的目录块 %llu:rec_len(%d)错误\n"
+msgstr "损坏的目录块 %llu:rec_len (%d) 错误\n"
 
-#: misc/e2image.c:527
+#: misc/e2image.c:529
 #, c-format
 msgid "Corrupt directory block %llu: bad name_len (%d)\n"
-msgstr "损坏的目录块 %llu:name_len(%d)错误\n"
+msgstr "损坏的目录块 %llu:name_len (%d) 错误\n"
 
-#: misc/e2image.c:568
+#: misc/e2image.c:570
 #, c-format
 msgid "%llu / %llu blocks (%d%%)"
-msgstr "%llu / %llu 块(%d%%)"
+msgstr "%llu / %llu 块 (%d%%)"
 
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:603 misc/e2image.c:643
 msgid "Copying "
 msgstr "正在拷贝 "
 
-#: misc/e2image.c:636
+#: misc/e2image.c:640
 msgid "Stopping now will destroy the filesystem, interrupt again if you are sure\n"
-msgstr "现在终止将会损坏文件系统;如果你确定要终止,请再次进行打断\n"
+msgstr "现在停止将会损坏文件系统;如果你确定要停止,请再次发送中断\n"
 
-#: misc/e2image.c:662
+#: misc/e2image.c:666
 #, c-format
 msgid " %s remaining at %.2f MB/s"
 msgstr " 剩余 %s,速度 %.2f MB/s"
 
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:678 misc/e2image.c:1211
 #, c-format
 msgid "error reading block %llu"
-msgstr "读取块 %llu 错误"
+msgstr "读取块 %llu 出错"
 
-#: misc/e2image.c:728
+#: misc/e2image.c:733
 #, c-format
 msgid "Copied %llu / %llu blocks (%d%%) in %s "
-msgstr "已复制 %llu / %llu 块(%d%%),用时 %s "
+msgstr "已复制 %llu / %llu 块 (%d%%),用时 %s "
 
-#: misc/e2image.c:732
+#: misc/e2image.c:738
 #, c-format
 msgid "at %.2f MB/s"
 msgstr "速度 %.2f MB/s"
 
-#: misc/e2image.c:768
+#: misc/e2image.c:774
 msgid "while allocating l1 table"
-msgstr "分配l1表时"
+msgstr "分配 l1 表时"
 
-#: misc/e2image.c:813
+#: misc/e2image.c:819
 msgid "while allocating l2 cache"
-msgstr "分配l2表时"
+msgstr "分配 l2 缓存时"
 
-#: misc/e2image.c:836
+#: misc/e2image.c:842
 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 "警告:当put缓存时,这些表仍然储存在缓存中,这将导致数据丢失,镜像文件也可能无效。\n"
-
-#: misc/e2image.c:1161
-msgid "while allocating ext2_qcow2_image"
-msgstr "为ext2_qcow2_image分配内存时"
+msgstr "警告:当放入缓存时,仍有表储存在缓存中,这将导致数据丢失,镜像文件也可能无效。\n"
 
 #: misc/e2image.c:1168
+msgid "while allocating ext2_qcow2_image"
+msgstr "为 ext2_qcow2_image 分配内存时"
+
+#: misc/e2image.c:1175
 msgid "while initializing ext2_qcow2_image"
-msgstr "初始化ext2_qcow2_image时"
+msgstr "初始化 ext2_qcow2_image 时"
 
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1235 misc/e2image.c:1253
 msgid "Programming error: multiple sequential refcount blocks created!\n"
-msgstr "程序错误:创建了多重序列的引用计数块!\n"
+msgstr "程序错误:创建了多个顺序的引用计数块!\n"
 
-#: misc/e2image.c:1286
+#: misc/e2image.c:1294
 msgid "while allocating block bitmap"
-msgstr "写入块位图时"
+msgstr "分配块位图时"
 
-#: misc/e2image.c:1295
+#: misc/e2image.c:1303
 msgid "while allocating scramble block bitmap"
-msgstr "写入加扰块位图时"
+msgstr "分配加扰块位图时"
 
-#: misc/e2image.c:1318
+#: misc/e2image.c:1326
 msgid "Scanning inodes...\n"
-msgstr "扫描inode中...\n"
+msgstr "正在扫描 inode...\n"
 
-#: misc/e2image.c:1330
+#: misc/e2image.c:1338
 msgid "Can't allocate block buffer"
-msgstr "无法为块缓存分配内存"
+msgstr "无法为块缓冲区分配内存"
 
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1350
+msgid "while getting next inode"
+msgstr "获取下一个 inode 时"
+
+#: misc/e2image.c:1379 misc/e2image.c:1393
 #, c-format
 msgid "while iterating over inode %u"
-msgstr "获取遍历inode %u 时"
+msgstr "遍历 inode %u 时"
 
-#: misc/e2image.c:1415
+#: misc/e2image.c:1425
 msgid "Raw and qcow2 images cannot be installed"
-msgstr "原始镜像和qcow2镜像无法被安装"
+msgstr "raw 和 qcow2 镜像无法被安装"
 
-#: misc/e2image.c:1437
+#: misc/e2image.c:1447
 msgid "error reading bitmaps"
 msgstr "读取位图时发生错误"
 
-#: misc/e2image.c:1449
+#: misc/e2image.c:1459
 msgid "while opening device file"
 msgstr "打开设备文件时"
 
-#: misc/e2image.c:1460
+#: misc/e2image.c:1470
 msgid "while restoring the image table"
-msgstr "存储镜像表时"
+msgstr "恢复镜像表时"
 
-#: misc/e2image.c:1565
+#: misc/e2image.c:1578
 msgid "-a option can only be used with raw or QCOW2 images."
-msgstr "-a 选项只能用于原始或 QCOW2 镜像。"
+msgstr "-a 选项只能用于 raw 或 QCOW2 镜像。"
 
-#: misc/e2image.c:1570
+#: misc/e2image.c:1583
 msgid "-b option can only be used with raw or QCOW2 images."
-msgstr "-b 选项只能用于原始或 QCOW2 镜像。"
+msgstr "-b 选项只能用于 raw 或 QCOW2 镜像。"
 
-#: misc/e2image.c:1576
+#: misc/e2image.c:1589
 msgid "Offsets are only allowed with raw images."
-msgstr "偏移量只能用于原始镜像"
+msgstr "偏移量只能用于 raw 镜像。"
 
-#: misc/e2image.c:1581
+#: misc/e2image.c:1594
 msgid "Move mode is only allowed with raw images."
-msgstr "移动模式只能用于原始镜像"
+msgstr "移动模式只能用于 raw 镜像。"
 
-#: misc/e2image.c:1586
+#: misc/e2image.c:1599
 msgid "Move mode requires all data mode."
-msgstr "原始镜像需要完全数据模式。"
+msgstr "移动模式需要启用完全数据模式。"
 
-#: misc/e2image.c:1596
+#: misc/e2image.c:1609
 msgid "checking if mounted"
 msgstr "检测其是否已挂载"
 
-#: misc/e2image.c:1603
+#: misc/e2image.c:1616
 msgid ""
 "\n"
 "Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4669,253 +4749,253 @@
 "Use -f option if you really want to do that.\n"
 msgstr ""
 "\n"
-"对可读写的文件系统上运行e2image可能导致镜像不连续,\n"
+"在以读写模式挂载的文件系统上运行 e2image 可能导致镜像不一致,\n"
 "这样的镜像也无法用于调试。如果你确实需要这样做,请使用 -f 选项。\n"
 
-#: misc/e2image.c:1657
+#: misc/e2image.c:1670
 msgid "QCOW2 image can not be written to the stdout!\n"
-msgstr "无法写入qcow2镜像到标准输出!\n"
-
-#: misc/e2image.c:1663
-msgid "Can not stat output\n"
-msgstr "无法对输出进行stat操作\n"
-
-#: misc/e2image.c:1673
-#, c-format
-msgid "Image (%s) is compressed\n"
-msgstr "镜像(%s)已被压缩\n"
+msgstr "无法将 QCOW2 镜像写到标准输出!\n"
 
 #: misc/e2image.c:1676
+msgid "Can not stat output\n"
+msgstr "无法对输出进行 stat 操作\n"
+
+#: misc/e2image.c:1686
+#, c-format
+msgid "Image (%s) is compressed\n"
+msgstr "镜像 (%s) 已被压缩\n"
+
+#: misc/e2image.c:1689
 #, c-format
 msgid "Image (%s) is encrypted\n"
-msgstr "镜像(%s)已被加密\n"
+msgstr "镜像 (%s) 已被加密\n"
 
-#: misc/e2image.c:1679
+#: misc/e2image.c:1692
 #, c-format
 msgid "Image (%s) is corrupted\n"
-msgstr "镜像(%s)已损坏\n"
+msgstr "镜像 (%s) 已损坏\n"
 
-#: misc/e2image.c:1683
+#: misc/e2image.c:1696
 #, c-format
 msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
-msgstr "尝试将qcow2镜像(%s)转换为raw镜像(%s)时"
+msgstr "尝试将 qcow2 镜像 (%s) 转换为 raw 镜像 (%s) 时"
 
-#: misc/e2image.c:1693
+#: misc/e2image.c:1706
 msgid "The -c option only supported in raw mode\n"
-msgstr "只有原始模式支持 -c 选项\n"
+msgstr "只有 raw 模式支持 -c 选项\n"
 
-#: misc/e2image.c:1698
+#: misc/e2image.c:1711
 msgid "The -c option not supported when writing to stdout\n"
 msgstr "写入到标准输出时无法使用 -c 选项\n"
 
-#: misc/e2image.c:1705
+#: misc/e2image.c:1718
 msgid "while allocating check_buf"
-msgstr "为check_buf分配内存时"
+msgstr "为 check_buf 分配内存时"
 
-#: misc/e2image.c:1711
+#: misc/e2image.c:1724
 msgid "The -p option only supported in raw mode\n"
-msgstr "只有原始模式支持 -p 选项\n"
+msgstr "只有 raw 模式支持 -p 选项\n"
 
-#: misc/e2image.c:1721
+#: misc/e2image.c:1734
 #, c-format
 msgid "%d blocks already contained the data to be copied\n"
 msgstr "%d 个块已包含需要被拷贝的数据\n"
 
-#: misc/e2initrd_helper.c:68
+#: misc/e2initrd_helper.c:69
 #, c-format
 msgid "Usage: %s -r device\n"
-msgstr "用法:%s  -r 磁盘名\n"
+msgstr "用法:%s -r 设备\n"
 
 #: misc/e2label.c:58
 #, c-format
 msgid "e2label: cannot open %s\n"
-msgstr "e2label:无法打开 %s\n"
+msgstr "e2label: 无法打开 %s\n"
 
 #: misc/e2label.c:63
 #, c-format
 msgid "e2label: cannot seek to superblock\n"
-msgstr "e2label:无法定位到superblock\n"
+msgstr "e2label: 无法定位到超级块\n"
 
 #: misc/e2label.c:68
 #, c-format
 msgid "e2label: error reading superblock\n"
-msgstr "e2label:读取superblock出错\n"
+msgstr "e2label: 读取超级块时出错\n"
 
 #: misc/e2label.c:72
 #, c-format
 msgid "e2label: not an ext2 filesystem\n"
-msgstr "e2label:不是一个ex2文件系统\n"
+msgstr "e2label: 不是一个 ext2 文件系统\n"
 
-#: misc/e2label.c:97 misc/tune2fs.c:3117
+#: misc/e2label.c:97 misc/tune2fs.c:3215
 #, c-format
 msgid "Warning: label too long, truncating.\n"
-msgstr "警告:卷标太长,已截短。\n"
+msgstr "警告:标签太长,已截短。\n"
 
 #: misc/e2label.c:100
 #, c-format
 msgid "e2label: cannot seek to superblock again\n"
-msgstr "e2label:无法定位到superblock\n"
+msgstr "e2label: 再一次无法定位到超级块\n"
 
 #: misc/e2label.c:105
 #, c-format
 msgid "e2label: error writing superblock\n"
-msgstr "e2label:写入超级块时出错\n"
+msgstr "e2label: 写入超级块时出错\n"
 
-#: misc/e2label.c:117 misc/tune2fs.c:1687
+#: misc/e2label.c:117 misc/tune2fs.c:1772
 #, c-format
 msgid "Usage: e2label device [newlabel]\n"
-msgstr "用法:e2label 设备 [新卷标]\n"
+msgstr "用法:e2label 设备 [新标签]\n"
 
 #: misc/e2undo.c:124
 #, c-format
 msgid "Usage: %s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <transaction file> <filesystem>\n"
-msgstr "用法:%s [-f] [-h] [-n] [-o offset] [-v] [-z undo_file] <事务文件> <文件系统>\n"
+msgstr "用法:%s [-f] [-h] [-n] [-o 偏移量] [-v] [-z 撤销文件] <事务文件> <文件系统>\n"
 
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
 msgid "The file system superblock doesn't match the undo file.\n"
 msgstr "文件系统的超级块与撤销文件不匹配\n"
 
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
 msgid "UUID does not match.\n"
 msgstr "UUID 不匹配。\n"
 
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
 msgid "Last mount time does not match.\n"
 msgstr "上一次的挂载时间不匹配。\n"
 
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
 msgid "Last write time does not match.\n"
 msgstr "上一次的写入时间不匹配。\n"
 
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
 msgid "Lifetime write counter does not match.\n"
 msgstr "写入计数不匹配。\n"
 
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
 msgid "while reading filesystem superblock."
-msgstr "读取文件系统的超级块时"
+msgstr "读取文件系统超级块时。"
 
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
 msgid "while fetching superblock"
 msgstr "获取超级块时"
 
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
 #, c-format
 msgid "Undo file superblock checksum doesn't match.\n"
-msgstr "撤销文件的超级块的校验值与超级块自身不符。\n"
+msgstr "撤销文件的超级块的校验和不符。\n"
 
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
 #, c-format
 msgid "illegal offset - %s"
-msgstr "偏移量无效 - %s"
+msgstr "非法的偏移量 - %s"
 
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
 #, c-format
 msgid "Will not write to an undo file while replaying it.\n"
-msgstr "在进行重做操作时,不会写入到撤销文件。\n"
+msgstr "在进行重放操作时,不会写入到撤销文件。\n"
 
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
 #, c-format
 msgid "while opening undo file `%s'\n"
-msgstr "打开撤销文件“%s”时\n"
+msgstr "打开撤销文件 \"%s\" 时\n"
 
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
 msgid "while reading undo file"
-msgstr "读取坏撤销文件时"
+msgstr "读取撤销文件时"
 
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
 #, c-format
 msgid "%s: Not an undo file.\n"
-msgstr "%s:不是撤销文件。\n"
+msgstr "%s: 不是撤销文件。\n"
 
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
 #, c-format
 msgid "%s: Header checksum doesn't match.\n"
-msgstr "%s:头部校验值与自身不符。\n"
-
-#: misc/e2undo.c:403
-#, c-format
-msgid "%s: Corrupt undo file header.\n"
-msgstr "%s:撤销文件头损坏。\n"
+msgstr "%s: 头部校验和不匹配。\n"
 
 #: misc/e2undo.c:407
 #, c-format
-msgid "%s: Undo block size too large.\n"
-msgstr "%s:撤销块过小。\n"
+msgid "%s: Corrupt undo file header.\n"
+msgstr "%s: 撤销文件头损坏。\n"
 
-#: misc/e2undo.c:412
+#: misc/e2undo.c:411
+#, c-format
+msgid "%s: Undo block size too large.\n"
+msgstr "%s: 撤销块过大。\n"
+
+#: misc/e2undo.c:416
 #, c-format
 msgid "%s: Undo block size too small.\n"
-msgstr "%s:撤销块过大。\n"
+msgstr "%s: 撤销块过小。\n"
 
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
 #, c-format
 msgid "%s: Unknown undo file feature set.\n"
-msgstr "%s:设置了未知的撤销文件属性。\n"
+msgstr "%s: 设置了未知的撤销文件特性。\n"
 
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
 #, c-format
 msgid "Error while determining whether %s is mounted."
 msgstr "确定 %s 是否已挂载时出错。"
 
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
 msgid "e2undo should only be run on unmounted filesystems"
 msgstr "e2undo 只能用于未挂载的文件系统"
 
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
 #, c-format
 msgid "while opening `%s'"
-msgstr "打开“%s”时"
+msgstr "打开 \"%s\" 时"
 
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
 msgid "specified offset is too large"
 msgstr "指定的偏移量太大"
 
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
 msgid "while reading keys"
 msgstr "读取键时"
 
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
 #, c-format
 msgid "%s: wrong key magic at %llu\n"
-msgstr "%s:%llu 中的键幻数有错\n"
+msgstr "%s: %llu 中的键幻数有误\n"
 
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
 #, c-format
 msgid "%s: key block checksum error at %llu.\n"
-msgstr "%s:%llu 中的键块的校验值有错。\n"
+msgstr "%s: %llu 中的键块的校验和有误。\n"
 
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
 #, c-format
 msgid "%s: block %llu is too long."
-msgstr "%s:块 %llu 太长。"
+msgstr "%s: 块 %llu 太长。"
 
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
 #, c-format
 msgid "while fetching block %llu."
 msgstr "获取块 %llu 时。"
 
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
 #, c-format
 msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
-msgstr "文件系统块 %llu 中的校验值有误(undo blk %llu)\n"
+msgstr "文件系统块 %llu(撤销块 %llu)的校验和有误\n"
 
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
 #, c-format
 msgid "while writing block %llu."
 msgstr "写块 %llu 时。"
 
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
 #, c-format
 msgid "Undo file corruption; run e2fsck NOW!\n"
 msgstr "撤销文件损坏;请立即运行 e2fsck!\n"
 
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
 #, c-format
 msgid "IO error during replay; run e2fsck NOW!\n"
-msgstr "执行重做操作时出现输入/输出错误;请立即运行 e2fsck!\n"
+msgstr "执行重放操作时出现输入/输出错误;请立即运行 e2fsck!\n"
 
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
 #, c-format
 msgid "Incomplete undo record; run e2fsck.\n"
 msgstr "撤销记录不完整;请运行 e2fsck。\n"
@@ -4928,22 +5008,22 @@
 #: misc/findsuper.c:155
 #, c-format
 msgid "skipbytes should be a number, not %s\n"
-msgstr "“跳过字节数”应当为一个数字,而不是 %s\n"
+msgstr "\"跳过字节数\" 应当为一个数字,而不是 %s\n"
 
 #: misc/findsuper.c:162
 #, c-format
 msgid "skipbytes must be a multiple of the sector size\n"
-msgstr "“跳过字节数”应当是扇区大小的整数倍\n"
+msgstr "\"跳过字节数\" 应当是扇区大小的整数倍\n"
 
 #: misc/findsuper.c:169
 #, c-format
 msgid "startkb should be a number, not %s\n"
-msgstr "“起始kb数”应当为一个数字,而不是 %s\n"
+msgstr "\"起始kb数\" 应当为一个数字,而不是 %s\n"
 
 #: misc/findsuper.c:175
 #, c-format
 msgid "startkb should be positive, not %llu\n"
-msgstr "“起始kb数”应当为正数,而不是 %llu\n"
+msgstr "\"起始kb数\" 应当为正数,而不是 %llu\n"
 
 #: misc/findsuper.c:186
 #, c-format
@@ -4956,170 +5036,173 @@
 "[*] probably superblock written in the ext3 journal superblock,\n"
 "\tso start/end/grp wrong\n"
 msgstr ""
-"[*] ext3 日志中的超级块中可能被写入了文件系统的超级块,\n"
-"\t因此 start/end/grp 出错\n"
+"[*] 可能是被写入了 ext3 日志超级块中的超级块,\n"
+"\t因此 起始/结束/组 可能有误\n"
 
 #: misc/findsuper.c:190
 #, c-format
 msgid "byte_offset  byte_start     byte_end  fs_blocks blksz  grp  mkfs/mount_time           sb_uuid label\n"
-msgstr "偏移字节     起始字节      结束字节   块数      块大小  grp  创建/挂载时间             超级块 UUID 标签\n"
+msgstr "偏移字节     起始字节      结束字节   块数      块大小  组  创建/挂载时间             超级块UUID 标签\n"
 
-#: misc/findsuper.c:264
+#: misc/findsuper.c:265
 #, c-format
 msgid ""
 "\n"
 "%11Lu: finished with errno %d\n"
 msgstr ""
 "\n"
-"%11Lu:已结束,错误号为 %d\n"
+"%11Lu: 已结束,错误号为 %d\n"
 
-#: misc/fsck.c:343
+#: misc/fsck.c:344
 #, c-format
 msgid "WARNING: couldn't open %s: %s\n"
 msgstr "警告:无法打开 %s:%s\n"
 
-#: misc/fsck.c:353
+#: misc/fsck.c:354
 #, c-format
 msgid "WARNING: bad format on line %d of %s\n"
-msgstr "警告:%2$s 的第 %1$d 中格式错误\n"
+msgstr "警告:%2$s 的第 %1$d 行格式错误\n"
 
-#: misc/fsck.c:370
+#: misc/fsck.c:371
 msgid ""
 "WARNING: Your /etc/fstab does not contain the fsck passno\n"
 "\tfield.  I will kludge around things for you, but you\n"
 "\tshould fix your /etc/fstab file as soon as you can.\n"
 "\n"
 msgstr ""
-"警告:你的/etc/fstab中缺少passno字段。\n"
-"\t我将会设法完成任务,但你应当尽快修复/etc/fstab。\n"
+"警告:你的 /etc/fstab 中缺少 fsck passno 字段。\n"
+"\t我将会设法完成任务,但你应当尽快修复 /etc/fstab。\n"
 "\n"
 
-#: misc/fsck.c:485
+#: misc/fsck.c:486
 #, c-format
 msgid "fsck: %s: not found\n"
-msgstr "fsck:%s:未找到\n"
+msgstr "fsck: %s: 未找到\n"
 
-#: misc/fsck.c:601
+#: misc/fsck.c:602
 #, c-format
 msgid "%s: wait: No more child process?!?\n"
-msgstr ""
-"%s:等待中:没有子进程了吗?!?\n"
-"\n"
+msgstr "%s: wait: 没有子进程了吗?!?\n"
 
-#: misc/fsck.c:623
+#: misc/fsck.c:624
 #, c-format
 msgid "Warning... %s for device %s exited with signal %d.\n"
-msgstr "警告... 设备%s 的 %s 操作收到 %d 信号后退出。\n"
+msgstr "警告...设备 %2$s 的 %1$s 收到信号 %3$d 后退出。\n"
 
-#: misc/fsck.c:629
+#: misc/fsck.c:630
 #, c-format
 msgid "%s %s: status is %x, should never happen.\n"
-msgstr "%s %s:状态为 %x,这不应当发生。\n"
+msgstr "%s %s: 状态为 %x,这不应该发生。\n"
 
-#: misc/fsck.c:668
+#: misc/fsck.c:669
 #, c-format
 msgid "Finished with %s (exit status %d)\n"
-msgstr "已完成 %s (退出状态码 %d)\n"
+msgstr "已完成 %s(退出状态码 %d)\n"
 
-#: misc/fsck.c:728
+#: misc/fsck.c:729
 #, c-format
 msgid "%s: Error %d while executing fsck.%s for %s\n"
-msgstr "%1$s:执行fsck.%3$s %4$s 时出错, 退出状态码 %2$d\n"
+msgstr "%1$s: 执行 fsck.%3$s %4$s 时出错,退出状态码 %2$d\n"
 
-#: misc/fsck.c:749
+#: misc/fsck.c:750
 msgid ""
 "Either all or none of the filesystem types passed to -t must be prefixed\n"
 "with 'no' or '!'.\n"
 msgstr ""
 "所有通过 -t 选项指定的文件系统类型必须都含有(或都不含有)\n"
-"“no”或“!”前缀。\n"
+"\"no\" 或 \"!\" 前缀。\n"
 
-#: misc/fsck.c:768
+#: misc/fsck.c:769
 msgid "Couldn't allocate memory for filesystem types\n"
 msgstr ""
-"无法为创建指定文件系统类型分配内存\n"
+"无法为文件系统类型分配内存\n"
 "\n"
 
-#: misc/fsck.c:891
+#: misc/fsck.c:892
 #, c-format
 msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n"
-msgstr "%s:跳过/etc/fstab中的错误行:传递给fsck非零值的bind挂载项\n"
+msgstr "%s: 跳过 /etc/fstab 中的错误行:bind 挂载项的 fsck pass 数非零\n"
 
-#: misc/fsck.c:918
+#: misc/fsck.c:919
 #, c-format
 msgid "fsck: cannot check %s: fsck.%s not found\n"
-msgstr "fsck:无法检查 %s:找不到fsck.%s\n"
+msgstr "fsck: 无法检查 %s:找不到 fsck.%s\n"
 
-#: misc/fsck.c:974
+#: misc/fsck.c:975
 msgid "Checking all file systems.\n"
 msgstr "正在检查所有文件系统。\n"
 
-#: misc/fsck.c:1065
+#: misc/fsck.c:1066
 #, c-format
 msgid "--waiting-- (pass %d)\n"
-msgstr "--请稍候-- (第 %d 步)n\n"
+msgstr "--请稍候--(第 %d 遍)\n"
 
-#: misc/fsck.c:1085
+#: misc/fsck.c:1086
 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"
 msgstr "用法:fsck [-AMNPRTV] [ -C [ fd ] ] [-t 文件系统类型] [文件系统选项] [文件系统 ...]\n"
 
-#: misc/fsck.c:1127
+#: misc/fsck.c:1128
 #, c-format
 msgid "%s: too many devices\n"
-msgstr "%s:设备过多\n"
+msgstr "%s: 设备过多\n"
 
-#: misc/fsck.c:1160 misc/fsck.c:1246
+#: misc/fsck.c:1161 misc/fsck.c:1247
 #, c-format
 msgid "%s: too many arguments\n"
-msgstr "%s:参数过多\n"
+msgstr "%s: 参数过多\n"
 
-#: misc/fuse2fs.c:3745
+#: misc/fuse2fs.c:3746
 msgid "Mounting read-only.\n"
 msgstr "以只读模式挂载。\n"
 
-#: misc/fuse2fs.c:3769
+#: misc/fuse2fs.c:3770
 #, c-format
 msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
-msgstr "%s:允许用户分配所有块。这样做很危险!\n"
+msgstr "%s: 允许用户分配所有块。这样做很危险!\n"
 
-#: misc/fuse2fs.c:3781 misc/fuse2fs.c:3795
+#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3800
 #, c-format
 msgid "%s: %s.\n"
-msgstr "%s:%s。\n"
+msgstr "%s: %s。\n"
 
-#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3797 misc/tune2fs.c:3013
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3108
 #, c-format
 msgid "Please run e2fsck -fy %s.\n"
-msgstr "请先运行“e2fsck -fy %s”。\n"
+msgstr "请先运行 \"e2fsck -fy %s\"。\n"
 
-#: misc/fuse2fs.c:3804
+#: misc/fuse2fs.c:3793
+#, c-format
+msgid "%s: mounting read-only without recovering journal\n"
+msgstr "%s: 以只读方式挂载且不恢复日志\n"
+
+#: misc/fuse2fs.c:3809
 msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
-msgstr "日志需要恢复;请运行“e2fsck -E journal_only”。\n"
+msgstr "需要恢复日志;请运行 \"e2fsck -E journal_only\"。\n"
 
-#: misc/fuse2fs.c:3812
+#: misc/fuse2fs.c:3817
 #, c-format
 msgid "%s: Writing to the journal is not supported.\n"
-msgstr "%s:不支持写入日志。\n"
+msgstr "%s: 不支持写入日志。\n"
 
-#: misc/fuse2fs.c:3827
+#: misc/fuse2fs.c:3832
 msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
-msgstr "警告:正在挂载未经检查的文件系统,建议您先运行 e2fsck。\n"
-
-#: misc/fuse2fs.c:3831
-msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
-msgstr ""
-"警告:尝试挂载次数超过最大值,建议您运行 e2fsck。\n"
-"\n"
+msgstr "警告:正在挂载未经检查的文件系统,建议您运行 e2fsck。\n"
 
 #: misc/fuse2fs.c:3836
-msgid "Warning: Check time reached; running e2fsck is recommended.\n"
-msgstr "警告:检查超时,建议您运行 e2fsck。\n"
+msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
+msgstr ""
+"警告:达到了最大挂载次数,建议您运行 e2fsck。\n"
+"\n"
 
-#: misc/fuse2fs.c:3840
+#: misc/fuse2fs.c:3841
+msgid "Warning: Check time reached; running e2fsck is recommended.\n"
+msgstr "警告:检查时间已到;建议您运行 e2fsck。\n"
+
+#: misc/fuse2fs.c:3845
 msgid "Orphans detected; running e2fsck is recommended.\n"
 msgstr "检测到孤立块;建议您运行 e2fsck。\n"
 
-#: misc/fuse2fs.c:3844
+#: misc/fuse2fs.c:3849
 msgid "Errors detected; running e2fsck is required.\n"
 msgstr "检测到错误;请运行 e2fsck。\n"
 
@@ -5141,9 +5224,13 @@
 #: misc/lsattr.c:102
 #, c-format
 msgid "While reading version on %s"
-msgstr "设置 %s 的版本时"
+msgstr "读取 %s 的版本时"
 
-#: misc/mke2fs.c:130
+#: misc/lsattr.c:148
+msgid "Couldn't allocate path variable in lsattr_dir_proc\n"
+msgstr "无法在 lsattr_dir_proc 中为路径变量分配内存\n"
+
+#: misc/mke2fs.c:131
 #, c-format
 msgid ""
 "Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n"
@@ -5164,135 +5251,139 @@
 "\t[-t 文件系统类型] [-T 用法类型] [-U UUID] [-e 错误行为][-z 撤销文件]\n"
 "\t[-jnqvDFKSV] 设备 [块数]\n"
 
-#: misc/mke2fs.c:261
+#: misc/mke2fs.c:263
 #, c-format
 msgid "Running command: %s\n"
 msgstr "正在执行命令:%s\n"
 
-#: misc/mke2fs.c:265
+#: misc/mke2fs.c:267
 #, c-format
 msgid "while trying to run '%s'"
-msgstr "尝试运行“%s”时"
+msgstr "尝试运行 \"%s\" 时"
 
-#: misc/mke2fs.c:272
+#: misc/mke2fs.c:274
 msgid "while processing list of bad blocks from program"
-msgstr "处理从badblocks获取的坏块列表时"
-
-#: misc/mke2fs.c:299
-#, c-format
-msgid "Block %d in primary superblock/group descriptor area bad.\n"
-msgstr "主超级块/组描述符中的块 %d 为坏块。\n"
+msgstr "处理程序提供的坏块列表时"
 
 #: misc/mke2fs.c:301
 #, c-format
+msgid "Block %d in primary superblock/group descriptor area bad.\n"
+msgstr "主超级块/组描述符区中的块 %d 为坏块。\n"
+
+#: misc/mke2fs.c:303
+#, c-format
 msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
 msgstr "若要创建文件系统,块 %u 至 %u 必须为好块。\n"
 
-#: misc/mke2fs.c:304
+#: misc/mke2fs.c:306
 msgid "Aborting....\n"
-msgstr "正在终止...\n"
+msgstr "正在中止...\n"
 
-#: misc/mke2fs.c:324
+#: misc/mke2fs.c:326
 #, c-format
 msgid ""
 "Warning: the backup superblock/group descriptors at block %u contain\n"
 "\tbad blocks.\n"
 "\n"
 msgstr ""
-"警告:备份超级块/组描述符中发现坏块(%u)\n"
+"警告:备份超级块/组描述符中发现坏块 (%u)\n"
 "\n"
 
-#: misc/mke2fs.c:343
+#: misc/mke2fs.c:345 misc/mke2fs.c:3318
 msgid "while marking bad blocks as used"
 msgstr "将坏块标记为已使用的"
 
-#: misc/mke2fs.c:368
+#: misc/mke2fs.c:370
 msgid "while writing reserved inodes"
 msgstr "写入预留 inode 时"
 
-#: misc/mke2fs.c:420
+#: misc/mke2fs.c:422
 msgid "Writing inode tables: "
-msgstr "正在写入inode表: "
+msgstr "正在写入 inode表:"
 
-#: misc/mke2fs.c:442
+#: misc/mke2fs.c:444
 #, c-format
 msgid ""
 "\n"
 "Could not write %d blocks in inode table starting at %llu: %s\n"
 msgstr ""
 "\n"
-"无法写入 %d 个块到起始于%llu的inode表:%s\n"
+"无法写入 %d 个块到起始于%llu的 inode 表:%s\n"
 
-#: misc/mke2fs.c:456 misc/mke2fs.c:2809 misc/mke2fs.c:3214
+#: misc/mke2fs.c:459 misc/mke2fs.c:2870 misc/mke2fs.c:3278
 msgid "done                            \n"
 msgstr "完成                            \n"
 
-#: misc/mke2fs.c:471
+#: misc/mke2fs.c:474
 msgid "while creating root dir"
 msgstr "创建根目录时"
 
-#: misc/mke2fs.c:478
+#: misc/mke2fs.c:481
 msgid "while reading root inode"
-msgstr "读取坏块inode时"
+msgstr "读取根 inode 时"
 
-#: misc/mke2fs.c:490
+#: misc/mke2fs.c:493
 msgid "while setting root inode ownership"
-msgstr "设置根目录的所有者时"
+msgstr "设置根 inode 的所有者时"
 
-#: misc/mke2fs.c:508
+#: misc/mke2fs.c:511
 msgid "while creating /lost+found"
-msgstr "创建/lost+found目录时"
+msgstr "创建 /lost+found 时"
 
-#: misc/mke2fs.c:515
+#: misc/mke2fs.c:518
 msgid "while looking up /lost+found"
-msgstr "查找/lost+found目录时"
+msgstr "查找 /lost+found 时"
 
-#: misc/mke2fs.c:528
+#: misc/mke2fs.c:531
 msgid "while expanding /lost+found"
-msgstr "扩充/lost+found目录时"
+msgstr "扩充 /lost+found 时"
 
-#: misc/mke2fs.c:543
+#: misc/mke2fs.c:546
 msgid "while setting bad block inode"
-msgstr "设置坏块inode时"
+msgstr "设置坏块 inode 时"
 
-#: misc/mke2fs.c:570
+#: misc/mke2fs.c:573
 #, c-format
 msgid "Out of memory erasing sectors %d-%d\n"
-msgstr "擦除扇区 %d-%d 时内存耗尽\n"
+msgstr "擦除扇区 %d-%d 时内存不足\n"
 
-#: misc/mke2fs.c:580
+#: misc/mke2fs.c:583
 #, c-format
 msgid "Warning: could not read block 0: %s\n"
 msgstr "警告:无法读取块 0:%s\n"
 
-#: misc/mke2fs.c:596
+#: misc/mke2fs.c:601
 #, c-format
 msgid "Warning: could not erase sector %d: %s\n"
-msgstr "警告:无法擦除块 %d:%s\n"
+msgstr "警告:无法擦除扇区 %d:%s\n"
 
-#: misc/mke2fs.c:612
+#: misc/mke2fs.c:617
+msgid "while splitting the journal size"
+msgstr "分离日志大小时"
+
+#: misc/mke2fs.c:624
 msgid "while initializing journal superblock"
 msgstr "初始化日志超级块时"
 
-#: misc/mke2fs.c:620
-msgid "Zeroing journal device: "
-msgstr "正在对日志设备填零: "
-
 #: misc/mke2fs.c:632
+msgid "Zeroing journal device: "
+msgstr "正在对日志设备填零:"
+
+#: misc/mke2fs.c:644
 #, c-format
 msgid "while zeroing journal device (block %llu, count %d)"
 msgstr "对日志设备填零时(块 %llu,计数 %d)"
 
-#: misc/mke2fs.c:650
+#: misc/mke2fs.c:662
 msgid "while writing journal superblock"
 msgstr "写入日志超级块时"
 
-#: misc/mke2fs.c:665
+#: misc/mke2fs.c:676
 #, c-format
 msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
-msgstr "创建含有 %llu 个块(每块 %dk)和 %u 个inode的文件系统\n"
+msgstr "创建含有 %llu 个块(每块 %dk)和 %u 个 inode 的文件系统\n"
 
-#: misc/mke2fs.c:673
+#: misc/mke2fs.c:684
 #, c-format
 msgid ""
 "warning: %llu blocks unused.\n"
@@ -5301,195 +5392,171 @@
 "警告:%llu 块未使用。\n"
 "\n"
 
-#: misc/mke2fs.c:678
+#: misc/mke2fs.c:688
 #, c-format
-msgid "Filesystem label=%s\n"
-msgstr "文件系统标签=%s\n"
-
-#: misc/mke2fs.c:681
-#, c-format
-msgid "OS type: %s\n"
-msgstr "操作系统: %s\n"
-
-#: misc/mke2fs.c:683
-#, c-format
-msgid "Block size=%u (log=%u)\n"
-msgstr "块大小=%u(log=%u)\n"
-
-#: misc/mke2fs.c:686
-#, c-format
-msgid "Cluster size=%u (log=%u)\n"
-msgstr "簇大小=%u(log=%u)\n"
-
-#: misc/mke2fs.c:690
-#, c-format
-msgid "Fragment size=%u (log=%u)\n"
-msgstr "分块大小=%u(log=%u)\n"
+msgid "Filesystem label=%.*s\n"
+msgstr "文件系统标签=%.*s\n"
 
 #: misc/mke2fs.c:692
 #, c-format
+msgid "OS type: %s\n"
+msgstr "操作系统类型:%s\n"
+
+#: misc/mke2fs.c:694
+#, c-format
+msgid "Block size=%u (log=%u)\n"
+msgstr "块大小=%u (log=%u)\n"
+
+#: misc/mke2fs.c:697
+#, c-format
+msgid "Cluster size=%u (log=%u)\n"
+msgstr "簇大小=%u (log=%u)\n"
+
+#: misc/mke2fs.c:701
+#, c-format
+msgid "Fragment size=%u (log=%u)\n"
+msgstr "分块大小=%u (log=%u)\n"
+
+#: misc/mke2fs.c:703
+#, c-format
 msgid "Stride=%u blocks, Stripe width=%u blocks\n"
 msgstr "步长=%u 块,带宽=%u 块\n"
 
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:705
 #, c-format
 msgid "%u inodes, %llu blocks\n"
-msgstr "%u 个inode,%llu 个块\n"
+msgstr "%u 个 inode,%llu 个块\n"
 
-#: misc/mke2fs.c:696
+#: misc/mke2fs.c:707
 #, c-format
 msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
-msgstr "%llu 个块(%2.2f%%)为超级用户保留\n"
+msgstr "%llu 个块 (%2.2f%%) 为超级用户保留\n"
 
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:710
 #, c-format
 msgid "First data block=%u\n"
 msgstr "第一个数据块=%u\n"
 
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:712
 #, c-format
 msgid "Root directory owner=%u:%u\n"
 msgstr "根目录的所有者=%u:%u\n"
 
-#: misc/mke2fs.c:703
+#: misc/mke2fs.c:714
 #, c-format
 msgid "Maximum filesystem blocks=%lu\n"
 msgstr "文件系统块的最大值=%lu\n"
 
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:718
 #, c-format
 msgid "%u block groups\n"
 msgstr "%u 个块组\n"
 
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:720
 #, c-format
 msgid "%u block group\n"
 msgstr "%u 个块组\n"
 
-#: misc/mke2fs.c:711
+#: misc/mke2fs.c:722
 #, c-format
 msgid "%u blocks per group, %u clusters per group\n"
 msgstr ""
 "每组 %u 个块,%u 个簇\n"
 "\n"
 
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:725
 #, c-format
 msgid "%u blocks per group, %u fragments per group\n"
 msgstr ""
-"每组 %u 个块,%u 个碎片\n"
+"每组 %u 个块,%u 个分块\n"
 "\n"
 
-#: misc/mke2fs.c:716
+#: misc/mke2fs.c:727
 #, c-format
 msgid "%u inodes per group\n"
-msgstr "每组 %u 个inode\n"
+msgstr "每组 %u 个 inode\n"
 
-#: misc/mke2fs.c:725
+#: misc/mke2fs.c:736
 #, c-format
 msgid "Filesystem UUID: %s\n"
-msgstr "文件系统UUID:%s\n"
+msgstr "文件系统 UUID:%s\n"
 
-#: misc/mke2fs.c:726
+#: misc/mke2fs.c:737
 msgid "Superblock backups stored on blocks: "
-msgstr "超级块的备份存储于下列块: "
+msgstr "超级块的备份存储于下列块:"
 
-#: misc/mke2fs.c:822
+#: misc/mke2fs.c:833
 #, c-format
 msgid "%s requires '-O 64bit'\n"
 msgstr ""
-"%s 需要“-O 64bit”选项\n"
+"%s 需要 \"-O 64bit\" 选项\n"
 "\n"
 
-#: misc/mke2fs.c:828
+#: misc/mke2fs.c:839
 #, c-format
 msgid "'%s' must be before 'resize=%u'\n"
-msgstr "“%s”选项必须位于“resize=%u”之前\n"
+msgstr "\"%s\" 选项必须位于 \"resize=%u\" 之前\n"
 
-#: misc/mke2fs.c:841
+#: misc/mke2fs.c:852
 #, c-format
 msgid "Invalid desc_size: '%s'\n"
-msgstr "desc_size值无效:“%s”\n"
+msgstr "无效的 desc_size:\"%s\"\n"
 
-#: misc/mke2fs.c:855
-#, fuzzy, c-format
-#| msgid "Invalid new size: %s\n"
+#: misc/mke2fs.c:866
+#, c-format
 msgid "Invalid hash seed: %s\n"
-msgstr "无效的新大小: %s\n"
+msgstr "无效的 hash 种子:%s\n"
 
-#: misc/mke2fs.c:867
+#: misc/mke2fs.c:878
 #, c-format
 msgid "Invalid offset: %s\n"
-msgstr "无效的偏移量: %s\n"
+msgstr "无效的偏移量:%s\n"
 
-#: misc/mke2fs.c:881 misc/tune2fs.c:2055
+#: misc/mke2fs.c:892 misc/tune2fs.c:2148
 #, c-format
 msgid "Invalid mmp_update_interval: %s\n"
-msgstr "无效mmp更新间隔:%s\n"
+msgstr "无效的 mmp_update_interval:%s\n"
 
-#: misc/mke2fs.c:898
+#: misc/mke2fs.c:909
 #, c-format
 msgid "Invalid # of backup superblocks: %s\n"
 msgstr "备份超级块编号无效:%s\n"
 
-#: misc/mke2fs.c:920
+#: misc/mke2fs.c:931
 #, c-format
 msgid "Invalid stride parameter: %s\n"
 msgstr "无效的步长参数:%s\n"
 
-#: misc/mke2fs.c:935
+#: misc/mke2fs.c:946
 #, c-format
 msgid "Invalid stripe-width parameter: %s\n"
 msgstr "无效的带宽参数:%s\n"
 
-#: misc/mke2fs.c:958
+#: misc/mke2fs.c:969
 #, c-format
 msgid "Invalid resize parameter: %s\n"
-msgstr "无效的改变大小参数:%s\n"
+msgstr "无效的 resize 参数:%s\n"
 
-#: misc/mke2fs.c:965
+#: misc/mke2fs.c:976
 msgid "The resize maximum must be greater than the filesystem size.\n"
-msgstr "所需改变的大小必须大于当前文件系统的大小。\n"
+msgstr "resize 参数必须大于文件系统大小。\n"
 
-#: misc/mke2fs.c:989
+#: misc/mke2fs.c:1000
 msgid "On-line resizing not supported with revision 0 filesystems\n"
-msgstr "版本为0的文件系统不支持在线改变大小。\n"
+msgstr "文件系统版本 0 不支持在线调整大小。\n"
 
-#: misc/mke2fs.c:1015 misc/mke2fs.c:1024
+#: misc/mke2fs.c:1026 misc/mke2fs.c:1035
 #, c-format
 msgid "Invalid root_owner: '%s'\n"
-msgstr "无效的根目录所有者:“%s”\n"
+msgstr "无效的根目录所有者:\"%s\"\n"
 
-#: misc/mke2fs.c:1069
+#: misc/mke2fs.c:1080
 #, c-format
 msgid "Invalid encoding: %s"
 msgstr "无效的编码:%s"
 
-#: misc/mke2fs.c:1087
-#, fuzzy, c-format
-#| msgid ""
-#| "\n"
-#| "Bad option(s) specified: %s\n"
-#| "\n"
-#| "Extended options are separated by commas, and may take an argument which\n"
-#| "\tis set off by an equals ('=') sign.\n"
-#| "\n"
-#| "Valid extended options are:\n"
-#| "\tmmp_update_interval=<interval>\n"
-#| "\tnum_backup_sb=<0|1|2>\n"
-#| "\tstride=<RAID per-disk data chunk in blocks>\n"
-#| "\tstripe-width=<RAID stride * data disks in blocks>\n"
-#| "\toffset=<offset to create the file system>\n"
-#| "\tresize=<resize maximum size in blocks>\n"
-#| "\tpacked_meta_blocks=<0 to disable, 1 to enable>\n"
-#| "\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"
-#| "\ttest_fs\n"
-#| "\tdiscard\n"
-#| "\tnodiscard\n"
-#| "\tquotatype=<quota type(s) to be enabled>\n"
-#| "\n"
+#: misc/mke2fs.c:1098
+#, c-format
 msgid ""
 "\n"
 "Bad option(s) specified: %s\n"
@@ -5519,15 +5586,15 @@
 "\n"
 "指定了错误的选项:%s\n"
 "\n"
-"扩展属性由逗号分隔,有些需要通过等号(“=”)传递参数。\n"
+"扩展选项由逗号分隔,有些需要通过等号 (\"=\") 传递参数。\n"
 "\n"
 "有效的扩展选项有:\n"
 "\tmmp_update_interval=<间隔>\n"
 "\tnum_backup_sb=<0|1|2>\n"
 "\tstride=<RAID 每个磁盘的数据块数(步长)>\n"
-"\tstripe-width=<步长 × RAID 磁盘数(带宽)>\n"
+"\tstripe-width=<步长*RAID 磁盘数(带宽)>\n"
 "\toffset=<文件系统的偏移量>\n"
-"\tresize=<调整块大小时的最大值>\n"
+"\tresize=<调整大小的最大值(块)>\n"
 "\tpacked_meta_blocks=<0(禁用)或 1(启用)>\n"
 "\tlazy_itable_init=<0(禁用)或 1(启用)>\n"
 "\tlazy_journal_init=<0(禁用)或 1(启用)>\n"
@@ -5535,10 +5602,12 @@
 "\ttest_fs\n"
 "\tdiscard\n"
 "\tnodiscard\n"
+"\tencoding=<编码>\n"
+"\tencoding_flags=<标志>\n"
 "\tquotatype=<要启用的配额类型>\n"
 "\n"
 
-#: misc/mke2fs.c:1114
+#: misc/mke2fs.c:1125
 #, c-format
 msgid ""
 "\n"
@@ -5548,59 +5617,58 @@
 "\n"
 "警告:RAID带宽 %u 不是步长 %u 的偶数倍。\n"
 "\n"
-"\n"
 
-#: misc/mke2fs.c:1125
+#: misc/mke2fs.c:1136 misc/tune2fs.c:2284
 #, c-format
 msgid "error: Invalid encoding flag: %s\n"
-msgstr ""
+msgstr "错误:无效的编码标志:%s\n"
 
-#: misc/mke2fs.c:1131
+#: misc/mke2fs.c:1142 misc/tune2fs.c:2293
 #, c-format
 msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
-msgstr ""
+msgstr "错误:传递 encoding-flags 时需要显式指定 encoding\n"
 
-#: misc/mke2fs.c:1179
+#: misc/mke2fs.c:1192
 #, c-format
 msgid ""
 "Syntax error in mke2fs config file (%s, line #%d)\n"
 "\t%s\n"
 msgstr ""
-"mke2fs配置文件中有语法错误(%s,第 %d 行)\n"
+"mke2fs 配置文件中有语法错误(%s,第 %d 行)\n"
 "\t%s\n"
 
-#: misc/mke2fs.c:1192 misc/tune2fs.c:1068
+#: misc/mke2fs.c:1205 misc/tune2fs.c:1108
 #, c-format
 msgid "Invalid filesystem option set: %s\n"
 msgstr "设置了无效的文件系统选项:%s\n"
 
-#: misc/mke2fs.c:1204 misc/tune2fs.c:417
+#: misc/mke2fs.c:1217 misc/tune2fs.c:425
 #, c-format
 msgid "Invalid mount option set: %s\n"
 msgstr "设置了无效的挂载选项:%s\n"
 
-#: misc/mke2fs.c:1340
+#: misc/mke2fs.c:1353
 #, c-format
 msgid ""
 "\n"
 "Your mke2fs.conf file does not define the %s filesystem type.\n"
 msgstr ""
 "\n"
-"你的mke2fs.conf文件中没有定义类型 %s 的文件系统。\n"
+"你的 mke2fs.conf 文件中没有定义文件系统类型 %s 。\n"
 
-#: misc/mke2fs.c:1344
+#: misc/mke2fs.c:1357
 msgid ""
 "You probably need to install an updated mke2fs.conf file.\n"
 "\n"
 msgstr ""
-"你可能需要升级mke2fs.conf文件。\n"
+"您可能需要升级 mke2fs.conf 文件。\n"
 "\n"
 
-#: misc/mke2fs.c:1348
+#: misc/mke2fs.c:1361
 msgid "Aborting...\n"
-msgstr "正在终止...\n"
+msgstr "正在中止...\n"
 
-#: misc/mke2fs.c:1389
+#: misc/mke2fs.c:1402
 #, c-format
 msgid ""
 "\n"
@@ -5608,157 +5676,167 @@
 "\n"
 msgstr ""
 "\n"
-"警告:mke2fs.conf中未定义文件系统类型 %s\n"
+"警告:mke2fs.conf 中未定义文件系统类型 %s\n"
 "\n"
 
-#: misc/mke2fs.c:1571
+#: misc/mke2fs.c:1591
 msgid "Couldn't allocate memory for new PATH.\n"
-msgstr "无法为新路径分配内存。\n"
+msgstr "无法为新的 PATH 分配内存。\n"
 
-#: misc/mke2fs.c:1608
+#: misc/mke2fs.c:1628
 #, c-format
 msgid "Couldn't init profile successfully (error: %ld).\n"
 msgstr "无法成功初始化配置(错误:%ld)。\n"
 
-#: misc/mke2fs.c:1641
+#: misc/mke2fs.c:1661
 #, c-format
 msgid "invalid block size - %s"
 msgstr "无效的块大小 - %s"
 
-#: misc/mke2fs.c:1645
+#: misc/mke2fs.c:1665
 #, c-format
 msgid "Warning: blocksize %d not usable on most systems.\n"
-msgstr "警告:块大小 %d 在很多系统中不可用。\n"
+msgstr "警告:块大小 %d 在很多系统中无法使用。\n"
 
-#: misc/mke2fs.c:1661
+#: misc/mke2fs.c:1681
 #, c-format
 msgid "invalid cluster size - %s"
 msgstr "无效的簇大小 - %s"
 
-#: misc/mke2fs.c:1674
+#: misc/mke2fs.c:1694
 msgid "'-R' is deprecated, use '-E' instead"
-msgstr "“-R” 选项已被废弃,请使用“-E”选项"
+msgstr "\"-R\" 选项已被废弃,请使用 \"-E\" 选项"
 
-#: misc/mke2fs.c:1688 misc/tune2fs.c:1784
+#: misc/mke2fs.c:1708 misc/tune2fs.c:1874
 #, c-format
 msgid "bad error behavior - %s"
 msgstr "出错行为有误 - %s"
 
-#: misc/mke2fs.c:1700
+#: misc/mke2fs.c:1720
 msgid "Illegal number for blocks per group"
 msgstr "非法的每组块数"
 
-#: misc/mke2fs.c:1705
+#: misc/mke2fs.c:1725
 msgid "blocks per group must be multiple of 8"
-msgstr "每组块数必须是8的倍数"
+msgstr "每组块数必须是 8 的倍数"
 
-#: misc/mke2fs.c:1713
+#: misc/mke2fs.c:1733
 msgid "Illegal number for flex_bg size"
-msgstr "非法的弹性组大小"
+msgstr "非法的 flex_bg 大小"
 
-#: misc/mke2fs.c:1719
+#: misc/mke2fs.c:1739
 msgid "flex_bg size must be a power of 2"
-msgstr "弹性组的大小必须是2的次方"
-
-#: misc/mke2fs.c:1724
-#, c-format
-msgid "flex_bg size (%lu) must be less than or equal to 2^31"
-msgstr "弹性组的大小(%lu)必须小于等于2^31"
-
-#: misc/mke2fs.c:1734
-#, c-format
-msgid "invalid inode ratio %s (min %d/max %d)"
-msgstr "无效的inode比 %s(最小 %d /最大 %d)"
+msgstr "flex_bg 的大小必须是 2 的幂"
 
 #: misc/mke2fs.c:1744
 #, c-format
+msgid "flex_bg size (%lu) must be less than or equal to 2^31"
+msgstr "flex_bg 的大小 (%lu) 必须小于等于 2^31"
+
+#: misc/mke2fs.c:1754
+#, c-format
+msgid "invalid inode ratio %s (min %d/max %d)"
+msgstr "无效的 inode 比 %s(最小 %d/最大 %d)"
+
+#: misc/mke2fs.c:1764
+#, c-format
 msgid "invalid inode size - %s"
-msgstr "无效的inode大小 - %s"
+msgstr "无效的 inode 大小 - %s"
 
-#: misc/mke2fs.c:1757
+#: misc/mke2fs.c:1779
 msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
-msgstr ""
-"警告:-K 选项已被废弃,今后也不应当被使用。请使用扩展选项\n"
-"“-E nodiscard”作为替代!\n"
+msgstr "警告:-K 选项已被废弃,不应当再被使用。请使用扩展选项 \"-E nodiscard\" 作为替代!\n"
 
-#: misc/mke2fs.c:1768
+#: misc/mke2fs.c:1790
 msgid "in malloc for bad_blocks_filename"
-msgstr "为bad_blocks_filename分配内存时"
+msgstr "为 bad_blocks_filename 分配内存时"
 
-#: misc/mke2fs.c:1777
+#: misc/mke2fs.c:1799
 #, c-format
 msgid ""
 "Warning: label too long; will be truncated to '%s'\n"
 "\n"
-msgstr "警告:卷标太长,已截短为“%s”\n"
+msgstr ""
+"警告:标签太长;将截短为 \"%s\"\n"
+"\n"
 
-#: misc/mke2fs.c:1786
+#: misc/mke2fs.c:1808
 #, c-format
 msgid "invalid reserved blocks percent - %s"
 msgstr "无效的保留块百分比 - %s"
 
-#: misc/mke2fs.c:1801
+#: misc/mke2fs.c:1823
 #, c-format
 msgid "bad num inodes - %s"
-msgstr "错误的inode数 - %s"
+msgstr "错误的 inode 数 - %s"
 
-#: misc/mke2fs.c:1814
+#: misc/mke2fs.c:1836
 msgid "while allocating fs_feature string"
 msgstr "分配 fs_feature 字符串时"
 
-#: misc/mke2fs.c:1831
+#: misc/mke2fs.c:1853
 #, c-format
 msgid "bad revision level - %s"
 msgstr "错误的版本号 - %s"
 
-#: misc/mke2fs.c:1836
+#: misc/mke2fs.c:1858
 #, c-format
 msgid "while trying to create revision %d"
 msgstr "尝试创建版本 %d 时"
 
-#: misc/mke2fs.c:1850
+#: misc/mke2fs.c:1872
 msgid "The -t option may only be used once"
 msgstr "-t 选项只能被指定一次"
 
-#: misc/mke2fs.c:1858
+#: misc/mke2fs.c:1880
 msgid "The -T option may only be used once"
 msgstr "-T 选项只能被指定一次"
 
-#: misc/mke2fs.c:1914 misc/mke2fs.c:3298
+#: misc/mke2fs.c:1936 misc/mke2fs.c:3401
 #, c-format
 msgid "while trying to open journal device %s\n"
 msgstr "尝试打开日志设备 %s 时\n"
 
-#: misc/mke2fs.c:1920
+#: misc/mke2fs.c:1942
 #, c-format
 msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
-msgstr "日志设备的块大小(%d)不能低于最小的块大小 %d\n"
+msgstr "日志设备的块大小 (%d) 低于最小的块大小 %d\n"
 
-#: misc/mke2fs.c:1926
+#: misc/mke2fs.c:1948
 #, c-format
 msgid "Using journal device's blocksize: %d\n"
-msgstr "根据日志设备确定块大小:%d\n"
+msgstr "使用日志设备的块大小:%d\n"
 
-#: misc/mke2fs.c:1937
+#: misc/mke2fs.c:1959
 #, c-format
 msgid "invalid blocks '%s' on device '%s'"
-msgstr "无效的块数“%s”于设备“%s”"
+msgstr "设备 \"%2$s\" 的块数 \"%1$s\" 无效"
 
-#: misc/mke2fs.c:1967
+#: misc/mke2fs.c:1979
 msgid "filesystem"
 msgstr "文件系统"
 
-#: misc/mke2fs.c:1985 resize/main.c:497
+#: misc/mke2fs.c:1994 lib/support/plausible.c:192
+#, c-format
+msgid "The file %s does not exist and no size was specified.\n"
+msgstr "文件 %s 不存在,也没有指定大小。\n"
+
+#: misc/mke2fs.c:2006 lib/support/plausible.c:200
+#, c-format
+msgid "Creating regular file %s\n"
+msgstr "创建一般文件 %s\n"
+
+#: misc/mke2fs.c:2011 resize/main.c:512
 msgid "while trying to determine filesystem size"
 msgstr "尝试确定文件系统大小时"
 
-#: misc/mke2fs.c:1991
+#: misc/mke2fs.c:2017
 msgid ""
 "Couldn't determine device size; you must specify\n"
 "the size of the filesystem\n"
-msgstr "无法确定设备大小;你必须手动指定大小\n"
+msgstr "无法确定设备大小;您必须手动指定文件系统大小\n"
 
-#: misc/mke2fs.c:1998
+#: misc/mke2fs.c:2024
 msgid ""
 "Device size reported to be zero.  Invalid partition specified, or\n"
 "\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5766,147 +5844,149 @@
 "\tto re-read your partition table.\n"
 msgstr ""
 "设备大小为零。可能是指定了无效的设备,或是分区表在\n"
-"\t执行fdisk后未被重新加载(分区正被占用)导致的。\n"
-"\t你可能需要重启后重新读取分区表。\n"
+"\t执行 fdisk 后未被重新加载(分区正被占用)导致的。\n"
+"\t您可能需要重启,以重新读取分区表。\n"
 
-#: misc/mke2fs.c:2015
+#: misc/mke2fs.c:2041
 msgid "Filesystem larger than apparent device size."
 msgstr "文件系统大小超过设备的实际大小。"
 
-#: misc/mke2fs.c:2035
+#: misc/mke2fs.c:2064
 msgid "Failed to parse fs types list\n"
 msgstr "解析文件系统类型列表失败\n"
 
-#: misc/mke2fs.c:2085
+#: misc/mke2fs.c:2114
 msgid "The HURD does not support the filetype feature.\n"
-msgstr "HURD 不支持文件类型。\n"
+msgstr "HURD 不支持 filetype 特性。\n"
 
-#: misc/mke2fs.c:2090
+#: misc/mke2fs.c:2119
 msgid "The HURD does not support the huge_file feature.\n"
-msgstr "HURD 不支持大文件特性。\n"
+msgstr "HURD 不支持 huge_file 特性。\n"
 
-#: misc/mke2fs.c:2095
+#: misc/mke2fs.c:2124
 msgid "The HURD does not support the metadata_csum feature.\n"
-msgstr "HURD 不支持元数据校验值特性。\n"
+msgstr "HURD 不支持 metadata_csum 特性。\n"
 
-#: misc/mke2fs.c:2100
+#: misc/mke2fs.c:2129
 msgid "The HURD does not support the ea_inode feature.\n"
 msgstr "HURD 不支持 ea_inode 特性。\n"
 
-#: misc/mke2fs.c:2110
+#: misc/mke2fs.c:2139
 msgid "while trying to determine hardware sector size"
 msgstr "尝试确定硬件扇区大小时"
 
-#: misc/mke2fs.c:2116
+#: misc/mke2fs.c:2145
 msgid "while trying to determine physical sector size"
 msgstr "尝试确定物理扇区大小时"
 
-#: misc/mke2fs.c:2148
+#: misc/mke2fs.c:2177
 msgid "while setting blocksize; too small for device\n"
 msgstr "设置块大小时;对于设备来说太小\n"
 
-#: misc/mke2fs.c:2153
+#: misc/mke2fs.c:2182
 #, c-format
 msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
-msgstr "警告:指定的块大小 %d 小于设备物理扇区大小%d\n"
+msgstr "警告:指定的块大小 %d 小于设备物理扇区大小 %d\n"
 
-#: misc/mke2fs.c:2177
+#: misc/mke2fs.c:2206
 #, 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 ""
-"%1$s:设备 %3$s 的尺寸(0x%2$llx 个块)太大,无法用32位数表示\n"
-"\t改为使用 %4$d 的块大小。\n"
+"%1$s: 使用的块大小为 %4$d 时,设备 %3$s 的尺寸\n"
+"(0x%2$llx 个块)太大,无法用 32 位整数表示。\n"
 
-#: misc/mke2fs.c:2191
-#, fuzzy, 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"
+#: misc/mke2fs.c:2220
+#, 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 ""
-"%1$s:设备 %3$s 的尺寸(0x%2$llx 个块)太大,无法用32位数表示\n"
-"\t改为使用 %4$d 的块大小。\n"
+"%1$s: 使用的块大小为 %4$d 时,设备 %3$s 的尺寸\n"
+"(0x%2$llx 个块)太大,无法创建文件系统。\n"
 
-#: misc/mke2fs.c:2213
+#: misc/mke2fs.c:2242
 msgid "fs_types for mke2fs.conf resolution: "
-msgstr "mke2fs.conf中有关文件系统类型的解释: "
+msgstr "mke2fs.conf 中有关文件系统类型的解释:"
 
-#: misc/mke2fs.c:2220
+#: misc/mke2fs.c:2249
 msgid "Filesystem features not supported with revision 0 filesystems\n"
 msgstr ""
-"版本为0的文件系统不支持这些特性\n"
+"文件系统版本 0 不支持文件系统特性\n"
 "\n"
 
-#: misc/mke2fs.c:2228
+#: misc/mke2fs.c:2257
 msgid "Sparse superblocks not supported with revision 0 filesystems\n"
-msgstr "版本为0的文件系统不支持分散式超级块\n"
+msgstr "文件系统版本 0 不支持稀疏超级块\n"
 
-#: misc/mke2fs.c:2238
+#: misc/mke2fs.c:2267
 msgid "Journals not supported with revision 0 filesystems\n"
-msgstr "版本为0的文件系统不支持日志\n"
+msgstr "文件系统版本 0 不支持日志\n"
 
-#: misc/mke2fs.c:2251
+#: misc/mke2fs.c:2280
 #, c-format
 msgid "invalid reserved blocks percent - %lf"
 msgstr "无效的保留块百分比 - %lf"
 
-#: misc/mke2fs.c:2268
+#: misc/mke2fs.c:2297
 msgid "Extents MUST be enabled for a 64-bit filesystem.  Pass -O extents to rectify.\n"
-msgstr "64位系统必须启用extent特性。请使用“-O extents”选项来修正。\n"
+msgstr "64 位文件系统必须启用 extent 特性。请使用 \"-O extents\" 选项来修正。\n"
 
-#: misc/mke2fs.c:2288
+#: misc/mke2fs.c:2317
 msgid "The cluster size may not be smaller than the block size.\n"
 msgstr "簇大小不能小于块大小。\n"
 
-#: misc/mke2fs.c:2294
+#: misc/mke2fs.c:2323
 msgid "specifying a cluster size requires the bigalloc feature"
-msgstr "指定簇大小需要启用bigalloc特性"
+msgstr "指定簇大小需要启用 bigalloc 特性"
 
-#: misc/mke2fs.c:2314
+#: misc/mke2fs.c:2343
 #, c-format
 msgid "warning: Unable to get device geometry for %s\n"
-msgstr "警告:无法获取 %s 的设备布局\n"
+msgstr "警告:无法获取设备 %s 的几何参数\n"
 
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2355
 #, c-format
 msgid "%s alignment is offset by %lu bytes.\n"
 msgstr "%s 未对齐,偏移了 %lu 个字节。\n"
 
-#: misc/mke2fs.c:2319
+#: misc/mke2fs.c:2357
 #, c-format
 msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
-msgstr "这可能导致性能下降,建议重新进行分区。\n"
+msgstr "这可能导致性能明显下降,建议重新进行分区。\n"
 
-#: misc/mke2fs.c:2340
+#: misc/mke2fs.c:2363
+#, 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 "%s 支持 DAX,但当前的块大小 %u 与系统的页面大小 %u 不同,所以文件系统将不支持 DAX。\n"
+
+#: misc/mke2fs.c:2387
 #, c-format
 msgid "%d-byte blocks too big for system (max %d)"
-msgstr "%d字节的块对于系统来说太大(最大为 %d)"
+msgstr "%d 字节的块对于系统来说太大(最大为 %d)"
 
-#: misc/mke2fs.c:2344
+#: misc/mke2fs.c:2391
 #, c-format
 msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
-msgstr "警告:%d字节的块对于系统来说太大(最大为 %d),但仍然强制进行操作\n"
+msgstr "警告:%d 字节的块对于系统来说太大(最大为 %d),但仍然强制进行操作\n"
 
-#: misc/mke2fs.c:2352
+#: misc/mke2fs.c:2399
 #, c-format
 msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
-msgstr "建议:使用 3.18 以上的 Linux 内核以提高元数据稳定性,以及使用日志校验值特性。\n"
+msgstr "建议:使用 3.18 以上的 Linux 内核以提高元数据稳定性,以及使用日志校验和特性。\n"
 
-#: misc/mke2fs.c:2398
+#: misc/mke2fs.c:2445
 #, c-format
 msgid "Unknown filename encoding from profile: %s"
-msgstr ""
+msgstr "配置中的文件名编码未知:%s"
 
-#: misc/mke2fs.c:2409
+#: misc/mke2fs.c:2456
 #, c-format
 msgid "Unknown encoding flags from profile: %s"
-msgstr ""
+msgstr "配置中的编码标志未知:%s"
 
-#: misc/mke2fs.c:2434
+#: misc/mke2fs.c:2481
 #, c-format
 msgid ""
 "\n"
@@ -5916,33 +5996,20 @@
 "\n"
 msgstr ""
 "\n"
-"警告:指定了偏移量,但没有指定文件系统大小。\n"
-"将创建含有 %llu 个块的文件系统,这可能与您的预期不服。\n"
+"警告:指定了偏移量,但没有显式指定文件系统大小。\n"
+"将创建含有 %llu 个块的文件系统,这可能与您的预期不符。\n"
 "\n"
 
-#: misc/mke2fs.c:2449
-#, fuzzy, c-format
-#| msgid "%d byte inodes are too small for project quota; specify larger size"
+#: misc/mke2fs.c:2496
+#, c-format
 msgid "%d byte inodes are too small for project quota"
-msgstr "%d 字节的 inode 对于项目配额来说太小;请指定一个更大的值"
+msgstr "%d 字节的 inode 对于项目配额来说太小"
 
-#: misc/mke2fs.c:2465
-#, fuzzy
-#| msgid ""
-#| "The resize_inode and meta_bg features are not compatible.\n"
-#| "They can not be both enabled simultaneously.\n"
-msgid ""
-"The encrypt and casefold features are not compatible.\n"
-"They can not be both enabled simultaneously.\n"
-msgstr ""
-"resize_inode 和 meta_bg 特性不兼容。\n"
-"无法同时启用它们。\n"
-
-#: misc/mke2fs.c:2480
+#: misc/mke2fs.c:2518
 msgid "Can't support bigalloc feature without extents feature"
-msgstr "无法在缺乏extent特性的情况下支持bigalloc特性"
+msgstr "无法在缺乏 extent 特性的情况下支持 bigalloc 特性"
 
-#: misc/mke2fs.c:2487
+#: misc/mke2fs.c:2525
 msgid ""
 "The resize_inode and meta_bg features are not compatible.\n"
 "They can not be both enabled simultaneously.\n"
@@ -5950,124 +6017,127 @@
 "resize_inode 和 meta_bg 特性不兼容。\n"
 "无法同时启用它们。\n"
 
-#: misc/mke2fs.c:2495
+#: misc/mke2fs.c:2534
 msgid ""
 "\n"
-"Warning: the bigalloc feature is still under development\n"
-"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
-"\n"
+"Warning: bigalloc file systems with a cluster size greater than\n"
+"16 times the block size is considered experimental\n"
 msgstr ""
 "\n"
-"警告:bigalloc特性仍然在开发中\n"
-"更多详情请参见 https://ext4.wiki.kernel.org/index.php/Bigalloc\n"
-"\n"
+"警告:簇大小大于块大小的 16 倍的 bigalloc 文件系统\n"
+"被认为是实验性的\n"
 
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2546
 msgid "reserved online resize blocks not supported on non-sparse filesystem"
-msgstr "非分散式文件系统不支持为在线调整大小设置保留块"
+msgstr "非稀疏文件系统不支持为在线调整大小设置保留块"
 
-#: misc/mke2fs.c:2516
+#: misc/mke2fs.c:2555
 msgid "blocks per group count out of range"
 msgstr "每组块数超过允许范围"
 
-#: misc/mke2fs.c:2538
+#: misc/mke2fs.c:2577
 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
-msgstr "弹性组特性未启用,所以无法指定弹性组尺寸"
+msgstr "flex_bg 特性未启用,所以无法指定 flex_bg 尺寸"
 
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2589
 #, c-format
 msgid "invalid inode size %d (min %d/max %d)"
-msgstr "无效的inode大小 %d(最小 %d /最大 %d)"
+msgstr "无效的 inode 大小 %d(最小 %d/最大 %d)"
 
-#: misc/mke2fs.c:2565
+#: misc/mke2fs.c:2604
 #, c-format
 msgid "%d byte inodes are too small for inline data; specify larger size"
 msgstr "%d 字节的 inode 对于内联数据来说太小;请指定一个更大的值"
 
-#: misc/mke2fs.c:2580
+#: misc/mke2fs.c:2619
+#, c-format
+msgid "128-byte inodes cannot handle dates beyond 2038 and are deprecated\n"
+msgstr "128 位 inode 不能处理 2038 年以后的日期,已被废弃\n"
+
+#: misc/mke2fs.c:2630
 #, c-format
 msgid "too many inodes (%llu), raise inode ratio?"
-msgstr "inode太多(%llu),是否提高inode比?"
+msgstr "inode 太多 (%llu),是否提高 inode 比?"
 
-#: misc/mke2fs.c:2587
+#: misc/mke2fs.c:2638
 #, c-format
 msgid "too many inodes (%llu), specify < 2^32 inodes"
-msgstr "inode数量太多(%llu),请指定小于 2^32 的inode数"
+msgstr "inode 太多 (%llu),请指定小于 2^32 的 inode 数"
 
-#: misc/mke2fs.c:2601
+#: misc/mke2fs.c:2652
 #, c-format
 msgid ""
 "inode_size (%u) * inodes_count (%u) too big for a\n"
 "\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n"
 "\tor lower inode count (-N).\n"
 msgstr ""
-"inode大小(%u)×inode数(%u)对于含有 %llu 个块\n"
-"\t的系统来说太大,请指定更高的inode比(使用 -i 选项)\n"
-"\t或更少的inode数(-N)。\n"
+"inode 大小 (%u) * inode 数 (%u) 对于含有 %llu 个块\n"
+"\t的文件系统来说太大,请指定更高的 inode 比 (-i)\n"
+"\t或更少的 inode 数 (-N)。\n"
 
-#: misc/mke2fs.c:2788
+#: misc/mke2fs.c:2849
 msgid "Discarding device blocks: "
-msgstr "丢弃设备块: "
+msgstr "丢弃设备块:"
 
-#: misc/mke2fs.c:2804
+#: misc/mke2fs.c:2865
 msgid "failed - "
 msgstr "已失败 - "
 
-#: misc/mke2fs.c:2863
+#: misc/mke2fs.c:2924
 msgid "while initializing quota context"
 msgstr "初始化配额上下文时"
 
-#: misc/mke2fs.c:2870
+#: misc/mke2fs.c:2931
 msgid "while writing quota inodes"
 msgstr "写入配额 inode 时"
 
-#: misc/mke2fs.c:2895
+#: misc/mke2fs.c:2956
 #, c-format
 msgid "bad error behavior in profile - %s"
 msgstr "配置中的出错行为有误 - %s"
 
-#: misc/mke2fs.c:2971
+#: misc/mke2fs.c:3035
 msgid "in malloc for android_sparse_params"
 msgstr "为 android_sparse_params 分配内存时"
 
-#: misc/mke2fs.c:2985
+#: misc/mke2fs.c:3049
 msgid "while setting up superblock"
-msgstr "设置superblock时"
+msgstr "设置超级块时"
 
-#: misc/mke2fs.c:3001
+#: misc/mke2fs.c:3065
 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 "未启用 extent 特性,所以仅对文件 extent 树进行校验,而不会对块位图进行校验。不启用 extent 将降低元数据校验值的覆盖范围。可以使用参数“-O extents”来进行纠正。\n"
+msgstr "未启用 extent 特性,所以仅对文件 extent 树进行校验,而不会对块映射进行校验。不启用 extent 将降低元数据校验和的覆盖范围。可以使用参数 \"-O extents\" 来进行纠正。\n"
 
-#: misc/mke2fs.c:3008
+#: misc/mke2fs.c:3072
 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 ""
-"未启用 64 位文件系统支持,将无法使用更大的字段来进行更完整的校验。可以使用参数“-O 64bit”来进行纠正。\n"
-"\n"
+msgstr "未启用 64 位文件系统支持,将无法使用更大的字段来进行更完整的校验。可以使用参数 \"-O 64bit\" 来进行纠正。\n"
 
-#: misc/mke2fs.c:3016
-#, fuzzy
-#| msgid "The metadata_csum_seed feature requres the metadata_csum feature.\n"
+#: misc/mke2fs.c:3080
 msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
 msgstr "启用 metadata_csum_seed 特性需要同时启用 metadata_csum 特性。\n"
 
-#: misc/mke2fs.c:3040
+#: misc/mke2fs.c:3104
 msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
-msgstr "舍弃成功,将会返回0值 - 跳过擦除inode表\n"
+msgstr "舍弃成功,将会返回 0 值 - 跳过擦除 inode 表\n"
 
-#: misc/mke2fs.c:3139
+#: misc/mke2fs.c:3203
 #, c-format
 msgid "unknown os - %s"
-msgstr "未知操作系统 - %s"
+msgstr "未知的操作系统 - %s"
 
-#: misc/mke2fs.c:3202
+#: misc/mke2fs.c:3266
 msgid "Allocating group tables: "
-msgstr "正在分配组表: "
+msgstr "正在分配组表:"
 
-#: misc/mke2fs.c:3210
+#: misc/mke2fs.c:3274
 msgid "while trying to allocate filesystem tables"
 msgstr "尝试分配文件系统表时"
 
-#: misc/mke2fs.c:3219
+#: misc/mke2fs.c:3289
+msgid "while unmarking bad blocks"
+msgstr "取消坏块标记时"
+
+#: misc/mke2fs.c:3300
 msgid ""
 "\n"
 "\twhile converting subcluster bitmap"
@@ -6075,53 +6145,57 @@
 "\n"
 "\t转换子簇位图时"
 
-#: misc/mke2fs.c:3225
+#: misc/mke2fs.c:3309
+msgid "while calculating overhead"
+msgstr "计算额外开销时"
+
+#: misc/mke2fs.c:3328
 #, c-format
 msgid "%s may be further corrupted by superblock rewrite\n"
-msgstr "%s 可能因超级块被改写而损\n"
+msgstr "%s 可能因为重写超级块而受到进一步损坏\n"
 
-#: misc/mke2fs.c:3266
+#: misc/mke2fs.c:3369
 #, c-format
 msgid "while zeroing block %llu at end of filesystem"
 msgstr "对文件系统末尾的块 %llu 填零时"
 
-#: misc/mke2fs.c:3279
+#: misc/mke2fs.c:3382
 msgid "while reserving blocks for online resize"
-msgstr "为在线改变大小保留块时"
+msgstr "为在线调整大小保留块时"
 
-#: misc/mke2fs.c:3291 misc/tune2fs.c:1492
+#: misc/mke2fs.c:3394 misc/tune2fs.c:1570
 msgid "journal"
 msgstr "日志"
 
-#: misc/mke2fs.c:3303
+#: misc/mke2fs.c:3406
 #, c-format
 msgid "Adding journal to device %s: "
-msgstr "将日志添加到设备 %s: "
+msgstr "将日志添加到设备 %s:"
 
-#: misc/mke2fs.c:3310
+#: misc/mke2fs.c:3413
 #, c-format
 msgid ""
 "\n"
 "\twhile trying to add journal to device %s"
 msgstr ""
 "\n"
-"尝试将日志添加到设备 %s时"
+"\t尝试将日志添加到设备 %s 时"
 
-#: misc/mke2fs.c:3315 misc/mke2fs.c:3344 misc/mke2fs.c:3382
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1521 misc/tune2fs.c:1540
+#: misc/mke2fs.c:3418 misc/mke2fs.c:3448 misc/mke2fs.c:3490
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1599 misc/tune2fs.c:1621
 msgid "done\n"
 msgstr "完成\n"
 
-#: misc/mke2fs.c:3321
+#: misc/mke2fs.c:3425
 msgid "Skipping journal creation in super-only mode\n"
 msgstr "跳过创建日志的步骤(唯超级块模式)\n"
 
-#: misc/mke2fs.c:3331
+#: misc/mke2fs.c:3435
 #, c-format
 msgid "Creating journal (%u blocks): "
-msgstr "创建日志(%u 个块)"
+msgstr "创建日志(%u 个块):"
 
-#: misc/mke2fs.c:3340
+#: misc/mke2fs.c:3444
 msgid ""
 "\n"
 "\twhile trying to create journal"
@@ -6129,36 +6203,36 @@
 "\n"
 "\t尝试创建日志时"
 
-#: misc/mke2fs.c:3352 misc/tune2fs.c:1133
+#: misc/mke2fs.c:3456 misc/tune2fs.c:1173
 msgid ""
 "\n"
 "Error while enabling multiple mount protection feature."
 msgstr ""
 "\n"
-"启用MMP特性失败。"
+"启用多重挂载保护特性失败。"
 
-#: misc/mke2fs.c:3357
+#: misc/mke2fs.c:3461
 #, c-format
 msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
-msgstr "MMP(多重挂载保护)已被启用,更新间隔为 %d 秒。\n"
+msgstr "多重挂载保护已被启用,更新间隔为 %d 秒。\n"
 
-#: misc/mke2fs.c:3373
+#: misc/mke2fs.c:3481
 msgid "Copying files into the device: "
 msgstr "将文件复制到设备:"
 
-#: misc/mke2fs.c:3379
+#: misc/mke2fs.c:3487
 msgid "while populating file system"
-msgstr "于填充文件系统时"
+msgstr "填充文件系统时"
 
-#: misc/mke2fs.c:3386
+#: misc/mke2fs.c:3494
 msgid "Writing superblocks and filesystem accounting information: "
-msgstr "写入超级块和文件系统账户统计信息: "
+msgstr "写入超级块和文件系统账户统计信息:"
 
-#: misc/mke2fs.c:3393
+#: misc/mke2fs.c:3501
 msgid "while writing out and closing file system"
 msgstr "写出并关闭文件系统时"
 
-#: misc/mke2fs.c:3396
+#: misc/mke2fs.c:3504
 msgid ""
 "done\n"
 "\n"
@@ -6167,31 +6241,30 @@
 "\n"
 
 #: misc/mk_hugefiles.c:339
-#, fuzzy, c-format
-#| msgid "while zeroing block %llu at end of filesystem"
+#, c-format
 msgid "while zeroing block %llu for hugefile"
-msgstr "对文件系统末尾的块 %llu 填零时"
+msgstr "对大文件的块 %llu 填零时"
 
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
 #, c-format
 msgid "Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
-msgstr "分区偏移量 %llu(%uk)块与簇大小 %u 不相容。\n"
+msgstr "分区偏移量 %llu (%uk) 块与簇大小 %u 不相容。\n"
 
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
 msgid "Huge files will be zero'ed\n"
 msgstr "将对大文件填零\n"
 
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
 #, c-format
 msgid "Creating %lu huge file(s) "
 msgstr "创建 %lu 个大文件"
 
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
 #, c-format
 msgid "with %llu blocks each"
 msgstr "每个使用 %llu 个块"
 
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
 #, c-format
 msgid "while creating huge file %lu"
 msgstr "创建大文件 %lu 时"
@@ -6223,7 +6296,7 @@
 #: misc/partinfo.c:59
 #, c-format
 msgid "Cannot get geometry of %s: %s"
-msgstr "无法获取 %s 的布局:%s"
+msgstr "无法获取 %s 的几何参数:%s"
 
 #: misc/partinfo.c:67
 #, c-format
@@ -6233,37 +6306,26 @@
 #: misc/partinfo.c:73
 #, c-format
 msgid "%s: h=%3d s=%3d c=%4d   start=%8d size=%8lu end=%8d\n"
-msgstr "%s:磁头=%3d 扇区=%3d 柱面=%4d   起始=%8d 大小=%8lu 终止=%8d\n"
+msgstr "%s: 磁头=%3d 扇区=%3d 柱面=%4d   起始=%8d 大小=%8lu 终止=%8d\n"
 
-#: misc/tune2fs.c:119
+#: misc/tune2fs.c:121
 msgid ""
 "\n"
 "This operation requires a freshly checked filesystem.\n"
 msgstr ""
-
-#: misc/tune2fs.c:121
-#, fuzzy
-#| msgid "Please run e2fsck -D on the filesystem.\n"
-msgid "Please run e2fsck -f on the filesystem.\n"
-msgstr "请在这个文件系统上运行 e2fsck -D。\n"
+"\n"
+"此操作要求文件系统刚刚被检查过。\n"
 
 #: misc/tune2fs.c:123
-#, fuzzy
-#| msgid "Please run e2fsck -D on the filesystem.\n"
-msgid "Please run e2fsck -fD on the filesystem.\n"
-msgstr "请在这个文件系统上运行 e2fsck -D。\n"
+msgid "Please run e2fsck -f on the filesystem.\n"
+msgstr "请在这个文件系统上运行 e2fsck -f。\n"
 
-#: misc/tune2fs.c:136
-#, fuzzy, c-format
-#| msgid ""
-#| "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
-#| "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n"
-#| "\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]]\n"
-#| "\t[-p mmp_update_interval] [-r reserved_blocks_count] [-u user]\n"
-#| "\t[-C mount_count] [-L volume_label] [-M last_mounted_dir]\n"
-#| "\t[-O [^]feature[,...]] [-Q quota_options]\n"
-#| "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n"
-#| "\t[-I new_inode_size] [-z undo_file] device\n"
+#: misc/tune2fs.c:125
+msgid "Please run e2fsck -fD on the filesystem.\n"
+msgstr "请在这个文件系统上运行 e2fsck -fD。\n"
+
+#: misc/tune2fs.c:138
+#, c-format
 msgid ""
 "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
 "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n"
@@ -6277,93 +6339,92 @@
 "用法:%s [-c 最大挂载次数] [-e 出错行为] [-f] [-g 组]\n"
 "\t[-i 间隔[d|m|w]] [-j] [-J 日志选项] [-l]\n"
 "\t[-m 保留块所占百分比] [-o [^]挂载选项[,...]]\n"
-"\t[-p MMP更新间隔] [-r 保留块数] [-u 用户]\n"
-"\t[-C 挂载次数] [-L 卷标][-M 上一次挂载点]\n"
+"\t[-r 保留块数] [-u 用户] [-C 挂载次数]\n"
+"\t[-L 卷标][-M 上一次挂载点]\n"
 "\t[-O [^]特性[,...]] [-Q 配额选项]\n"
 "\t[-E 扩展选项[,...]] [-T 上一次检查时间] [-U UUID]\n"
 "\t[ -I 新的inode大小] [-z 撤销文件] 设备\n"
 
-#: misc/tune2fs.c:223
+#: misc/tune2fs.c:229
 msgid "Journal superblock not found!\n"
 msgstr "日志超级块未找到!\n"
 
-#: misc/tune2fs.c:281
+#: misc/tune2fs.c:287
 msgid "while trying to open external journal"
 msgstr "尝试打开外部日志时"
 
-#: misc/tune2fs.c:287 misc/tune2fs.c:2804
+#: misc/tune2fs.c:293 misc/tune2fs.c:2896
 #, c-format
 msgid "%s is not a journal device.\n"
 msgstr "%s 不是日志设备。\n"
 
-#: misc/tune2fs.c:296 misc/tune2fs.c:2813
+#: misc/tune2fs.c:302 misc/tune2fs.c:2905
 #, c-format
 msgid ""
 "Journal superblock is corrupted, nr_users\n"
 "is too high (%d).\n"
 msgstr ""
 "日志超级块已损坏,nr_users\n"
-"过高(%d)。\n"
+"过高 (%d)。\n"
 
-#: misc/tune2fs.c:303 misc/tune2fs.c:2820
+#: misc/tune2fs.c:309 misc/tune2fs.c:2912
 msgid "Filesystem's UUID not found on journal device.\n"
-msgstr "日志设备中未找到文件系统的UUID。\n"
+msgstr "日志设备中未找到文件系统的 UUID。\n"
 
-#: misc/tune2fs.c:327
+#: misc/tune2fs.c:333
 msgid ""
 "Cannot locate journal device. It was NOT removed\n"
 "Use -f option to remove missing journal device.\n"
 msgstr ""
 "无法定位日志设备。设备未被移除\n"
 "请使用 -f 选项来移除丢失的日志设备。\n"
-"\n"
 
-#: misc/tune2fs.c:336
+#: misc/tune2fs.c:342
 msgid "Journal removed\n"
 msgstr "日志已删除\n"
 
-#: misc/tune2fs.c:380
+#: misc/tune2fs.c:386
 msgid "while reading bitmaps"
 msgstr "读取位图时"
 
-#: misc/tune2fs.c:388
+#: misc/tune2fs.c:394
 msgid "while clearing journal inode"
-msgstr "读取坏块inode时"
+msgstr "清除日志 inode 时"
 
-#: misc/tune2fs.c:399
+#: misc/tune2fs.c:407
 msgid "while writing journal inode"
-msgstr "写入日志inode时"
+msgstr "写入日志 inode 时"
 
-#: misc/tune2fs.c:435 misc/tune2fs.c:458 misc/tune2fs.c:471
+#: misc/tune2fs.c:443 misc/tune2fs.c:468 misc/tune2fs.c:481
 msgid "(and reboot afterwards!)\n"
-msgstr "(并且过后重启!)\n"
+msgstr "(并且在此之后重启!)\n"
 
-#: misc/tune2fs.c:486
+#: misc/tune2fs.c:496
 #, c-format
 msgid "After running e2fsck, please run `resize2fs %s %s"
-msgstr "在运行 e2fsck 后,请运行“resize2fs %s %s"
+msgstr "在运行 e2fsck 后,请运行 \"resize2fs %s %s"
 
-#: misc/tune2fs.c:489
+#: misc/tune2fs.c:499
 #, c-format
 msgid "Please run `resize2fs %s %s"
-msgstr "请运行“resize2fs %s %s"
+msgstr "请运行 \"resize2fs %s %s"
 
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:503
 #, c-format
 msgid " -z \"%s\""
 msgstr " -z \"%s\""
 
-#: misc/tune2fs.c:495
+#: misc/tune2fs.c:505
 #, c-format
 msgid "' to enable 64-bit mode.\n"
-msgstr "”来启用 64 位模式。\n"
+msgstr "\" 来启用 64 位模式。\n"
 
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:507
 #, c-format
 msgid "' to disable 64-bit mode.\n"
-msgstr "”来禁用 64 位模式。\n"
+msgstr "\" 来禁用 64 位模式。\n"
 
-#: misc/tune2fs.c:1035
+#: misc/tune2fs.c:1075
 msgid ""
 "WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
 "  This requires Linux >= v4.4.\n"
@@ -6371,155 +6432,171 @@
 "警告:无法确定内核是否支持 metadata_csum_seed 特性。\n"
 "  该特性仅被 4.4 以上的 Linux 内核支持。\n"
 
-#: misc/tune2fs.c:1071
+#: misc/tune2fs.c:1111
 #, c-format
 msgid "Clearing filesystem feature '%s' not supported.\n"
-msgstr "移除不被支持的文件系统特性“%s”。\n"
+msgstr "不支持移除文件系统特性 \"%s\"。\n"
 
-#: misc/tune2fs.c:1077
+#: misc/tune2fs.c:1117
 #, c-format
 msgid "Setting filesystem feature '%s' not supported.\n"
-msgstr "设置不被支持的文件系统特性“%s”。\n"
+msgstr "不支持设置文件系统特性 \"%s\"。\n"
 
-#: misc/tune2fs.c:1086
+#: misc/tune2fs.c:1126
 msgid ""
 "The has_journal feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
-msgstr "只有当文件系统被卸载,或以只读模式挂载时才能移除其has_journal特性。\n"
+msgstr "只有当文件系统未挂载,或以只读模式挂载时才能移除其 has_journal 特性。\n"
 
-#: misc/tune2fs.c:1094
+#: misc/tune2fs.c:1134
 msgid ""
 "The needs_recovery flag is set.  Please run e2fsck before clearing\n"
 "the has_journal flag.\n"
-msgstr "发现needs_recovery标志。请在移除has_journal特性前运行e2fsck。\n"
+msgstr "发现 needs_recovery 标志。请在移除 has_journal 特性前运行e2fsck。\n"
 
-#: misc/tune2fs.c:1112
+#: misc/tune2fs.c:1152
 msgid ""
 "Setting filesystem feature 'sparse_super' not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
 msgstr ""
-"启用了meta_bg特性的文件系统不支持“sparse_super”\n"
-"特性。\n"
+"启用了 meta_bg 特性的文件系统不支持\n"
+"设置 \"sparse_super\" 特性。\n"
 
-#: misc/tune2fs.c:1125
+#: misc/tune2fs.c:1165
 msgid ""
 "The multiple mount protection feature can't\n"
 "be set if the filesystem is mounted or\n"
 "read-only.\n"
-msgstr "文件系统被挂载或为只读属性时无法设置MMP特性。\n"
+msgstr "文件系统被挂载或只读时无法设置多重挂载保护特性。\n"
 
-#: misc/tune2fs.c:1143
+#: misc/tune2fs.c:1183
 #, c-format
 msgid "Multiple mount protection has been enabled with update interval %ds.\n"
-msgstr "MMP(多重挂载保护)已被启用,更新间隔为 %ds。\n"
+msgstr "多重挂载保护已被启用,更新间隔为 %ds。\n"
 
-#: misc/tune2fs.c:1152
+#: misc/tune2fs.c:1192
 msgid ""
 "The multiple mount protection feature cannot\n"
 "be disabled if the filesystem is readonly.\n"
-msgstr "文件系统为只读状态时无法禁用MMP特性。\n"
+msgstr "文件系统为只读状态时无法禁用多重挂载保护特性。\n"
 
-#: misc/tune2fs.c:1160
+#: misc/tune2fs.c:1200
 msgid "Error while reading bitmaps\n"
 msgstr "读取位图时发生错误\n"
 
-#: misc/tune2fs.c:1169
+#: misc/tune2fs.c:1209
 #, c-format
 msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
-msgstr "MMP块的幻数不匹配。期望值:%x,实际:%x\n"
+msgstr "MMP 块的幻数不匹配。预期:%x,实际:%x\n"
 
-#: misc/tune2fs.c:1174
+#: misc/tune2fs.c:1214
 msgid "while reading MMP block."
-msgstr "读取MMP块时"
+msgstr "读取 MMP 块时。"
 
-#: misc/tune2fs.c:1206
+#: misc/tune2fs.c:1247
+msgid "Disabling directory index on filesystem with checksums could take some time."
+msgstr "在启用校验和的文件系统上禁用目录索引可能需要花费一些时间。"
+
+#: misc/tune2fs.c:1251
+msgid "Cannot disable dir_index on a mounted filesystem!\n"
+msgstr "无法在已挂载的文件系统上禁用 dir_index 特性!\n"
+
+#: misc/tune2fs.c:1264
 msgid ""
 "Clearing the flex_bg flag would cause the the filesystem to be\n"
 "inconsistent.\n"
-msgstr "清除弹性组标志将会导致文件系统出现前后不一致的情况。\n"
+msgstr "清除 flex_bg 标志将会导致文件系统不一致。\n"
 
-#: misc/tune2fs.c:1217
+#: misc/tune2fs.c:1275
 msgid ""
 "The huge_file feature may only be cleared when the filesystem is\n"
 "unmounted or mounted read-only.\n"
-msgstr "只有当文件系统被卸载,或以只读模式挂载时才能移除其huge_file特性。\n"
+msgstr "只有当文件系统未挂载,或以只读模式挂载时才能移除其 huge_file 特性。\n"
 
-#: misc/tune2fs.c:1228
+#: misc/tune2fs.c:1286
 msgid "Enabling checksums could take some time."
-msgstr "启用校验值需要花费一段时间。"
+msgstr "启用校验和需要花费一段时间。"
 
-#: misc/tune2fs.c:1230
+#: misc/tune2fs.c:1289
 msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
-msgstr "无法在已挂载的文件系统上启用元数据校验特性!\n"
+msgstr "无法在已挂载的文件系统上启用 metadata_csum 特性!\n"
 
-#: misc/tune2fs.c:1236
+#: misc/tune2fs.c:1295
 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.  Re-run with -O extent to rectify.\n"
-msgstr "未启用 extent 特性,所以仅对文件 extent 树进行校验,而不会对块位图进行校验。不启用 extent 将降低元数据校验值的覆盖范围。可以加上参数“-O extents”重新运行来纠正这一问题。\n"
+msgstr "未启用 extent 特性,所以仅对文件 extent 树进行校验,而不会对块位图进行校验。不启用 extent 将降低元数据校验和的覆盖范围。可以加上参数 \"-O extents\" 重新运行来纠正这一问题。\n"
 
-#: misc/tune2fs.c:1243
+#: misc/tune2fs.c:1302
 msgid "64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Run resize2fs -b to rectify.\n"
-msgstr "未启用 64 位文件系统支持,将无法使用更大的字段来进行更完整的校验。可以运行“resize2fs -b”来纠正这一问题。\n"
+msgstr "未启用 64 位文件系统支持,将无法使用更大的字段来进行更完整的校验。可以运行 \"resize2fs -b\" 来纠正这一问题。\n"
 
-#: misc/tune2fs.c:1269
+#: misc/tune2fs.c:1328
 msgid "Disabling checksums could take some time."
-msgstr "禁用校验值需要花费一段时间。"
+msgstr "禁用校验和需要花费一段时间。"
 
-#: misc/tune2fs.c:1271
+#: misc/tune2fs.c:1331
 msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
-msgstr "无法在已挂载的文件系统上禁用元数据校验特性!\n"
+msgstr "无法在已挂载的文件系统上禁用 metadata_csum 特性!\n"
 
-#: misc/tune2fs.c:1334
+#: misc/tune2fs.c:1372
+msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
+msgstr "无法在已挂载的文件系统上启用 uninit_bg 特性!\n"
+
+#: misc/tune2fs.c:1387
+msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
+msgstr "无法在已挂载的文件系统上禁用 uninit_bg 特性!\n"
+
+#: misc/tune2fs.c:1406
 #, c-format
 msgid "Cannot enable 64-bit mode while mounted!\n"
 msgstr "无法在已挂载的文件系统上启用 64 位模式!\n"
 
-#: misc/tune2fs.c:1344
+#: misc/tune2fs.c:1416
 #, c-format
 msgid "Cannot disable 64-bit mode while mounted!\n"
 msgstr "无法在已挂载的文件系统上禁用 64 位模式!\n"
 
-#: misc/tune2fs.c:1374
+#: misc/tune2fs.c:1446
 #, c-format
 msgid "Cannot enable project feature; inode size too small.\n"
-msgstr ""
+msgstr "无法启用项目特性;inode 大小太小。\n"
 
-#: misc/tune2fs.c:1395
+#: misc/tune2fs.c:1467
 msgid ""
 "\n"
 "Warning: '^quota' option overrides '-Q'arguments.\n"
 msgstr ""
 "\n"
-"警告:“^quota”选项将覆盖“-Q”的参数。\n"
+"警告:\"^quota\" 选项将覆盖 \"-Q\" 的参数。\n"
 
-#: misc/tune2fs.c:1405
-msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
-msgstr ""
+#: misc/tune2fs.c:1484 misc/tune2fs.c:2246
+msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
+msgstr "只有当文件系统未挂载时才能启用 casefold 特性。\n"
 
-#: misc/tune2fs.c:1419
+#: misc/tune2fs.c:1496
 msgid ""
 "Setting feature 'metadata_csum_seed' is only supported\n"
 "on filesystems with the metadata_csum feature enabled.\n"
 msgstr ""
-"只有在启用了元数据校验值特性的文件系统才支持\n"
-"“metadata_csum_seed”特性。\n"
+"只有在启用了 metadata_csum 特性的文件系统才支持\n"
+"\"metadata_csum_seed\" 特性。\n"
 
-#: misc/tune2fs.c:1437
+#: misc/tune2fs.c:1514
 msgid ""
 "UUID has changed since enabling metadata_csum.  Filesystem must be unmounted \n"
 "to safely rewrite all metadata to match the new UUID.\n"
 msgstr ""
-"启用元数据校验值特性后UUID被改变。必须卸载文件系统并安全改写所有元数据,以便\n"
+"启用 metadata_csum 特性后 UUID 被改变。必须卸载文件系统以安全地改写所有元数据,以便\n"
 "与新的 UUID 相匹配。\n"
 
-#: misc/tune2fs.c:1443
+#: misc/tune2fs.c:1520
 msgid "Recalculating checksums could take some time."
-msgstr "重新计算校验值需要花费一段时间。"
+msgstr "重新计算校验和可能需要花费一些时间。"
 
-#: misc/tune2fs.c:1485
+#: misc/tune2fs.c:1563
 msgid "The filesystem already has a journal.\n"
 msgstr "文件系统已有日志。\n"
 
-#: misc/tune2fs.c:1505
+#: misc/tune2fs.c:1583
 #, c-format
 msgid ""
 "\n"
@@ -6528,21 +6605,21 @@
 "\n"
 "\t尝试打开位于 %s 的日志时\n"
 
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1587
 #, c-format
 msgid "Creating journal on device %s: "
-msgstr "在设备 %s 上创建日志: "
+msgstr "在设备 %s 上创建日志:"
 
-#: misc/tune2fs.c:1517
+#: misc/tune2fs.c:1595
 #, c-format
 msgid "while adding filesystem to journal on %s"
 msgstr "将文件系统添加到 %s 上的日志"
 
-#: misc/tune2fs.c:1523
+#: misc/tune2fs.c:1601
 msgid "Creating journal inode: "
-msgstr "创建日志inode: "
+msgstr "创建日志 inode:"
 
-#: misc/tune2fs.c:1537
+#: misc/tune2fs.c:1615
 msgid ""
 "\n"
 "\twhile trying to create journal file"
@@ -6550,31 +6627,31 @@
 "\n"
 "\t尝试创建日志文件时"
 
-#: misc/tune2fs.c:1575
+#: misc/tune2fs.c:1657
 #, c-format
 msgid "Cannot enable project quota; inode size too small.\n"
-msgstr ""
+msgstr "无法启用项目配额;inode 大小太小。\n"
 
-#: misc/tune2fs.c:1588
+#: misc/tune2fs.c:1670
 msgid "while initializing quota context in support library"
-msgstr "初始化支持库中的引用上下文时"
+msgstr "初始化支持库中的配额上下文时"
 
-#: misc/tune2fs.c:1603
+#: misc/tune2fs.c:1686
 #, c-format
 msgid "while updating quota limits (%d)"
-msgstr "更新配额限制(%d)时"
+msgstr "更新配额限制 (%d) 时"
 
-#: misc/tune2fs.c:1611
+#: misc/tune2fs.c:1696
 #, c-format
 msgid "while writing quota file (%d)"
-msgstr "写入配额文件(%d)时"
+msgstr "写入配额文件 (%d) 时"
 
-#: misc/tune2fs.c:1629
+#: misc/tune2fs.c:1714
 #, c-format
 msgid "while removing quota file (%d)"
-msgstr "移除配额文件(%d)时"
+msgstr "移除配额文件 (%d) 时"
 
-#: misc/tune2fs.c:1672
+#: misc/tune2fs.c:1757
 msgid ""
 "\n"
 "Bad quota options specified.\n"
@@ -6589,119 +6666,123 @@
 "\n"
 "指定了错误的配额选项。\n"
 "\n"
-"可以使用下列配额选项(通过逗号分割):\n"
-"\t[^]usr[quota\n"
-"\t[^]grp[quota\n"
+"可以使用下列配额选项(通过逗号分隔):\n"
+"\t[^]usr[quota]\n"
+"\t[^]grp[quota]\n"
 "\t[^]prj[quota]\n"
 "\n"
 "\n"
 
-#: misc/tune2fs.c:1730
+#: misc/tune2fs.c:1815
 #, c-format
 msgid "Couldn't parse date/time specifier: %s"
 msgstr "无法解析日期/时间描述符:%s"
 
-#: misc/tune2fs.c:1755 misc/tune2fs.c:1768
+#: misc/tune2fs.c:1847 misc/tune2fs.c:1858
 #, c-format
 msgid "bad mounts count - %s"
-msgstr "错误挂载计数 - %s"
+msgstr "错误的挂载计数 - %s"
 
-#: misc/tune2fs.c:1811
+#: misc/tune2fs.c:1901
 #, c-format
 msgid "bad gid/group name - %s"
-msgstr "错误的gid/组名 - %s"
+msgstr "错误的 gid/组名 - %s"
 
-#: misc/tune2fs.c:1844
+#: misc/tune2fs.c:1934
 #, c-format
 msgid "bad interval - %s"
 msgstr "错误的间隔 - %s"
 
-#: misc/tune2fs.c:1873
+#: misc/tune2fs.c:1963
 #, c-format
 msgid "bad reserved block ratio - %s"
 msgstr "错误的保留块比 - %s"
 
-#: misc/tune2fs.c:1888
+#: misc/tune2fs.c:1978
 msgid "-o may only be specified once"
-msgstr "-o只能被指定一次"
+msgstr "-o 只能被指定一次"
 
-#: misc/tune2fs.c:1897
+#: misc/tune2fs.c:1987
 msgid "-O may only be specified once"
-msgstr "-O只能被指定一次"
+msgstr "-O 只能被指定一次"
 
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:2004
 #, c-format
 msgid "bad reserved blocks count - %s"
 msgstr "错误的保留块数 - %s"
 
-#: misc/tune2fs.c:1943
+#: misc/tune2fs.c:2033
 #, c-format
 msgid "bad uid/user name - %s"
-msgstr "错误的uid/用户名 - %s"
+msgstr "错误的 uid/用户名 - %s"
 
-#: misc/tune2fs.c:1960
+#: misc/tune2fs.c:2050
 #, c-format
 msgid "bad inode size - %s"
-msgstr "无效的inode大小 - %s"
+msgstr "无效的 inode 大小 - %s"
 
-#: misc/tune2fs.c:1967
+#: misc/tune2fs.c:2057
 #, c-format
 msgid "Inode size must be a power of two- %s"
-msgstr "Inode 大小必须是2的次方- %s"
+msgstr "Inode 大小必须是 2 的幂 - %s"
 
-#: misc/tune2fs.c:2064
+#: misc/tune2fs.c:2157
 #, c-format
 msgid "mmp_update_interval too big: %lu\n"
-msgstr "MMP更新间隔太长:%lu\n"
+msgstr "mmp_update_internal 太大:%lu\n"
 
-#: misc/tune2fs.c:2069
+#: misc/tune2fs.c:2162
 #, c-format
 msgid "Setting multiple mount protection update interval to %lu second\n"
 msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
-msgstr[0] "设置MMP更新间隔为 %lu 秒\n"
+msgstr[0] "设置多重挂载保护更新间隔为 %lu 秒\n"
 
-#: misc/tune2fs.c:2078
+#: misc/tune2fs.c:2171
 #, c-format
 msgid "Setting filesystem error flag to force fsck.\n"
 msgstr "设置文件系统错误标志以强制 fsck。\n"
 
-#: misc/tune2fs.c:2096
+#: misc/tune2fs.c:2189
 #, c-format
 msgid "Invalid RAID stride: %s\n"
-msgstr "无效的RAID带宽:%s\n"
+msgstr "无效的 RAID 步长:%s\n"
 
-#: misc/tune2fs.c:2111
+#: misc/tune2fs.c:2204
 #, c-format
 msgid "Invalid RAID stripe-width: %s\n"
-msgstr "无效的带宽参数:%s\n"
+msgstr "无效的 RAID 带宽:%s\n"
 
-#: misc/tune2fs.c:2126
+#: misc/tune2fs.c:2219
 #, c-format
 msgid "Invalid hash algorithm: %s\n"
-msgstr "无效的hash算法:%s\n"
+msgstr "无效的 hash 算法:%s\n"
 
-#: misc/tune2fs.c:2132
+#: misc/tune2fs.c:2225
 #, c-format
 msgid "Setting default hash algorithm to %s (%d)\n"
-msgstr "将默认hash算法设置为 %s (%d)\n"
+msgstr "将默认 hash 算法设置为 %s (%d)\n"
 
-#: misc/tune2fs.c:2151
-#, fuzzy
-#| msgid ""
-#| "\n"
-#| "Bad options specified.\n"
-#| "\n"
-#| "Extended options are separated by commas, and may take an argument which\n"
-#| "\tis set off by an equals ('=') sign.\n"
-#| "\n"
-#| "Valid extended options are:\n"
-#| "\tclear_mmp\n"
-#| "\thash_alg=<hash algorithm>\n"
-#| "\tmount_opts=<extended default mount options>\n"
-#| "\tstride=<RAID per-disk chunk size in blocks>\n"
-#| "\tstripe_width=<RAID stride*data disks in blocks>\n"
-#| "\ttest_fs\n"
-#| "\t^test_fs\n"
+#: misc/tune2fs.c:2252
+#, c-format
+msgid "Cannot alter existing encoding\n"
+msgstr "无法更改已存在的编码\n"
+
+#: misc/tune2fs.c:2258
+#, c-format
+msgid "Invalid encoding: %s\n"
+msgstr "无效的编码:%s\n"
+
+#: misc/tune2fs.c:2264
+#, c-format
+msgid "Setting encoding to '%s'\n"
+msgstr "设置编码为 \"%s\"\n"
+
+#: misc/tune2fs.c:2288
+#, c-format
+msgid "Setting encoding_flags to '%s'\n"
+msgstr "设置 encoding_flags 为 \"%s\"\n"
+
+#: misc/tune2fs.c:2298
 msgid ""
 "\n"
 "Bad options specified.\n"
@@ -6719,93 +6800,100 @@
 "\tforce_fsck\n"
 "\ttest_fs\n"
 "\t^test_fs\n"
+"\tencoding=<encoding>\n"
+"\tencoding_flags=<flags>\n"
 msgstr ""
 "\n"
 "指定了错误的选项。\n"
 "\n"
-"扩展属性由逗号分隔,有些需要通过等号(“=”)传递参数。\n"
+"扩展选项由逗号分隔,有些需要通过等号 (\"=\") 传递参数。\n"
 "\n"
 "有效的扩展选项有:\n"
 "\tclear_mmp\n"
-"\thash_alg=<hash算法>\n"
+"\thash_alg=<hash 算法>\n"
+"\tmount_opts=<扩展的默认挂载选项>\n"
+"\tmmp_update_interval=<以秒表示的 mmp 更新间隔>\n"
 "\tstride=<RAID 每个磁盘的数据块数(步长)>\n"
-"\tstripe-width=<步长 × RAID 磁盘数(带宽)>\n"
-"\thash_alg=<hash算法>\n"
+"\tstripe_width=<步长*RAID 磁盘数(带宽)>\n"
+"\tforce_fsck\n"
 "\ttest_fs\n"
 "\t^test_fs\n"
+"\tencoding=<编码>\n"
+"\tencoding_flags=<标志>\n"
+"\n"
 
-#: misc/tune2fs.c:2622
+#: misc/tune2fs.c:2714
 msgid "Failed to read inode bitmap\n"
-msgstr "读取inode位图失败\n"
+msgstr "读取 inode 位图失败\n"
 
-#: misc/tune2fs.c:2627
+#: misc/tune2fs.c:2719
 msgid "Failed to read block bitmap\n"
 msgstr "读取块位图失败\n"
 
-#: misc/tune2fs.c:2644 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2736 resize/resize2fs.c:1372
 msgid "blocks to be moved"
 msgstr "需要移动的块"
 
-#: misc/tune2fs.c:2647
+#: misc/tune2fs.c:2739
 msgid "Failed to allocate block bitmap when increasing inode size\n"
-msgstr "增加inode大小时为分配块位图失败\n"
+msgstr "增加 inode 大小时分配块位图失败\n"
 
-#: misc/tune2fs.c:2653
+#: misc/tune2fs.c:2745
 msgid "Not enough space to increase inode size \n"
-msgstr "没有足够的空间用于增加inode大小\n"
+msgstr "没有足够的空间用于增加 inode 大小\n"
 
-#: misc/tune2fs.c:2658
+#: misc/tune2fs.c:2750
 msgid "Failed to relocate blocks during inode resize \n"
-msgstr "改变块大小时重定位块失败 \n"
+msgstr "调整 inode 大小时重定位块失败 \n"
 
-#: misc/tune2fs.c:2690
+#: misc/tune2fs.c:2782
 msgid ""
 "Error in resizing the inode size.\n"
 "Run e2undo to undo the file system changes. \n"
 msgstr ""
-"改变inode大小时出错。\n"
-"请运行e2undo来撤销对文件系统的更改。\n"
+"调整 inode 大小时出错。\n"
+"请运行 e2undo 来撤销对文件系统的更改。\n"
 
-#: misc/tune2fs.c:2900
+#: misc/tune2fs.c:2995
 msgid ""
 "If you are sure the filesystem is not in use on any node, run:\n"
 "'tune2fs -f -E clear_mmp {device}'\n"
 msgstr ""
-"如果你确定文件系统并没有挂载到任何节点上,请运行:\n"
-"“tune2fs -f -E clear_mmp {设备}”\n"
+"如果您确定文件系统并没有挂载到任何节点上,请运行:\n"
+"\"tune2fs -f -E clear_mmp {设备}\"\n"
 
-#: misc/tune2fs.c:2907
+#: misc/tune2fs.c:3002
 #, c-format
 msgid ""
 "MMP block magic is bad. Try to fix it by running:\n"
 "'e2fsck -f %s'\n"
 msgstr ""
-"MMP块幻数错误。请尝试运行一下命令来修复:\n"
-"“e2fsck -f %s”\n"
+"MMP 块幻数错误。请尝试运行以下命令来修复:\n"
+"\"e2fsck -f %s\"\n"
 
-#: misc/tune2fs.c:2919
+#: misc/tune2fs.c:3014
 msgid "Cannot modify a journal device.\n"
 msgstr "无法修改日志设备。\n"
 
-#: misc/tune2fs.c:2932
+#: misc/tune2fs.c:3027
 #, c-format
 msgid "The inode size is already %lu\n"
-msgstr "inode大小已经为 %lu\n"
+msgstr "inode 大小已经为 %lu\n"
 
-#: misc/tune2fs.c:2939
+#: misc/tune2fs.c:3034
 msgid "Shrinking inode size is not supported\n"
-msgstr "不支持缩小inode大小\n"
+msgstr "不支持缩小 inode 大小\n"
 
-#: misc/tune2fs.c:2944
+#: misc/tune2fs.c:3039
 #, c-format
 msgid "Invalid inode size %lu (max %d)\n"
-msgstr "无效的inode大小 %lu(最大 %d)\n"
+msgstr "无效的 inode 大小 %lu(最大 %d)\n"
 
-#: misc/tune2fs.c:2950
+#: misc/tune2fs.c:3045
 msgid "Resizing inodes could take some time."
-msgstr "改变 inode 大小需要花费一段时间。"
+msgstr "调整 inode 大小可能需要花费一段时间。"
 
-#: misc/tune2fs.c:2998
+#: misc/tune2fs.c:3094
 #, c-format
 msgid ""
 "Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6815,201 +6903,205 @@
 "then rerun this command.  Otherwise, any changes made may be overwritten\n"
 "by journal recovery.\n"
 msgstr ""
-"警告:日志存在错误。您可能需要重做日志,如:\n"
+"警告:日志是脏的。您可能需要重放日志,如:\n"
 "\n"
-"e2fsck -E journal_only %s\n"
+"\te2fsck -E journal_only %s\n"
 "\n"
-"然后重新运行本命令。否则,任何所做更改都可能被日志恢复操作所覆盖。\n"
+"然后重新运行本命令。否则,任何所做的更改都可能被日志恢复操作所覆盖。\n"
 
-#: misc/tune2fs.c:3009
+#: misc/tune2fs.c:3103
 #, c-format
 msgid "Recovering journal.\n"
-msgstr "正在修复日志。\n"
+msgstr "正在恢复日志。\n"
 
-#: misc/tune2fs.c:3028
+#: misc/tune2fs.c:3125
 #, c-format
 msgid "Setting maximal mount count to %d\n"
 msgstr "设置最大挂载次数为 %d\n"
 
-#: misc/tune2fs.c:3034
+#: misc/tune2fs.c:3131
 #, c-format
 msgid "Setting current mount count to %d\n"
 msgstr "设置当前挂载次数为 %d\n"
 
-#: misc/tune2fs.c:3039
+#: misc/tune2fs.c:3136
 #, c-format
 msgid "Setting error behavior to %d\n"
 msgstr "将出错行为设置为 %d\n"
 
-#: misc/tune2fs.c:3044
+#: misc/tune2fs.c:3141
 #, c-format
 msgid "Setting reserved blocks gid to %lu\n"
-msgstr "设置保留块的gid为 %lu\n"
+msgstr "设置保留块的 gid 为 %lu\n"
 
-#: misc/tune2fs.c:3049
+#: misc/tune2fs.c:3146
 #, c-format
 msgid "interval between checks is too big (%lu)"
-msgstr "检查间隔太长(%lu)"
+msgstr "检查间隔太长 (%lu)"
 
-#: misc/tune2fs.c:3056
+#: misc/tune2fs.c:3153
 #, c-format
 msgid "Setting interval between checks to %lu seconds\n"
 msgstr "将检查间隔设置为 %lu 秒\n"
 
-#: misc/tune2fs.c:3063
+#: misc/tune2fs.c:3160
 #, c-format
 msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
-msgstr "将保留块所占百分比设置为 %g%%(%llu 个块)\n"
+msgstr "将保留块百分比设置为 %g%%(%llu 个块)\n"
 
-#: misc/tune2fs.c:3069
+#: misc/tune2fs.c:3167
 #, c-format
 msgid "reserved blocks count is too big (%llu)"
-msgstr "保留块的数量太大(%llu)"
+msgstr "保留块的数量太大 (%llu)"
 
-#: misc/tune2fs.c:3076
+#: misc/tune2fs.c:3174
 #, c-format
 msgid "Setting reserved blocks count to %llu\n"
 msgstr "设置保留块数为 %llu\n"
 
-#: misc/tune2fs.c:3081
+#: misc/tune2fs.c:3179
 msgid ""
 "\n"
 "The filesystem already has sparse superblocks.\n"
 msgstr ""
 "\n"
-"文件系统已经含有分散式超级块\n"
+"文件系统已经含有稀疏超级块\n"
 
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3182
 msgid ""
 "\n"
 "Setting the sparse superblock flag not supported\n"
 "for filesystems with the meta_bg feature enabled.\n"
 msgstr ""
 "\n"
-"启用了meta_bg特性的文件系统不支持设置分散式\n"
-"超级块标志。\n"
+"启用了 meta_bg 特性的文件系统不支持设置\n"
+"sparse superblock 标志。\n"
 "\n"
 
-#: misc/tune2fs.c:3094
+#: misc/tune2fs.c:3192
 #, c-format
 msgid ""
 "\n"
 "Sparse superblock flag set.  %s"
 msgstr ""
 "\n"
-"已设置分散式超级块标志。  %s"
+"已设置 sparse superblock 标志。%s"
 
-#: misc/tune2fs.c:3099
+#: misc/tune2fs.c:3197
 msgid ""
 "\n"
 "Clearing the sparse superblock flag not supported.\n"
 msgstr ""
 "\n"
-"移除不被支持的分散式超级块标志。\n"
+"不支持移除 sparse superblock 标志。\n"
 
-#: misc/tune2fs.c:3107
+#: misc/tune2fs.c:3205
 #, c-format
 msgid "Setting time filesystem last checked to %s\n"
 msgstr "设置上一次检查的时间为 %s\n"
 
-#: misc/tune2fs.c:3113
+#: misc/tune2fs.c:3211
 #, c-format
 msgid "Setting reserved blocks uid to %lu\n"
-msgstr "设置保留块的uid为 %lu\n"
+msgstr "设置保留块的 uid 为 %lu\n"
 
-#: misc/tune2fs.c:3145
+#: misc/tune2fs.c:3243
 msgid "Error in using clear_mmp. It must be used with -f\n"
-msgstr "clear_mmp选项使用错误,必须和 -f 选项一起使用\n"
+msgstr "clear_mmp 选项使用错误。必须和 -f 选项一起使用\n"
 
-#: misc/tune2fs.c:3163
+#: misc/tune2fs.c:3262
 msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
-msgstr "只有当文件系统被卸载时才能修改配额特性。\n"
+msgstr "只有当文件系统未挂载时才能修改配额特性。\n"
 
-#: misc/tune2fs.c:3181
+#: misc/tune2fs.c:3279
+msgid "Cannot change the UUID of this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "无法更改此文件系统的 UUID,因为它设置了 stable_inodes 特性标志。\n"
+
+#: misc/tune2fs.c:3289
 msgid "Setting the UUID on this filesystem could take some time."
 msgstr "在此文件系统上设置 UUID 需要花费一段时间。"
 
-#: misc/tune2fs.c:3196
+#: misc/tune2fs.c:3306
 msgid "The UUID may only be changed when the filesystem is unmounted.\n"
-msgstr "只有当文件系统被卸载时才能改变UUID。\n"
+msgstr "只有当文件系统未挂载时才能改变 UUID。\n"
 
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3309
 msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
-msgstr "若您仅使用 Linux 4.4 以上的内核,请运行“tune2fs -O metadata_csum_seed”,然后重新运行此命令。\n"
+msgstr "若您仅使用 v4.4 以上的内核,请运行 \"tune2fs -O metadata_csum_seed\",然后重新运行此命令。\n"
 
-#: misc/tune2fs.c:3229
+#: misc/tune2fs.c:3340
 msgid "Invalid UUID format\n"
 msgstr "无效的 UUID 格式\n"
 
-#: misc/tune2fs.c:3245
+#: misc/tune2fs.c:3356
 msgid "Need to update journal superblock.\n"
 msgstr "需要更新日志超级块。\n"
 
-#: misc/tune2fs.c:3267
+#: misc/tune2fs.c:3378
 msgid "The inode size may only be changed when the filesystem is unmounted.\n"
-msgstr "只有当文件系统被卸载时才能改变inode大小。\n"
+msgstr "只有当文件系统未挂载时才能调整 inode 大小。\n"
 
-#: misc/tune2fs.c:3274
+#: misc/tune2fs.c:3385
 msgid ""
 "Changing the inode size not supported for filesystems with the flex_bg\n"
 "feature enabled.\n"
-msgstr "启用了弹性组特性的文件系统不支持改变inode大小\n"
+msgstr "启用了 flex_bg 特性的文件系统不支持调整 inode 大小。\n"
 
-#: misc/tune2fs.c:3292
+#: misc/tune2fs.c:3403
 #, c-format
 msgid "Setting inode size %lu\n"
-msgstr "正在将inode大小设置为 %lu\n"
+msgstr "正在将 inode 大小设置为 %lu\n"
 
-#: misc/tune2fs.c:3296
+#: misc/tune2fs.c:3407
 msgid "Failed to change inode size\n"
-msgstr "改变inode大小失败 \n"
+msgstr "调整 inode 大小失败 \n"
 
-#: misc/tune2fs.c:3310
+#: misc/tune2fs.c:3421
 #, c-format
 msgid "Setting stride size to %d\n"
 msgstr "设置步长为 %d\n"
 
-#: misc/tune2fs.c:3315
+#: misc/tune2fs.c:3426
 #, c-format
 msgid "Setting stripe width to %d\n"
 msgstr "设置带宽为 %d\n"
 
-#: misc/tune2fs.c:3322
+#: misc/tune2fs.c:3433
 #, c-format
 msgid "Setting extended default mount options to '%s'\n"
-msgstr "设置默认挂载的扩展选项为 “%s”\n"
+msgstr "设置扩展的默认挂载选项为 \"%s\"\n"
 
-#: misc/util.c:101
+#: misc/util.c:102
 msgid "<proceeding>\n"
-msgstr "<处理中>\n"
+msgstr "<正在继续>\n"
 
-#: misc/util.c:105
+#: misc/util.c:106
 #, c-format
 msgid "Proceed anyway (or wait %d seconds to proceed) ? (y,N) "
-msgstr "无论如何也要继续(或等待 %d 秒)?(y,N) "
+msgstr "无论如何也要继续(或等待 %d 秒以继续)?(y,N) "
 
-#: misc/util.c:109
+#: misc/util.c:110
 msgid "Proceed anyway? (y,N) "
-msgstr "无论如何也要继续?(y,N) "
+msgstr "无论如何也要继续?(y,N) "
 
-#: misc/util.c:136
+#: misc/util.c:137
 msgid "mke2fs forced anyway.  Hope /etc/mtab is incorrect.\n"
-msgstr "强制执行mke2fs。期望/etc/mtab中反映的并非真实情况。\n"
+msgstr "仍然强制执行 mke2fs 。希望 /etc/mtab 中反映的并非真实情况。\n"
 
-#: misc/util.c:141
+#: misc/util.c:142
 #, c-format
 msgid "will not make a %s here!\n"
-msgstr "取消建立 %s !\n"
+msgstr "将不会在此创建%s!\n"
 
-#: misc/util.c:148
+#: misc/util.c:149
 msgid "mke2fs forced anyway.\n"
-msgstr "mke2fs 强制执行。\n"
+msgstr "仍然强制执行 mke2fs。\n"
 
-#: misc/util.c:164
+#: misc/util.c:165
 msgid "Couldn't allocate memory to parse journal options!\n"
-msgstr "无法为解析日志选项获取内存!\n"
+msgstr "无法为解析日志选项分配内存!\n"
 
-#: misc/util.c:189
+#: misc/util.c:190
 #, c-format
 msgid ""
 "\n"
@@ -7018,7 +7110,7 @@
 "\n"
 "无法找到匹配 %s 的日志设备\n"
 
-#: misc/util.c:216
+#: misc/util.c:225
 msgid ""
 "\n"
 "Bad journal options specified.\n"
@@ -7037,18 +7129,17 @@
 "\n"
 "给定的日志选项有误。\n"
 "\n"
-"日志选项由逗号分隔,有些还需要通过等号(“=”)传递参数。\n"
+"日志选项由逗号分隔,有些还需要通过等号 (\"=\") 传递参数。\n"
 "\n"
 "有效的日志选项为:\n"
-"\tsize=<日志大小(MB)>\n"
+"\tsize=<日志大小 (MB)>\n"
 "\tdevice=<日志设备>\n"
 "\tlocation=<日志所在位置>\n"
 "\n"
-"\n"
-"日志尺寸必须介于1024至10240000个块之间(块的大小由文件系统决定)。\n"
+"日志大小必须介于 1024 至 10240000 个文件系统块之间。\n"
 "\n"
 
-#: misc/util.c:247
+#: misc/util.c:268
 msgid ""
 "\n"
 "Filesystem too small for a journal\n"
@@ -7056,33 +7147,33 @@
 "\n"
 "文件系统太小,无法容纳日志\n"
 
-#: misc/util.c:254
+#: misc/util.c:285
 #, c-format
 msgid ""
 "\n"
-"The requested journal size is %d blocks; it must be\n"
+"The total requested journal size is %d blocks; it must be\n"
 "between 1024 and 10240000 blocks.  Aborting.\n"
 msgstr ""
 "\n"
-"给定的日志大小为 %d 个块;但该值必须\n"
-"介于1024至10240000块之间。终止执行。\n"
+"给定的日志总大小为 %d 个块;但该值必须\n"
+"介于 1024 至 10240000 块之间。中止执行。\n"
 
-#: misc/util.c:262
+#: misc/util.c:293
 msgid ""
 "\n"
-"Journal size too big for filesystem.\n"
+"Total journal size too big for filesystem.\n"
 msgstr ""
 "\n"
-"日志大小超过文件系统自身。\n"
+"日志总大小太大,文件系统无法容纳。\n"
 
-#: misc/util.c:276
+#: misc/util.c:306
 #, c-format
 msgid ""
 "This filesystem will be automatically checked every %d mounts or\n"
 "%g days, whichever comes first.  Use tune2fs -c or -i to override.\n"
 msgstr ""
-"该文件系统在每挂载%d次或每隔%g天都会进行自动检查。\n"
-"使用tune2fs -c 或-i选项来覆盖这一特性。\n"
+"该文件系统每挂载 %d 次或每隔 %g 天都会进行自动检查,\n"
+"取决于哪个先到。使用 tune2fs -c 或 -i 来覆盖这一特性。\n"
 
 #: misc/uuidd.c:49
 #, c-format
@@ -7122,27 +7213,27 @@
 #: misc/uuidd.c:271
 #, c-format
 msgid "uuidd daemon already running at pid %s\n"
-msgstr "uuidd守护进程已经在运行,pid %s\n"
+msgstr "uuidd 守护进程已经在运行,pid %s\n"
 
 #: misc/uuidd.c:279
 #, c-format
 msgid "Couldn't create unix stream socket: %s"
-msgstr "无法创建unix流套接字:%s"
+msgstr "无法创建 unix 流套接字:%s"
 
 #: misc/uuidd.c:308
 #, c-format
 msgid "Couldn't bind unix socket %s: %s\n"
-msgstr "无法绑定unix套接字%s:%s\n"
+msgstr "无法绑定 unix 套接字 %s:%s\n"
 
 #: misc/uuidd.c:316
 #, c-format
 msgid "Couldn't listen on unix socket %s: %s\n"
-msgstr "无法监听unix套接字%s:%s\n"
+msgstr "无法监听 unix 套接字 %s:%s\n"
 
 #: misc/uuidd.c:354
 #, c-format
 msgid "Error reading from client, len = %d\n"
-msgstr "读取客户端内容出错,内容长度 = %d\n"
+msgstr "读取客户端内容出错,长度 = %d\n"
 
 #: misc/uuidd.c:362
 #, c-format
@@ -7152,23 +7243,23 @@
 #: misc/uuidd.c:381
 #, c-format
 msgid "Generated time UUID: %s\n"
-msgstr "已生成时间UUID:%s\n"
+msgstr "已生成时间 UUID:%s\n"
 
 #: misc/uuidd.c:391
 #, c-format
 msgid "Generated random UUID: %s\n"
-msgstr "已生成随机数UUID:%s\n"
+msgstr "已生成随机数 UUID:%s\n"
 
 #: misc/uuidd.c:400
 #, c-format
 msgid "Generated time UUID %s and subsequent UUID\n"
 msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n"
-msgstr[0] "已生成时间UUID %s 和 %d 个后续的UUID\n"
+msgstr[0] "已生成时间 UUID %s 和后续的 %d 个 UUID\n"
 
 #: misc/uuidd.c:421
 #, c-format
 msgid "Generated %d UUID's:\n"
-msgstr "已生成 %d 个UUID:\n"
+msgstr "已生成 %d 个 UUID:\n"
 
 #: misc/uuidd.c:433
 #, c-format
@@ -7178,22 +7269,22 @@
 #: misc/uuidd.c:477 misc/uuidd.c:499
 #, c-format
 msgid "Bad number: %s\n"
-msgstr "错误的数量:%s\n"
+msgstr "错误的数值:%s\n"
 
 #: misc/uuidd.c:534 misc/uuidd.c:563
 #, c-format
 msgid "Error calling uuidd daemon (%s): %s\n"
-msgstr "调用uuidd守护进程(%s)时出错:%s\n"
+msgstr "调用 uuidd 守护进程 (%s) 时出错:%s\n"
 
 #: misc/uuidd.c:544
 #, c-format
 msgid "%s and subsequent UUID\n"
 msgid_plural "%s and subsequent %d UUIDs\n"
-msgstr[0] "%s 和后续 %d 个UUID\n"
+msgstr[0] "%s 和后续的 %d 个 UUID\n"
 
 #: misc/uuidd.c:548
 msgid "List of UUID's:\n"
-msgstr "UUID列表:\n"
+msgstr "UUID 列表:\n"
 
 #: misc/uuidd.c:569
 #, c-format
@@ -7203,28 +7294,26 @@
 #: misc/uuidd.c:586
 #, c-format
 msgid "Couldn't kill uuidd running at pid %d: %s\n"
-msgstr ""
-"无法杀死pid为 %d 的uuidd进程:%s\n"
-"\n"
+msgstr "无法杀死 pid 为 %d 的 uuidd 进程:%s\n"
 
 #: misc/uuidd.c:592
 #, c-format
 msgid "Killed uuidd running at pid %d\n"
-msgstr "已杀死pid为 %d 的uuidd进程\n"
+msgstr "已杀死 pid 为 %d 的 uuidd 进程\n"
 
 #: misc/uuidgen.c:32
 #, c-format
 msgid "Usage: %s [-r] [-t]\n"
 msgstr "用法:%s [-r] [-t]\n"
 
-#: resize/extent.c:202
+#: resize/extent.c:200
 msgid "# Extent dump:\n"
-msgstr "# Extent转储:\n"
+msgstr "# Extent 转储:\n"
 
-#: resize/extent.c:203
+#: resize/extent.c:201
 #, c-format
 msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
-msgstr "#\t数量=%llu,大小=%llu,指针=%llu,按序=%llu\n"
+msgstr "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"
 
 #: resize/main.c:49
 #, c-format
@@ -7232,12 +7321,12 @@
 "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [-b|-s|new_size] [-S RAID-stride] [-z undo_file]\n"
 "\n"
 msgstr ""
-"用法:%s [-d 调试标志] [-f] [-F] [-M] [-P] [-p] 设备 [-b|-s|新大小] [S RAID-stride] [-z 撤销文件]\n"
+"用法:%s [-d 调试标志] [-f] [-F] [-M] [-P] [-p] 设备 [-b|-s|新大小] [-S RAID步长] [-z 撤销文件]\n"
 "\n"
 
 #: resize/main.c:73
 msgid "Extending the inode table"
-msgstr "正在扩充inode表"
+msgstr "正在扩充 inode 表"
 
 #: resize/main.c:76
 msgid "Relocating blocks"
@@ -7245,24 +7334,24 @@
 
 #: resize/main.c:79
 msgid "Scanning inode table"
-msgstr "正在扫描inode表"
+msgstr "正在扫描 inode 表"
 
 #: resize/main.c:82
 msgid "Updating inode references"
-msgstr "正在更新inode引用"
+msgstr "正在更新 inode 引用"
 
 #: resize/main.c:85
 msgid "Moving inode table"
-msgstr "正在移动inode表"
+msgstr "正在移动 inode 表"
 
 #: resize/main.c:88
 msgid "Unknown pass?!?"
-msgstr "其他步骤"
+msgstr "未知遍数?!?"
 
 #: resize/main.c:91
 #, c-format
 msgid "Begin pass %d (max = %lu)\n"
-msgstr "开始第 %d 步(共 %lu 步)\n"
+msgstr "开始第 %d 遍(最多 %lu 遍)\n"
 
 #: resize/main.c:163
 msgid ""
@@ -7272,148 +7361,157 @@
 "\n"
 msgstr ""
 "\n"
-"改变bigalloc文件系统的大小尚未被充分测试。你需要承担可能的风险!\n"
-"如果你希望继续,请使用强制选项。\n"
+"调整 bigalloc 文件系统的大小尚未被充分测试。你需要承担可能的风险!\n"
+"如果你希望继续,请使用 -f 选项。\n"
 "\n"
 
-#: resize/main.c:366
-#, c-format
-msgid "while opening %s"
-msgstr "打开%s时"
-
 #: resize/main.c:374
 #, c-format
-msgid "while getting stat information for %s"
-msgstr "获取%s的stat信息时出错。"
+msgid "while opening %s"
+msgstr "打开 %s 时"
 
-#: resize/main.c:451
+#: resize/main.c:382
+#, c-format
+msgid "while getting stat information for %s"
+msgstr "获取 %s 的 stat 信息时"
+
+#: resize/main.c:463
 #, c-format
 msgid ""
 "Please run 'e2fsck -f %s' first.\n"
 "\n"
 msgstr ""
-"请先运行“e2fsck -f %s”。\n"
+"请先运行 \"e2fsck -f %s\"。\n"
 "\n"
 
-#: resize/main.c:470
+#: resize/main.c:482
 #, c-format
 msgid "Estimated minimum size of the filesystem: %llu\n"
 msgstr "预计文件系统的最小尺寸:%llu\n"
 
-#: resize/main.c:507
+#: resize/main.c:522
 #, c-format
 msgid "Invalid new size: %s\n"
-msgstr "无效的新大小: %s\n"
+msgstr "无效的新大小:%s\n"
 
-#: resize/main.c:526
+#: resize/main.c:541
 msgid "New size too large to be expressed in 32 bits\n"
-msgstr "新大小太大,无法用32位数表示\n"
+msgstr "新大小太大,无法用 32 位整数表示\n"
 
-#: resize/main.c:534
+#: resize/main.c:560
+msgid "New size results in too many block group descriptors.\n"
+msgstr "新的大小会导致块组描述符的数量过多。\n"
+
+#: resize/main.c:567
 #, c-format
 msgid "New size smaller than minimum (%llu)\n"
-msgstr "新大小不能低于此最小值:%llu\n"
+msgstr "新大小低于允许的最小值 (%llu)\n"
 
-#: resize/main.c:540
+#: resize/main.c:574
 msgid "Invalid stride length"
-msgstr "无效的步长度"
+msgstr "无效的步长"
 
-#: resize/main.c:564
+#: resize/main.c:598
 #, c-format
 msgid ""
 "The containing partition (or device) is only %llu (%dk) blocks.\n"
 "You requested a new size of %llu blocks.\n"
 "\n"
 msgstr ""
-"指定的分区(或设备)仅有 %llu 个块(每块为 %dk),\n"
+"包含此文件系统的分区(或设备)仅有 %llu 个块(每块为 %dk),\n"
 "但你却指定新大小为 %llu 个块。\n"
 "\n"
 
-#: resize/main.c:571
+#: resize/main.c:605
 #, c-format
 msgid "Cannot set and unset 64bit feature.\n"
 msgstr "无法设置/取消设置 64 位特性。\n"
 
-#: resize/main.c:575
+#: resize/main.c:609
 #, c-format
 msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
-msgstr "无法在含有超过 2^32 个块的文件系统上改变 64 位特性。\n"
+msgstr "无法在大小超过 2^32 个块的文件系统上改变 64 位特性。\n"
 
-#: resize/main.c:581
+#: resize/main.c:615
 #, c-format
 msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
 msgstr "无法在已挂载的文件系统上改变 64 位特性。\n"
 
-#: resize/main.c:587
+#: resize/main.c:621
 #, c-format
 msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
 msgstr "在启用 64 位特性前,请先执行 tune2fs 来启用 extent。\n"
 
-#: resize/main.c:593
+#: resize/main.c:629
 #, c-format
 msgid ""
 "The filesystem is already %llu (%dk) blocks long.  Nothing to do!\n"
 "\n"
 msgstr ""
-"文件系统已经为 %llu 个块(每块 %dk)。无需进一步处理!\n"
+"文件系统已经为 %llu 个块(每块 %dk)。无事可做!\n"
 "\n"
 
-#: resize/main.c:600
+#: resize/main.c:639
 #, c-format
 msgid "The filesystem is already 64-bit.\n"
-msgstr "文件系统已经为 64 位模式。\n"
+msgstr "文件系统已经为 64 位。\n"
 
-#: resize/main.c:605
+#: resize/main.c:644
 #, c-format
 msgid "The filesystem is already 32-bit.\n"
-msgstr "文件系统已经为 32 位模式。\n"
+msgstr "文件系统已经为 32 位。\n"
 
-#: resize/main.c:613
+#: resize/main.c:649
+#, c-format
+msgid "Cannot shrink this filesystem because it has the stable_inodes feature flag.\n"
+msgstr "无法缩小此文件系统,因为它设置了 stable_inodes 特性标志。\n"
+
+#: resize/main.c:658
 #, c-format
 msgid "Converting the filesystem to 64-bit.\n"
 msgstr "将文件系统转换为 64 位。\n"
 
-#: resize/main.c:615
+#: resize/main.c:660
 #, c-format
 msgid "Converting the filesystem to 32-bit.\n"
 msgstr "将文件系统转换为 32 位。\n"
 
-#: resize/main.c:617
+#: resize/main.c:662
 #, c-format
 msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
 msgstr "将 %s 上的文件系统调整为 %llu 个块(每块 %dk)。\n"
 
-#: resize/main.c:626
+#: resize/main.c:672
 #, c-format
 msgid "while trying to resize %s"
-msgstr "尝试调整%s的大小时"
+msgstr "尝试调整 %s 的大小时"
 
-#: resize/main.c:629
+#: resize/main.c:675
 #, c-format
 msgid ""
 "Please run 'e2fsck -fy %s' to fix the filesystem\n"
 "after the aborted resize operation.\n"
 msgstr ""
-"请在终止调整操作后运行“e2fsck -fy %s”\n"
+"请在调整大小操作中止后运行 \"e2fsck -fy %s\"\n"
 "来修复文件系统。\n"
 
-#: resize/main.c:635
+#: resize/main.c:680
 #, c-format
 msgid ""
 "The filesystem on %s is now %llu (%dk) blocks long.\n"
 "\n"
 msgstr ""
-"%s 上的文件系统现在为 %llu 个块(每块 %dk)。\n"
+"%s 上的文件系统大小已经调整为 %llu 个块(每块 %dk)。\n"
 "\n"
 
-#: resize/main.c:650
+#: resize/main.c:695
 #, c-format
 msgid "while trying to truncate %s"
 msgstr "尝试截断 %s 时"
 
 #: resize/online.c:81
 msgid "kernel does not support online resize with sparse_super2"
-msgstr "内核不支持在线调整启用了sparse_super2特性的文件系统的大小"
+msgstr "内核不支持在线调整启用了 sparse_super2 特性的文件系统的大小"
 
 #: resize/online.c:86
 #, c-format
@@ -7424,7 +7522,7 @@
 
 #: resize/online.c:90
 msgid "On-line shrinking not supported"
-msgstr "不支持在线缩小块"
+msgstr "不支持在线缩小大小"
 
 #: resize/online.c:114
 msgid "Filesystem does not support online resizing"
@@ -7432,7 +7530,7 @@
 
 #: resize/online.c:122
 msgid "Not enough reserved gdt blocks for resizing"
-msgstr "没有足够的保留gdt块用于改变文件系统大小"
+msgstr "没有足够的保留 gdt 块用于调整文件系统大小"
 
 #: resize/online.c:129
 msgid "Kernel does not support resizing a file system this large"
@@ -7446,7 +7544,7 @@
 #: resize/online.c:142
 #, c-format
 msgid "Old resize interface requested.\n"
-msgstr "使用旧版本的改变大小操作接口。\n"
+msgstr "使用旧版本的调整大小接口。\n"
 
 #: resize/online.c:161 resize/online.c:178
 msgid "Permission denied to resize filesystem"
@@ -7454,7 +7552,7 @@
 
 #: resize/online.c:164 resize/online.c:184
 msgid "While checking for on-line resizing support"
-msgstr "检查是否支持在线调整文件系统大小时"
+msgstr "检查是否支持在线调整大小时"
 
 #: resize/online.c:181
 msgid "Kernel does not support online resizing"
@@ -7463,98 +7561,98 @@
 #: resize/online.c:220
 #, c-format
 msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
-msgstr "在线调整 %s 的大小为 %llu 块(每块为 %dk)\n"
+msgstr "在线调整 %s 的大小为 %llu 块(每块为 %dk)。\n"
 
-#: resize/online.c:230
+#: resize/online.c:231
 msgid "While trying to extend the last group"
 msgstr "尝试扩展最后一个组时"
 
-#: resize/online.c:277
+#: resize/online.c:278
 #, c-format
 msgid "While trying to add group #%d"
 msgstr "尝试添加组 #%d 时"
 
-#: resize/online.c:288
+#: resize/online.c:289
 #, c-format
 msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n"
-msgstr "文件系统 %s 被挂载在 %s,并且这个系统不支持在线调整大小。\n"
+msgstr "文件系统 %s 被挂载于 %s,并且本系统不支持在线调整大小。\n"
 
-#: resize/resize2fs.c:759
+#: resize/resize2fs.c:769
 #, c-format
 msgid "inodes (%llu) must be less than %u\n"
-msgstr "inode数(%llu)必须小于 %u\n"
+msgstr "inode 数 (%llu) 必须小于 %u\n"
 
-#: resize/resize2fs.c:1038
+#: resize/resize2fs.c:1127
 msgid "reserved blocks"
 msgstr "保留块"
 
-#: resize/resize2fs.c:1282
+#: resize/resize2fs.c:1377
 msgid "meta-data blocks"
 msgstr "元数据块"
 
-#: resize/resize2fs.c:1386 resize/resize2fs.c:2421
+#: resize/resize2fs.c:1481 resize/resize2fs.c:2525
 msgid "new meta blocks"
 msgstr "新的元数据块"
 
-#: resize/resize2fs.c:2644
+#: resize/resize2fs.c:2749
 msgid "Should never happen!  No sb in last super_sparse bg?\n"
-msgstr "不应当出现的情况:最后一个分散式超级块块组中没有超级块!\n"
+msgstr "不应当出现的情况!最后一个 super_sparse 块组中没有超级块?\n"
 
-#: resize/resize2fs.c:2649
+#: resize/resize2fs.c:2754
 msgid "Should never happen!  Unexpected old_desc in super_sparse bg?\n"
-msgstr "不应当出现的情况:分散式超级块块组中有未预期的old_desc!\n"
+msgstr "不应当出现的情况!super_sparse 块组中有未预期的 old_desc?\n"
 
-#: resize/resize2fs.c:2722
+#: resize/resize2fs.c:2827
 msgid "Should never happen: resize inode corrupt!\n"
-msgstr "不应出现的错误:改变inode大小时发现有数据损坏!\n"
+msgstr "不应当出现的情况:调整大小 inode 损坏!\n"
 
 #: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.3"
-msgstr "EXT2FS 库版本 1.45.3"
+msgid "EXT2FS Library version 1.46.5"
+msgstr "EXT2FS 库版本 1.46.5"
 
 #: lib/ext2fs/ext2_err.c:12
 msgid "Wrong magic number for ext2_filsys structure"
-msgstr "ext2_filsys结构体中的幻数有错"
+msgstr "ext2_filsys 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:13
 msgid "Wrong magic number for badblocks_list structure"
-msgstr "badblocks_list结构体中的幻数有错"
+msgstr "badblocks_list 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:14
 msgid "Wrong magic number for badblocks_iterate structure"
-msgstr "badblocks_iterate结构体中的幻数有错"
+msgstr "badblocks_iterate 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:15
 msgid "Wrong magic number for inode_scan structure"
-msgstr "inode_scan结构体中的幻数有错"
+msgstr "inode_scan 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:16
 msgid "Wrong magic number for io_channel structure"
-msgstr "io_channel结构体中的幻数有错"
+msgstr "io_channel 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:17
 msgid "Wrong magic number for unix io_channel structure"
-msgstr "unix io_channel结构体中的幻数有错"
+msgstr "unix io_channel 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:18
 msgid "Wrong magic number for io_manager structure"
-msgstr "io_manager结构体中的幻数有错"
+msgstr "io_manager 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:19
 msgid "Wrong magic number for block_bitmap structure"
-msgstr "block_bitmap结构体中的幻数有错"
+msgstr "block_bitmap 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:20
 msgid "Wrong magic number for inode_bitmap structure"
-msgstr "inode_bitmap结构体中的幻数有错"
+msgstr "inode_bitmap 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:21
 msgid "Wrong magic number for generic_bitmap structure"
-msgstr "generic_bitmap结构体中的幻数有错"
+msgstr "generic_bitmap 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:22
 msgid "Wrong magic number for test io_channel structure"
-msgstr "测试io_channel结构体中的幻数有错"
+msgstr "test io_channel 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:23
 msgid "Wrong magic number for directory block list structure"
@@ -7562,27 +7660,27 @@
 
 #: lib/ext2fs/ext2_err.c:24
 msgid "Wrong magic number for icount structure"
-msgstr "icount结构体中的幻数有错"
+msgstr "icount 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:25
 msgid "Wrong magic number for Powerquest io_channel structure"
-msgstr "Powerquest io_channel结构体中的幻数有错"
+msgstr "Powerquest io_channel 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:26
 msgid "Wrong magic number for ext2 file structure"
-msgstr "ext2文件结构体中的幻数有错"
+msgstr "ext2 文件结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:27
 msgid "Wrong magic number for Ext2 Image Header"
-msgstr "ext2镜像头中的幻数有错"
+msgstr "ext2 镜像头中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:28
 msgid "Wrong magic number for inode io_channel structure"
-msgstr "inode io_channel结构体中的幻数有错"
+msgstr "inode io_channel 结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:29
 msgid "Wrong magic number for ext4 extent handle"
-msgstr "ext4 extent句柄中的幻数有错"
+msgstr "ext4 extent 句柄中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:30
 msgid "Bad magic number in super-block"
@@ -7594,7 +7692,7 @@
 
 #: lib/ext2fs/ext2_err.c:32
 msgid "Attempt to write to filesystem opened read-only"
-msgstr "尝试写入到只读的文件系统"
+msgstr "尝试写入到以只读方式打开的文件系统"
 
 #: lib/ext2fs/ext2_err.c:33
 msgid "Can't read group descriptors"
@@ -7610,19 +7708,19 @@
 
 #: lib/ext2fs/ext2_err.c:36
 msgid "Corrupt group descriptor: bad block for inode bitmap"
-msgstr "组描述符损坏:inode位图中有坏块"
+msgstr "组描述符损坏:inode 位图中有坏块"
 
 #: lib/ext2fs/ext2_err.c:37
 msgid "Corrupt group descriptor: bad block for inode table"
-msgstr "组描述符损坏:inode表中有坏块"
+msgstr "组描述符损坏:inode 表中有坏块"
 
 #: lib/ext2fs/ext2_err.c:38
 msgid "Can't write an inode bitmap"
-msgstr "无法写入inode位图"
+msgstr "无法写入 inode 位图"
 
 #: lib/ext2fs/ext2_err.c:39
 msgid "Can't read an inode bitmap"
-msgstr "无法读取inode位图"
+msgstr "无法读取 inode 位图"
 
 #: lib/ext2fs/ext2_err.c:40
 msgid "Can't write a block bitmap"
@@ -7634,15 +7732,15 @@
 
 #: lib/ext2fs/ext2_err.c:42
 msgid "Can't write an inode table"
-msgstr "无法写入inode表"
+msgstr "无法写入 inode 表"
 
 #: lib/ext2fs/ext2_err.c:43
 msgid "Can't read an inode table"
-msgstr "无法读取inode表"
+msgstr "无法读取 inode 表"
 
 #: lib/ext2fs/ext2_err.c:44
 msgid "Can't read next inode"
-msgstr "无法读取下一个inode"
+msgstr "无法读取下一个 inode"
 
 #: lib/ext2fs/ext2_err.c:45
 msgid "Filesystem has unexpected block size"
@@ -7650,7 +7748,7 @@
 
 #: lib/ext2fs/ext2_err.c:46
 msgid "EXT2 directory corrupted"
-msgstr "EXT2目录损坏"
+msgstr "EXT2 目录损坏"
 
 #: lib/ext2fs/ext2_err.c:47
 msgid "Attempt to read block from filesystem resulted in short read"
@@ -7658,7 +7756,7 @@
 
 #: lib/ext2fs/ext2_err.c:48
 msgid "Attempt to write block to filesystem resulted in short write"
-msgstr "尝试x文件系统块的操作过早结束"
+msgstr "尝试写入文件系统块的操作过早结束"
 
 #: lib/ext2fs/ext2_err.c:49
 msgid "No free space in the directory"
@@ -7666,7 +7764,7 @@
 
 #: lib/ext2fs/ext2_err.c:50
 msgid "Inode bitmap not loaded"
-msgstr "未加载inode位图"
+msgstr "未加载 inode 位图"
 
 #: lib/ext2fs/ext2_err.c:51
 msgid "Block bitmap not loaded"
@@ -7674,7 +7772,7 @@
 
 #: lib/ext2fs/ext2_err.c:52
 msgid "Illegal inode number"
-msgstr "非法的inode数"
+msgstr "非法的 inode 数"
 
 #: lib/ext2fs/ext2_err.c:53
 msgid "Illegal block number"
@@ -7682,7 +7780,7 @@
 
 #: lib/ext2fs/ext2_err.c:54
 msgid "Internal error in ext2fs_expand_dir"
-msgstr "ext2fs_expand_dir中出现内部错误"
+msgstr "ext2fs_expand_dir 中出现内部错误"
 
 #: lib/ext2fs/ext2_err.c:55
 msgid "Not enough space to build proposed filesystem"
@@ -7690,47 +7788,47 @@
 
 #: lib/ext2fs/ext2_err.c:56
 msgid "Illegal block number passed to ext2fs_mark_block_bitmap"
-msgstr "传递给ext2fs_mark_block_bitmap的块数为非法值"
+msgstr "传递给 ext2fs_mark_block_bitmap 的块数为非法值"
 
 #: lib/ext2fs/ext2_err.c:57
 msgid "Illegal block number passed to ext2fs_unmark_block_bitmap"
-msgstr "传递给ext2fs_unmark_block_bitmap的块数为非法值"
+msgstr "传递给 ext2fs_unmark_block_bitmap 的块数为非法值"
 
 #: lib/ext2fs/ext2_err.c:58
 msgid "Illegal block number passed to ext2fs_test_block_bitmap"
-msgstr "传递给ext2fs_test_block_bitmap的块数为非法值"
+msgstr "传递给 ext2fs_test_block_bitmap 的块数为非法值"
 
 #: lib/ext2fs/ext2_err.c:59
 msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap"
-msgstr "传递给ext2fs_mark_inode_bitmap的块数为非法值"
+msgstr "传递给 ext2fs_mark_inode_bitmap 的块数为非法值"
 
 #: lib/ext2fs/ext2_err.c:60
 msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap"
-msgstr "传递给ext2fs_unmark_inode_bitmap的块数为非法值"
+msgstr "传递给 ext2fs_unmark_inode_bitmap 的块数为非法值"
 
 #: lib/ext2fs/ext2_err.c:61
 msgid "Illegal inode number passed to ext2fs_test_inode_bitmap"
-msgstr "传递给ext2fs_test_inode_bitmap的块数为非法值"
+msgstr "传递给 ext2fs_test_inode_bitmap 的块数为非法值"
 
 #: lib/ext2fs/ext2_err.c:62
 msgid "Attempt to fudge end of block bitmap past the real end"
-msgstr "尝试填充块位图尾部时超过了真实边界"
+msgstr "试图伪造块位图尾部,越过真实边界"
 
 #: lib/ext2fs/ext2_err.c:63
 msgid "Attempt to fudge end of inode bitmap past the real end"
-msgstr "尝试填充inode位图尾部时超过了真实边界"
+msgstr "试图伪造 inode 位图尾部,越过真实边界"
 
 #: lib/ext2fs/ext2_err.c:64
 msgid "Illegal indirect block found"
-msgstr "发现非法的链接块"
+msgstr "发现非法的间接块"
 
 #: lib/ext2fs/ext2_err.c:65
 msgid "Illegal doubly indirect block found"
-msgstr "发现了非法的二次链接块"
+msgstr "发现非法的二次间接块"
 
 #: lib/ext2fs/ext2_err.c:66
 msgid "Illegal triply indirect block found"
-msgstr "发现非法的三次链接块"
+msgstr "发现非法的三次间接块"
 
 #: lib/ext2fs/ext2_err.c:67
 msgid "Block bitmaps are not the same"
@@ -7738,7 +7836,7 @@
 
 #: lib/ext2fs/ext2_err.c:68
 msgid "Inode bitmaps are not the same"
-msgstr "inode位图不相同"
+msgstr "inode 位图不相同"
 
 #: lib/ext2fs/ext2_err.c:69
 msgid "Illegal or malformed device name"
@@ -7746,27 +7844,27 @@
 
 #: lib/ext2fs/ext2_err.c:70
 msgid "A block group is missing an inode table"
-msgstr "Inode表中缺少一个块组"
+msgstr "一个块组中缺少一个 inode 表"
 
 #: lib/ext2fs/ext2_err.c:71
 msgid "The ext2 superblock is corrupt"
-msgstr "ext2超级块损坏"
+msgstr "ext2 超级块损坏"
 
 #: lib/ext2fs/ext2_err.c:72
 msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap"
-msgstr "传递给ext2fs_mark_generic_bitmap的通用位数为为非法值"
+msgstr "传递给 ext2fs_mark_generic_bitmap 的通用位数为为非法值"
 
 #: lib/ext2fs/ext2_err.c:73
 msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap"
-msgstr "传递给ext2fs_unmark_generic_bitmap的通用位数为为非法值"
+msgstr "传递给 ext2fs_unmark_generic_bitmap 的通用位数为为非法值"
 
 #: lib/ext2fs/ext2_err.c:74
 msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap"
-msgstr "传递给ext2fs_test_generic_bitmap的通用位数为为非法值"
+msgstr "传递给 ext2fs_test_generic_bitmap 的通用位数为为非法值"
 
 #: lib/ext2fs/ext2_err.c:75
 msgid "Too many symbolic links encountered."
-msgstr "发现了过多的符号链接。"
+msgstr "遇到了过多的符号链接。"
 
 #: lib/ext2fs/ext2_err.c:76
 msgid "The callback function will not handle this case"
@@ -7774,7 +7872,7 @@
 
 #: lib/ext2fs/ext2_err.c:77
 msgid "The inode is from a bad block in the inode table"
-msgstr "该inode来自inode表中的一个坏块"
+msgstr "该 inode 来自 inode 表中的一个坏块"
 
 #: lib/ext2fs/ext2_err.c:78
 msgid "Filesystem has unsupported feature(s)"
@@ -7786,27 +7884,27 @@
 
 #: lib/ext2fs/ext2_err.c:80
 msgid "IO Channel failed to seek on read or write"
-msgstr "I/O通道定位读取/写入位置时失败"
+msgstr "I/O 通道定位读取/写入位置时失败"
 
 #: lib/ext2fs/ext2_err.c:81
 msgid "Memory allocation failed"
-msgstr "内存分配出错"
+msgstr "内存分配失败"
 
 #: lib/ext2fs/ext2_err.c:82
 msgid "Invalid argument passed to ext2 library"
-msgstr "传给了ext2库无效的参数"
+msgstr "传给了 ext2 库无效的参数"
 
 #: lib/ext2fs/ext2_err.c:83
 msgid "Could not allocate block in ext2 filesystem"
-msgstr "无法为ext2文件系统分配块"
+msgstr "无法为 ext2 文件系统分配块"
 
 #: lib/ext2fs/ext2_err.c:84
 msgid "Could not allocate inode in ext2 filesystem"
-msgstr "无法为ext2文件系统分配inode"
+msgstr "无法为 ext2 文件系统分配 inode"
 
 #: lib/ext2fs/ext2_err.c:85
 msgid "Ext2 inode is not a directory"
-msgstr "ext2 inode不为目录"
+msgstr "ext2 inode 不为目录"
 
 #: lib/ext2fs/ext2_err.c:86
 msgid "Too many references in table"
@@ -7814,7 +7912,7 @@
 
 #: lib/ext2fs/ext2_err.c:87
 msgid "File not found by ext2_lookup"
-msgstr "ext2_lookup未发现文件"
+msgstr "ext2_lookup 未发现文件"
 
 #: lib/ext2fs/ext2_err.c:88
 msgid "File open read-only"
@@ -7822,15 +7920,15 @@
 
 #: lib/ext2fs/ext2_err.c:89
 msgid "Ext2 directory block not found"
-msgstr "未找到ext2目录块"
+msgstr "未找到 ext2 目录块"
 
 #: lib/ext2fs/ext2_err.c:90
 msgid "Ext2 directory already exists"
-msgstr "ext2目录块已存在"
+msgstr "ext2 目录块已存在"
 
 #: lib/ext2fs/ext2_err.c:91
 msgid "Unimplemented ext2 library function"
-msgstr "未实现的ext2库函数"
+msgstr "未实现的 ext2 库函数"
 
 #: lib/ext2fs/ext2_err.c:92
 msgid "User cancel requested"
@@ -7838,7 +7936,7 @@
 
 #: lib/ext2fs/ext2_err.c:93
 msgid "Ext2 file too big"
-msgstr "ext2文件太大"
+msgstr "ext2 文件太大"
 
 #: lib/ext2fs/ext2_err.c:94
 msgid "Supplied journal device not a block device"
@@ -7850,7 +7948,7 @@
 
 #: lib/ext2fs/ext2_err.c:96
 msgid "Journal must be at least 1024 blocks"
-msgstr "日志大小至少为1024个块"
+msgstr "日志大小应至少为 1024 个块"
 
 #: lib/ext2fs/ext2_err.c:97
 msgid "Unsupported journal version"
@@ -7858,7 +7956,7 @@
 
 #: lib/ext2fs/ext2_err.c:98
 msgid "Error loading external journal"
-msgstr "尝试打开外部日志时"
+msgstr "打开外部日志时出错"
 
 #: lib/ext2fs/ext2_err.c:99
 msgid "Journal not found"
@@ -7866,7 +7964,7 @@
 
 #: lib/ext2fs/ext2_err.c:100
 msgid "Directory hash unsupported"
-msgstr "不支持目录hash"
+msgstr "不支持目录 hash"
 
 #: lib/ext2fs/ext2_err.c:101
 msgid "Illegal extended attribute block number"
@@ -7874,67 +7972,67 @@
 
 #: lib/ext2fs/ext2_err.c:102
 msgid "Cannot create filesystem with requested number of inodes"
-msgstr "无法创建含有指定inode数的文件系统"
+msgstr "无法创建含有指定 inode 数的文件系统"
 
 #: lib/ext2fs/ext2_err.c:103
 msgid "E2image snapshot not in use"
-msgstr "未使用e2image快照"
+msgstr "e2image 快照未在使用中"
 
 #: lib/ext2fs/ext2_err.c:104
 msgid "Too many reserved group descriptor blocks"
-msgstr "组描述符的保留块太多"
+msgstr "保留的组描述符块太多"
 
 #: lib/ext2fs/ext2_err.c:105
 msgid "Resize inode is corrupt"
-msgstr "改变inode大小时有数据损坏"
+msgstr "调整大小 inode 已损坏"
 
 #: lib/ext2fs/ext2_err.c:106
 msgid "Tried to set block bmap with missing indirect block"
-msgstr "尝试在块位图中设置丢失的链接块"
+msgstr "尝试在块位图中设置丢失的间接块"
 
 #: lib/ext2fs/ext2_err.c:107
 msgid "TDB: Success"
-msgstr "TDB:成功"
+msgstr "TDB: 成功"
 
 #: lib/ext2fs/ext2_err.c:108
 msgid "TDB: Corrupt database"
-msgstr "TDB:数据库损坏"
+msgstr "TDB: 数据库损坏"
 
 #: lib/ext2fs/ext2_err.c:109
 msgid "TDB: IO Error"
-msgstr "TDB:I/O错误"
+msgstr "TDB: I/O 错误"
 
 #: lib/ext2fs/ext2_err.c:110
 msgid "TDB: Locking error"
-msgstr "TDB:锁定错误"
+msgstr "TDB: 加锁错误"
 
 #: lib/ext2fs/ext2_err.c:111
 msgid "TDB: Out of memory"
-msgstr "TDB:内存耗尽"
+msgstr "TDB: 内存耗尽"
 
 #: lib/ext2fs/ext2_err.c:112
 msgid "TDB: Record exists"
-msgstr "TDB:记录已存在"
+msgstr "TDB: 记录已存在"
 
 #: lib/ext2fs/ext2_err.c:113
 msgid "TDB: Lock exists on other keys"
-msgstr "TDB:锁已存在于其他键"
+msgstr "TDB: 锁已存在于其他键"
 
 #: lib/ext2fs/ext2_err.c:114
 msgid "TDB: Invalid parameter"
-msgstr "TDB:无效的参数"
+msgstr "TDB: 无效的参数"
 
 #: lib/ext2fs/ext2_err.c:115
 msgid "TDB: Record does not exist"
-msgstr "TDB:记录不存在"
+msgstr "TDB: 记录不存在"
 
 #: lib/ext2fs/ext2_err.c:116
 msgid "TDB: Write not permitted"
-msgstr "TDB:不允许写入"
+msgstr "TDB: 不允许写入"
 
 #: lib/ext2fs/ext2_err.c:117
 msgid "Ext2fs directory block list is empty"
-msgstr "ext2文件系统目录块列表为空"
+msgstr "Ext2fs 目录块列表为空"
 
 #: lib/ext2fs/ext2_err.c:118
 msgid "Attempt to modify a block mapping via a read-only block iterator"
@@ -7942,19 +8040,19 @@
 
 #: lib/ext2fs/ext2_err.c:119
 msgid "Wrong magic number for ext4 extent saved path"
-msgstr "ext4 extent保存路径的幻数有错"
+msgstr "ext4 extent 保存路径的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:120
 msgid "Wrong magic number for 64-bit generic bitmap"
-msgstr "64位通用位图中的幻数有错"
+msgstr "64 位通用位图中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:121
 msgid "Wrong magic number for 64-bit block bitmap"
-msgstr "64位块通用位图中的幻数有错"
+msgstr "64 位块位图中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:122
 msgid "Wrong magic number for 64-bit inode bitmap"
-msgstr "64位inode通用位图中的幻数有错"
+msgstr "64 位 inode 位图中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:123
 msgid "Wrong magic number --- RESERVED_13"
@@ -7986,39 +8084,39 @@
 
 #: lib/ext2fs/ext2_err.c:130
 msgid "Corrupt extent header"
-msgstr "extent头损坏"
+msgstr "extent 头损坏"
 
 #: lib/ext2fs/ext2_err.c:131
 msgid "Corrupt extent index"
-msgstr "extent索引损坏"
+msgstr "extent 索引损坏"
 
 #: lib/ext2fs/ext2_err.c:132
 msgid "Corrupt extent"
-msgstr "extent损坏"
+msgstr "extent 损坏"
 
 #: lib/ext2fs/ext2_err.c:133
 msgid "No free space in extent map"
-msgstr "extent映射中没有可用空间"
+msgstr "extent 映射中没有可用空间"
 
 #: lib/ext2fs/ext2_err.c:134
 msgid "Inode does not use extents"
-msgstr "inode未使用extent"
+msgstr "inode 未使用 extent"
 
 #: lib/ext2fs/ext2_err.c:135
 msgid "No 'next' extent"
-msgstr "找不到“后一个”extent"
+msgstr "找不到 \"next\" extent"
 
 #: lib/ext2fs/ext2_err.c:136
 msgid "No 'previous' extent"
-msgstr "找不到“前一个”extent"
+msgstr "找不到 \"previous\" extent"
 
 #: lib/ext2fs/ext2_err.c:137
 msgid "No 'up' extent"
-msgstr "找不到“上一个”extent"
+msgstr "找不到 \"up\" extent"
 
 #: lib/ext2fs/ext2_err.c:138
 msgid "No 'down' extent"
-msgstr "找不到“下一个”extent"
+msgstr "找不到 \"down\" extent"
 
 #: lib/ext2fs/ext2_err.c:139
 msgid "No current node"
@@ -8026,11 +8124,11 @@
 
 #: lib/ext2fs/ext2_err.c:140
 msgid "Ext2fs operation not supported"
-msgstr "ext2文件系统操作不支持"
+msgstr "不支持的 ext2fs 操作"
 
 #: lib/ext2fs/ext2_err.c:141
 msgid "No room to insert extent in node"
-msgstr "没有足够空间用于插入extent到节点"
+msgstr "没有足够空间用于插入 extent 到节点"
 
 #: lib/ext2fs/ext2_err.c:142
 msgid "Splitting would result in empty node"
@@ -8038,23 +8136,23 @@
 
 #: lib/ext2fs/ext2_err.c:143
 msgid "Extent not found"
-msgstr "未找到extent"
+msgstr "未找到 extent"
 
 #: lib/ext2fs/ext2_err.c:144
 msgid "Operation not supported for inodes containing extents"
-msgstr "含有extent的inode不支持此操作"
+msgstr "含有 extent 的 inode 不支持此操作"
 
 #: lib/ext2fs/ext2_err.c:145
 msgid "Extent length is invalid"
-msgstr "extent长度无效"
+msgstr "extent 长度无效"
 
 #: lib/ext2fs/ext2_err.c:146
 msgid "I/O Channel does not support 64-bit block numbers"
-msgstr "I/O通道不支持64位表示的块数"
+msgstr "I/O 通道不支持 64 位表示的块数"
 
 #: lib/ext2fs/ext2_err.c:147
 msgid "Can't check if filesystem is mounted due to missing mtab file"
-msgstr "由于mtab文件缺失,无法检验文件系统是否已挂载"
+msgstr "由于 mtab 文件缺失,无法检查文件系统是否已挂载"
 
 #: lib/ext2fs/ext2_err.c:148
 msgid "Filesystem too large to use legacy bitmaps"
@@ -8062,31 +8160,31 @@
 
 #: lib/ext2fs/ext2_err.c:149
 msgid "MMP: invalid magic number"
-msgstr "MMP:无效的幻数"
+msgstr "MMP: 无效的幻数"
 
 #: lib/ext2fs/ext2_err.c:150
 msgid "MMP: device currently active"
-msgstr "MMP:设备当前为活动状态"
+msgstr "MMP: 设备当前为活动状态"
 
 #: lib/ext2fs/ext2_err.c:151
 msgid "MMP: e2fsck being run"
-msgstr "MMP:e2fsck 正在运行"
+msgstr "MMP: 试图运行 e2fsck"
 
 #: lib/ext2fs/ext2_err.c:152
 msgid "MMP: block number beyond filesystem range"
-msgstr "MMP:块编号超出文件系统边界"
+msgstr "MMP: 块编号超出文件系统边界"
 
 #: lib/ext2fs/ext2_err.c:153
 msgid "MMP: undergoing an unknown operation"
-msgstr "MMP:正在进行未知的操作"
+msgstr "MMP: 正在进行未知的操作"
 
 #: lib/ext2fs/ext2_err.c:154
 msgid "MMP: filesystem still in use"
-msgstr "MMP:文件系统正在被使用"
+msgstr "MMP: 文件系统仍在使用"
 
 #: lib/ext2fs/ext2_err.c:155
 msgid "MMP: open with O_DIRECT failed"
-msgstr "MMP:使用O_DIRECT标志打开失败"
+msgstr "MMP: 使用 O_DIRECT 标志打开失败"
 
 #: lib/ext2fs/ext2_err.c:156
 msgid "Block group descriptor size incorrect"
@@ -8094,47 +8192,47 @@
 
 #: lib/ext2fs/ext2_err.c:157
 msgid "Inode checksum does not match inode"
-msgstr "inode校验值与inode自身不符"
+msgstr "inode 校验和与 inode 不符"
 
 #: lib/ext2fs/ext2_err.c:158
 msgid "Inode bitmap checksum does not match bitmap"
-msgstr "inode位图校验值与位图自身不符"
+msgstr "inode 位图校验和与位图不符"
 
 #: lib/ext2fs/ext2_err.c:159
 msgid "Extent block checksum does not match extent block"
-msgstr "extent块校验值与extent块自身不符"
+msgstr "extent 块校验和与 extent 块不符"
 
 #: lib/ext2fs/ext2_err.c:160
 msgid "Directory block does not have space for checksum"
-msgstr "目录块中没有用于存储校验值的空间"
+msgstr "目录块中没有用于存储校验和的空间"
 
 #: lib/ext2fs/ext2_err.c:161
 msgid "Directory block checksum does not match directory block"
-msgstr "目录块校验值与目录块自身不符"
+msgstr "目录块校验和与目录块不符"
 
 #: lib/ext2fs/ext2_err.c:162
 msgid "Extended attribute block checksum does not match block"
-msgstr "扩展属性块校验值与属性块自身不符"
+msgstr "扩展属性块校验和与块不符"
 
 #: lib/ext2fs/ext2_err.c:163
 msgid "Superblock checksum does not match superblock"
-msgstr "i超级块校验值与超级块自身不符"
+msgstr "超级块校验和与超级块不符"
 
 #: lib/ext2fs/ext2_err.c:164
 msgid "Unknown checksum algorithm"
-msgstr "位置的校验值算法"
+msgstr "未知的校验和算法"
 
 #: lib/ext2fs/ext2_err.c:165
 msgid "MMP block checksum does not match"
-msgstr "MMP 块校验值不符"
+msgstr "MMP 块校验和不符"
 
 #: lib/ext2fs/ext2_err.c:166
 msgid "Ext2 file already exists"
-msgstr "Ext2 文件已存在"
+msgstr "ext2 文件已存在"
 
 #: lib/ext2fs/ext2_err.c:167
 msgid "Block bitmap checksum does not match bitmap"
-msgstr "块位图校验值与位图自身不符"
+msgstr "块位图校验和与位图不符"
 
 #: lib/ext2fs/ext2_err.c:168
 msgid "Cannot iterate data blocks of an inode containing inline data"
@@ -8150,7 +8248,7 @@
 
 #: lib/ext2fs/ext2_err.c:171
 msgid "Extended attribute has an incorrect hash"
-msgstr "扩展属性块的校验值错误"
+msgstr "扩展属性块的校验和错误"
 
 #: lib/ext2fs/ext2_err.c:172
 msgid "Extended attribute block has a bad header"
@@ -8162,15 +8260,15 @@
 
 #: lib/ext2fs/ext2_err.c:174
 msgid "Insufficient space to store extended attribute data"
-msgstr "用于存储扩增属性数据的空间不足"
+msgstr "用于存储扩展属性数据的空间不足"
 
 #: lib/ext2fs/ext2_err.c:175
 msgid "Filesystem is missing ext_attr or inline_data feature"
-msgstr "文件系统缺少 ext_attr 或 inline_data feature 特性"
+msgstr "文件系统缺少 ext_attr 或 inline_data 特性"
 
 #: lib/ext2fs/ext2_err.c:176
 msgid "Inode doesn't have inline data"
-msgstr "Inode 中不含内联数据"
+msgstr "inode 中不含内联数据"
 
 #: lib/ext2fs/ext2_err.c:177
 msgid "No block for an inode with inline data"
@@ -8182,15 +8280,15 @@
 
 #: lib/ext2fs/ext2_err.c:179
 msgid "Wrong magic number for extended attribute structure"
-msgstr "扩增属性结构体中的幻数有错"
+msgstr "扩展属性结构体中的幻数有错"
 
 #: lib/ext2fs/ext2_err.c:180
 msgid "Inode seems to contain garbage"
-msgstr "Inode 中含有无效数据"
+msgstr "inode 中含有无效数据"
 
 #: lib/ext2fs/ext2_err.c:181
 msgid "Extended attribute has an invalid value offset"
-msgstr "扩增属性中含有无效的偏移量"
+msgstr "扩展属性中含有无效的值偏移量"
 
 #: lib/ext2fs/ext2_err.c:182
 msgid "Journal flags inconsistent"
@@ -8202,7 +8300,7 @@
 
 #: lib/ext2fs/ext2_err.c:184
 msgid "Wrong undo file for this filesystem"
-msgstr "此文件系统的撤销文件有误"
+msgstr "撤销文件不能用于此文件系统"
 
 #: lib/ext2fs/ext2_err.c:185
 msgid "File system is corrupted"
@@ -8218,11 +8316,27 @@
 
 #: lib/ext2fs/ext2_err.c:188
 msgid "Inode is corrupted"
-msgstr "Inode 已损坏"
+msgstr "inode 已损坏"
 
 #: lib/ext2fs/ext2_err.c:189
 msgid "Inode containing extended attribute value is corrupted"
-msgstr ""
+msgstr "含有扩展属性值的 inode 已损坏"
+
+#: lib/ext2fs/ext2_err.c:190
+msgid "Group descriptors not loaded"
+msgstr "组描述符未加载"
+
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr "内部的 ext2_filsys 数据结构似乎已损坏"
+
+#: lib/ext2fs/ext2_err.c:192
+msgid "Found cyclic loop in extent tree"
+msgstr "extent 树中发现循环"
+
+#: lib/ext2fs/ext2_err.c:193
+msgid "Operation not supported on an external journal"
+msgstr "不支持对外部日志执行此操作"
 
 #: lib/support/prof_err.c:11
 msgid "Profile version 0.0"
@@ -8230,7 +8344,7 @@
 
 #: lib/support/prof_err.c:12
 msgid "Bad magic value in profile_node"
-msgstr "profile_node中的幻数有错"
+msgstr "profile_node 中的幻数有错"
 
 #: lib/support/prof_err.c:13
 msgid "Profile section not found"
@@ -8274,7 +8388,7 @@
 
 #: lib/support/prof_err.c:23
 msgid "Attempt to modify read-only profile"
-msgstr "企图修改该只读的配置"
+msgstr "企图修改只读的配置"
 
 #: lib/support/prof_err.c:24
 msgid "Profile section header not at top level"
@@ -8290,19 +8404,19 @@
 
 #: lib/support/prof_err.c:27
 msgid "Extra closing brace in profile"
-msgstr "配置中发现额外的右括号"
+msgstr "配置中发现额外的右花括号"
 
 #: lib/support/prof_err.c:28
 msgid "Missing open brace in profile"
-msgstr "配置中缺少左括号"
+msgstr "配置中缺少左花括号"
 
 #: lib/support/prof_err.c:29
 msgid "Bad magic value in profile_t"
-msgstr "profile_t中的幻数有错"
+msgstr "profile_t 中的幻数有错"
 
 #: lib/support/prof_err.c:30
 msgid "Bad magic value in profile_section_t"
-msgstr "profile_section_t中的幻数有错"
+msgstr "profile_section_t 中的幻数有错"
 
 #: lib/support/prof_err.c:31
 msgid "Iteration through all top level section not supported"
@@ -8326,7 +8440,7 @@
 
 #: lib/support/prof_err.c:36
 msgid "Bad magic value in profile_file_t"
-msgstr "profile_file_t中的幻数有错"
+msgstr "profile_file_t 中的幻数有错"
 
 #: lib/support/prof_err.c:37
 msgid "Couldn't open profile file"
@@ -8346,75 +8460,96 @@
 
 #: lib/support/prof_err.c:41
 msgid "Bad magic value in profile_file_data_t"
-msgstr "profile_file_data_t中的幻数有误"
+msgstr "profile_file_data_t 中的幻数有误"
 
-#: lib/support/plausible.c:118
+#: lib/support/plausible.c:119
 #, c-format
-msgid "\tlast mounted on %s on %s"
-msgstr "\t上一次挂载于 %s, 时间 %s"
+msgid "\tlast mounted on %.*s on %s"
+msgstr "\t上一次挂载于 %.*s,时间 %s"
 
-#: lib/support/plausible.c:121
+#: lib/support/plausible.c:122
 #, c-format
 msgid "\tlast mounted on %s"
 msgstr "\t上一次挂载于%s"
 
-#: lib/support/plausible.c:124
+#: lib/support/plausible.c:125
 #, c-format
 msgid "\tcreated on %s"
 msgstr "\t创建于 %s"
 
-#: lib/support/plausible.c:127
+#: lib/support/plausible.c:128
 #, c-format
 msgid "\tlast modified on %s"
 msgstr "\t上一次修改于 %s"
 
-#: lib/support/plausible.c:161
+#: lib/support/plausible.c:162
 #, c-format
 msgid "Found a %s partition table in %s\n"
-msgstr "在 %s 中发现一个 %s 分区表\n"
+msgstr "在 %2$s 中发现一个 %1$s 分区表\n"
 
-#: lib/support/plausible.c:191
-#, c-format
-msgid "The file %s does not exist and no size was specified.\n"
-msgstr "文件 %s 不存在,也没有指定大小。\n"
-
-#: lib/support/plausible.c:199
-#, c-format
-msgid "Creating regular file %s\n"
-msgstr "创建一般文件 %s\n"
-
-#: lib/support/plausible.c:202
+#: lib/support/plausible.c:203
 #, c-format
 msgid "Could not open %s: %s\n"
 msgstr "无法打开 %s:%s\n"
 
-#: lib/support/plausible.c:205
+#: lib/support/plausible.c:206
 msgid ""
 "\n"
 "The device apparently does not exist; did you specify it correctly?\n"
 msgstr ""
 "\n"
-"设备不存在。请确认所给设备名是否正确。\n"
+"设备似乎不存在。指定的设备名是否正确?\n"
 
-#: lib/support/plausible.c:227
+#: lib/support/plausible.c:228
 #, c-format
 msgid "%s is not a block special device.\n"
-msgstr "错误:%s 不是块设备。\n"
+msgstr "%s 不是块设备。\n"
 
-#: lib/support/plausible.c:249
+#: lib/support/plausible.c:250
 #, c-format
 msgid "%s contains a %s file system labelled '%s'\n"
-msgstr "%1$s 有一个标签为“%3$s”的 %2$s 文件系统\n"
+msgstr "%1$s 有一个标签为 \"%3$s\" 的 %2$s 文件系统\n"
 
-#: lib/support/plausible.c:252
+#: lib/support/plausible.c:253
 #, c-format
 msgid "%s contains a %s file system\n"
-msgstr " %s 有一个 %s 文件系统\n"
+msgstr "%s 有一个 %s 文件系统\n"
 
-#: lib/support/plausible.c:276
+#: lib/support/plausible.c:277
 #, c-format
 msgid "%s contains `%s' data\n"
-msgstr "%s 含有“%s”数据\n"
+msgstr "%s 含有 \"%s\" 数据\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Warning: the bigalloc feature is still under development\n"
+#~ "See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "警告:bigalloc 特性仍然在开发中\n"
+#~ "更多详情请参见 https://ext4.wiki.kernel.org/index.php/Bigalloc\n"
+#~ "\n"
+
+#~ msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
+#~ msgstr "用法:%s [-F] [-I inode缓冲块] 设备\n"
+
+#~ msgid "while trying to open '%s'"
+#~ msgstr "尝试打开 “%s” 时"
+
+#~ msgid "%u inodes scanned.\n"
+#~ msgstr "已扫描 %u 个inode。\n"
+
+#, fuzzy
+#~| msgid ""
+#~| "The resize_inode and meta_bg features are not compatible.\n"
+#~| "They can not be both enabled simultaneously.\n"
+#~ msgid ""
+#~ "The encrypt and casefold features are not compatible.\n"
+#~ "They can not be both enabled simultaneously.\n"
+#~ msgstr ""
+#~ "resize_inode 和 meta_bg 特性不兼容。\n"
+#~ "无法同时启用它们。\n"
 
 #~ msgid "i_dir_acl @F %Id, @s zero.\n"
 #~ msgstr "@i %i (%Q)的i_dir_acl为 %ld,@s0。\n"
diff --git a/resize/extent.c b/resize/extent.c
index 4177c6f..82f69ca 100644
--- a/resize/extent.c
+++ b/resize/extent.c
@@ -50,14 +50,12 @@
 	extent->num = 0;
 	extent->sorted = 1;
 
-	retval = ext2fs_get_array(sizeof(struct ext2_extent_entry),
+	retval = ext2fs_get_arrayzero(sizeof(struct ext2_extent_entry),
 				extent->size, &extent->list);
 	if (retval) {
 		ext2fs_free_mem(&extent);
 		return retval;
 	}
-	memset(extent->list, 0,
-	       sizeof(struct ext2_extent_entry) * extent->size);
 	*ret_extent = extent;
 	return 0;
 }
diff --git a/resize/main.c b/resize/main.c
index ccfd289..94f5ec6 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -49,7 +49,7 @@
 	fprintf (stderr, _("Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] "
 			   "[-p] device [-b|-s|new_size] [-S RAID-stride] "
 			   "[-z undo_file]\n\n"),
-		 prog);
+		 prog ? prog : "resize2fs");
 
 	exit (1);
 }
@@ -111,8 +111,8 @@
 	unsigned int	group;
 	unsigned long long sum;
 	unsigned int	has_sb, prev_has_sb = 0, num;
+	unsigned int	flexbg_size = 1U << fs->super->s_log_groups_per_flex;
 	int		i_stride, b_stride;
-	int		flexbg_size = 1 << fs->super->s_log_groups_per_flex;
 
 	if (fs->stride)
 		return;
@@ -256,6 +256,7 @@
 	int		force_min_size = 0;
 	int		print_min_size = 0;
 	int		fd, ret;
+	int		open_flags = O_RDWR;
 	blk64_t		new_size = 0;
 	blk64_t		max_size = 0;
 	blk64_t		min_size = 0;
@@ -286,6 +287,8 @@
 		 E2FSPROGS_VERSION, E2FSPROGS_DATE);
 	if (argc && *argv)
 		program_name = *argv;
+	else
+		usage(NULL);
 
 	while ((c = getopt(argc, argv, "d:fFhMPpS:bsz:")) != EOF) {
 		switch (c) {
@@ -363,7 +366,10 @@
 		len = 2 * len;
 	}
 
-	fd = ext2fs_open_file(device_name, O_RDWR, 0);
+	if (print_min_size)
+		open_flags = O_RDONLY;
+
+	fd = ext2fs_open_file(device_name, open_flags, 0);
 	if (fd < 0) {
 		com_err("open", errno, _("while opening %s"),
 			device_name);
@@ -401,7 +407,7 @@
 #endif
 		io_ptr = unix_io_manager;
 
-	if (!(mount_flags & EXT2_MF_MOUNTED))
+	if (!(mount_flags & EXT2_MF_MOUNTED) && !print_min_size)
 		io_flags = EXT2_FLAG_RW | EXT2_FLAG_EXCLUSIVE;
 
 	io_flags |= EXT2_FLAG_64BITS | EXT2_FLAG_THREADS;
@@ -448,11 +454,15 @@
 		    (fs->super->s_free_inodes_count > fs->super->s_inodes_count))
 			checkit = 1;
 
+		if ((fs->super->s_last_orphan != 0) ||
+		    ext2fs_has_feature_journal_needs_recovery(fs->super))
+			checkit = 1;
+
 		if (checkit) {
 			fprintf(stderr,
 				_("Please run 'e2fsck -f %s' first.\n\n"),
 				device_name);
-			exit(1);
+			goto errout;
 		}
 	}
 
@@ -463,7 +473,7 @@
 	if (fs->super->s_feature_compat & ~EXT2_LIB_FEATURE_COMPAT_SUPP) {
 		com_err(program_name, EXT2_ET_UNSUPP_FEATURE,
 			"(%s)", device_name);
-		exit(1);
+		goto errout;
 	}
 
 	min_size = calculate_minimum_resize_size(fs, flags);
@@ -471,6 +481,9 @@
 	if (print_min_size) {
 		printf(_("Estimated minimum size of the filesystem: %llu\n"),
 		       (unsigned long long) min_size);
+	success_exit:
+		(void) ext2fs_close_free(&fs);
+		remove_error_table(&et_ext2_error_table);
 		exit(0);
 	}
 
@@ -497,7 +510,7 @@
 	if (retval) {
 		com_err(program_name, retval, "%s",
 			_("while trying to determine filesystem size"));
-		exit(1);
+		goto errout;
 	}
 	if (force_min_size)
 		new_size = min_size;
@@ -507,7 +520,7 @@
 		if (new_size == 0) {
 			com_err(program_name, 0,
 				_("Invalid new size: %s\n"), new_size_str);
-			exit(1);
+			goto errout;
 		}
 	} else {
 		new_size = max_size;
@@ -527,9 +540,15 @@
 			com_err(program_name, 0, "%s",
 				_("New size too large to be "
 				  "expressed in 32 bits\n"));
-			exit(1);
+			goto errout;
 		}
 	}
+
+	/* If using cluster allocations, trim down to a cluster boundary */
+	if (ext2fs_has_feature_bigalloc(fs->super)) {
+		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));
@@ -540,20 +559,20 @@
 		com_err(program_name, 0,
 			_("New size results in too many block group "
 			  "descriptors.\n"));
-		exit(1);
+		goto errout;
 	}
 
 	if (!force && new_size < min_size) {
 		com_err(program_name, 0,
 			_("New size smaller than minimum (%llu)\n"),
 			(unsigned long long) min_size);
-		exit(1);
+		goto errout;
 	}
 	if (use_stride >= 0) {
 		if (use_stride >= (int) fs->super->s_blocks_per_group) {
 			com_err(program_name, 0, "%s",
 				_("Invalid stride length"));
-			exit(1);
+			goto errout;
 		}
 		fs->stride = fs->super->s_raid_stride = use_stride;
 		ext2fs_mark_super_dirty(fs);
@@ -580,52 +599,56 @@
 			" is only %llu (%dk) blocks.\nYou requested a new size"
 			" of %llu blocks.\n\n"), (unsigned long long) max_size,
 			blocksize / 1024, (unsigned long long) new_size);
-		exit(1);
+		goto errout;
 	}
 	if ((flags & RESIZE_DISABLE_64BIT) && (flags & RESIZE_ENABLE_64BIT)) {
 		fprintf(stderr, _("Cannot set and unset 64bit feature.\n"));
-		exit(1);
+		goto errout;
 	} else if (flags & (RESIZE_DISABLE_64BIT | RESIZE_ENABLE_64BIT)) {
 		if (new_size >= (1ULL << 32)) {
 			fprintf(stderr, _("Cannot change the 64bit feature "
 				"on a filesystem that is larger than "
 				"2^32 blocks.\n"));
-			exit(1);
+			goto errout;
 		}
 		if (mount_flags & EXT2_MF_MOUNTED) {
 			fprintf(stderr, _("Cannot change the 64bit feature "
 				"while the filesystem is mounted.\n"));
-			exit(1);
+			goto errout;
 		}
 		if (flags & RESIZE_ENABLE_64BIT &&
 		    !ext2fs_has_feature_extents(fs->super)) {
 			fprintf(stderr, _("Please enable the extents feature "
 				"with tune2fs before enabling the 64bit "
 				"feature.\n"));
-			exit(1);
+			goto errout;
 		}
-	} else if (new_size == ext2fs_blocks_count(fs->super)) {
-		fprintf(stderr, _("The filesystem is already %llu (%dk) "
-			"blocks long.  Nothing to do!\n\n"),
-			(unsigned long long) new_size,
-			blocksize / 1024);
-		exit(0);
+	} else {
+		adjust_new_size(fs, &new_size);
+		if (new_size == ext2fs_blocks_count(fs->super)) {
+			fprintf(stderr, _("The filesystem is already "
+					  "%llu (%dk) blocks long.  "
+					  "Nothing to do!\n\n"),
+				(unsigned long long) new_size,
+				blocksize / 1024);
+			goto success_exit;
+		}
 	}
 	if ((flags & RESIZE_ENABLE_64BIT) &&
 	    ext2fs_has_feature_64bit(fs->super)) {
 		fprintf(stderr, _("The filesystem is already 64-bit.\n"));
-		exit(0);
+		goto success_exit;
 	}
 	if ((flags & RESIZE_DISABLE_64BIT) &&
 	    !ext2fs_has_feature_64bit(fs->super)) {
 		fprintf(stderr, _("The filesystem is already 32-bit.\n"));
-		exit(0);
+		goto success_exit;
 	}
 	if (new_size < ext2fs_blocks_count(fs->super) &&
 	    ext2fs_has_feature_stable_inodes(fs->super)) {
 		fprintf(stderr, _("Cannot shrink this filesystem "
 			"because it has the stable_inodes feature flag.\n"));
-		exit(1);
+		goto errout;
 	}
 	if (mount_flags & EXT2_MF_MOUNTED) {
 		retval = online_resize_fs(fs, mtpt, &new_size, flags);
@@ -652,8 +675,7 @@
 			_("Please run 'e2fsck -fy %s' to fix the filesystem\n"
 			  "after the aborted resize operation.\n"),
 			device_name);
-		ext2fs_close_free(&fs);
-		exit(1);
+		goto errout;
 	}
 	printf(_("The filesystem on %s is now %llu (%dk) blocks long.\n\n"),
 	       device_name, (unsigned long long) new_size, blocksize / 1024);
@@ -676,5 +698,9 @@
 	if (fd > 0)
 		close(fd);
 	remove_error_table(&et_ext2_error_table);
-	return (0);
+	return 0;
+errout:
+	(void) ext2fs_close_free(&fs);
+	remove_error_table(&et_ext2_error_table);
+	return 1;
 }
diff --git a/resize/resize2fs.8.in b/resize/resize2fs.8.in
index ae36577..528b626 100644
--- a/resize/resize2fs.8.in
+++ b/resize/resize2fs.8.in
@@ -32,18 +32,18 @@
 program will resize ext2, ext3, or ext4 file systems.  It can be used to
 enlarge or shrink an unmounted file system located on
 .IR device .
-If the filesystem is mounted, it can be used to expand the size of the
-mounted filesystem, assuming the kernel and the file system supports
+If the file system is mounted, it can be used to expand the size of the
+mounted file system, assuming the kernel and the file system supports
 on-line resizing.  (Modern Linux 2.6 kernels will support on-line resize
 for file systems mounted using ext3 and ext4; ext3 file systems will
 require the use of file systems with the resize_inode feature enabled.)
 .PP
 The
 .I size
-parameter specifies the requested new size of the filesystem.
+parameter specifies the requested new size of the file system.
 If no units are specified, the units of the
 .I size
-parameter shall be the filesystem blocksize of the filesystem.
+parameter shall be the file system blocksize of the file system.
 Optionally, the
 .I size
 parameter may be suffixed by one of the following units
@@ -51,7 +51,7 @@
 for power-of-two kilobytes, megabytes, gigabytes, terabytes or 512 byte
 sectors respectively. The
 .I size
-of the filesystem may never be larger than the size of the partition.
+of the file system may never be larger than the size of the partition.
 If
 .I size
 parameter is not specified, it will default to the size of the partition.
@@ -59,7 +59,7 @@
 The
 .B resize2fs
 program does not manipulate the size of partitions.  If you wish to enlarge
-a filesystem, you must make sure you can expand the size of the
+a file system, you must make sure you can expand the size of the
 underlying partition first.  This can be done using
 .BR fdisk (8)
 by deleting the partition and recreating it with a larger size or using
@@ -69,19 +69,19 @@
 When
 recreating the partition, make sure you create it with the same starting
 disk cylinder as before!  Otherwise, the resize operation will
-certainly not work, and you may lose your entire filesystem.
+certainly not work, and you may lose your entire file system.
 After running
 .BR fdisk (8),
-run resize2fs to resize the ext2 filesystem
+run resize2fs to resize the ext2 file system
 to use all of the space in the newly enlarged partition.
 .PP
 If you wish to shrink an ext2 partition, first use
 .B resize2fs
-to shrink the size of filesystem.  Then you may use
+to shrink the size of file system.  Then you may use
 .BR fdisk (8)
 to shrink the size of the partition.  When shrinking the size of
 the partition, make sure you do not make it smaller than the new size
-of the ext2 filesystem!
+of the ext2 file system!
 .PP
 The
 .B \-b
@@ -90,7 +90,7 @@
 options enable and disable the 64bit feature, respectively.  The resize2fs
 program will, of course, take care of resizing the block group descriptors
 and moving other data blocks out of the way, as needed.  It is not possible
-to resize the filesystem concurrent with changing the 64bit status.
+to resize the file system concurrent with changing the 64bit status.
 .SH OPTIONS
 .TP
 .B \-b
@@ -112,14 +112,14 @@
 .br
 	16	\-\ Print timing information
 .br
-	32	\-\ Debug minimum filesystem size (\-M) calculation
+	32	\-\ Debug minimum file system size (\-M) calculation
 .TP
 .B \-f
-Forces resize2fs to proceed with the filesystem resize operation, overriding
+Forces resize2fs to proceed with the file system resize operation, overriding
 some safety checks which resize2fs normally enforces.
 .TP
 .B \-F
-Flush the filesystem device's buffer caches before beginning.  Only
+Flush the file system device's buffer caches before beginning.  Only
 really useful for doing
 .B resize2fs
 time trials.
@@ -129,10 +129,11 @@
 given the files stored in the file system.
 .TP
 .B \-p
-Prints out a percentage completion bars for each
+Print out percentage completion bars for each
 .B resize2fs
-operation during an offline resize, so that the user can keep track
-of what the program is doing.
+phase during an offline (non-trivial) resize operation, so that the user
+can keep track of what the program is doing.  (For very fast resize
+operations, no progress bars may be displayed.)
 .TP
 .B \-P
 Print an estimate of the number of file system blocks in the file system
@@ -148,7 +149,7 @@
 The
 .B resize2fs
 program will heuristically determine the RAID stride that was specified
-when the filesystem was created.  This option allows the user to
+when the file system was created.  This option allows the user to
 explicitly specify a RAID stride setting to be used by resize2fs instead.
 .TP
 .BI \-z " undo_file"
@@ -161,8 +162,8 @@
 
 WARNING: The undo file cannot be used to recover from a power or system crash.
 .SH KNOWN BUGS
-The minimum size of the filesystem as estimated by resize2fs may be
-incorrect, especially for filesystems with 1k and 2k blocksizes.
+The minimum size of the file system as estimated by resize2fs may be
+incorrect, especially for file systems with 1k and 2k blocksizes.
 .SH AUTHOR
 .B resize2fs
 was written by Theodore Ts'o <tytso@mit.edu>.
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index a0d08e5..5eeb7d4 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -757,6 +757,15 @@
 	 */
 	new_inodes =(unsigned long long) fs->super->s_inodes_per_group * fs->group_desc_count;
 	if (new_inodes > ~0U) {
+		new_inodes = (unsigned long long) fs->super->s_inodes_per_group * (fs->group_desc_count - 1);
+		if (new_inodes <= ~0U) {
+			unsigned long long new_blocks =
+		((unsigned long long) fs->super->s_blocks_per_group *
+		 (fs->group_desc_count - 1)) + fs->super->s_first_data_block;
+
+			ext2fs_blocks_count_set(fs->super, new_blocks);
+			goto retry;
+		}
 		fprintf(stderr, _("inodes (%llu) must be less than %u\n"),
 			(unsigned long long) new_inodes, ~0U);
 		return EXT2_ET_TOO_MANY_INODES;
@@ -1020,6 +1029,85 @@
 }
 
 /*
+ * Replicate the first part of adjust_fs_info to determine what the
+ * new size of the file system should be.  This allows resize2fs to
+ * exit early if we aren't going to make any changes to the file
+ * system.
+ */
+void adjust_new_size(ext2_filsys fs, blk64_t *sizep)
+{
+	blk64_t		size, rem, overhead = 0;
+	unsigned long	desc_blocks;
+	dgrp_t		group_desc_count;
+	int		has_bg;
+	unsigned long long new_inodes;	/* u64 to check for overflow */
+
+	size = *sizep;
+retry:
+	group_desc_count = ext2fs_div64_ceil(size -
+					     fs->super->s_first_data_block,
+					     EXT2_BLOCKS_PER_GROUP(fs->super));
+	if (group_desc_count == 0)
+		return;
+	desc_blocks = ext2fs_div_ceil(group_desc_count,
+				      EXT2_DESC_PER_BLOCK(fs->super));
+
+	/*
+	 * Overhead is the number of bookkeeping blocks per group.  It
+	 * includes the superblock backup, the group descriptor
+	 * backups, the inode bitmap, the block bitmap, and the inode
+	 * table.
+	 */
+	overhead = (int) (2 + fs->inode_blocks_per_group);
+
+	has_bg = 0;
+	if (ext2fs_has_feature_sparse_super2(fs->super)) {
+		/*
+		 * We have to do this manually since
+		 * super->s_backup_bgs hasn't been set up yet.
+		 */
+		if (group_desc_count == 2)
+			has_bg = fs->super->s_backup_bgs[0] != 0;
+		else
+			has_bg = fs->super->s_backup_bgs[1] != 0;
+	} else
+		has_bg = ext2fs_bg_has_super(fs, group_desc_count - 1);
+	if (has_bg)
+		overhead += 1 + desc_blocks +
+			fs->super->s_reserved_gdt_blocks;
+
+	/*
+	 * See if the last group is big enough to support the
+	 * necessary data structures.  If not, we need to get rid of
+	 * it.
+	 */
+	rem = (size - fs->super->s_first_data_block) %
+		fs->super->s_blocks_per_group;
+	if ((group_desc_count == 1) && rem && (rem < overhead))
+		return;
+	if ((group_desc_count > 1) && rem && (rem < overhead+50)) {
+		size -= rem;
+		goto retry;
+	}
+
+	/*
+	 * If we need to reduce the size by no more than a block
+	 * group to avoid overrunning the max inode limit, do it.
+	 */
+	new_inodes =(unsigned long long) fs->super->s_inodes_per_group * group_desc_count;
+	if (new_inodes > ~0U) {
+		new_inodes = (unsigned long long) fs->super->s_inodes_per_group * (group_desc_count - 1);
+		if (new_inodes > ~0U)
+			return;
+		size = ((unsigned long long) fs->super->s_blocks_per_group *
+			(group_desc_count - 1)) + fs->super->s_first_data_block;
+
+		goto retry;
+	}
+	*sizep = size;
+}
+
+/*
  * This routine adjusts the superblock and other data structures, both
  * in disk as well as in memory...
  */
@@ -1028,7 +1116,6 @@
 	ext2_filsys	fs = rfs->new_fs;
 	int		adj = 0;
 	errcode_t	retval;
-	blk64_t		group_block;
 	unsigned long	i;
 	unsigned long	max_group;
 
@@ -1093,8 +1180,6 @@
 		goto errout;
 
 	memset(rfs->itable_buf, 0, fs->blocksize * fs->inode_blocks_per_group);
-	group_block = ext2fs_group_first_block2(fs,
-						rfs->old_fs->group_desc_count);
 	adj = rfs->old_fs->group_desc_count;
 	max_group = fs->group_desc_count - adj;
 	if (rfs->progress) {
@@ -1121,7 +1206,6 @@
 			if (retval)
 				goto errout;
 		}
-		group_block += fs->super->s_blocks_per_group;
 	}
 	io_channel_flush(fs->io);
 	retval = 0;
@@ -1177,6 +1261,11 @@
 		if (blk)
 			ext2fs_mark_block_bitmap2(bmap, blk);
 	}
+	/* Reserve the MMP block */
+	if (ext2fs_has_feature_mmp(fs->super) &&
+	    fs->super->s_mmp_block > fs->super->s_first_data_block &&
+	    fs->super->s_mmp_block < ext2fs_blocks_count(fs->super))
+		ext2fs_mark_block_bitmap2(bmap, fs->super->s_mmp_block);
 	return 0;
 }
 
@@ -1688,11 +1777,11 @@
 					fs->inode_blocks_per_group,
 					&rfs->itable_buf);
 		if (retval)
-			return retval;
+			goto errout;
 	}
 	retval = ext2fs_create_extent_table(&rfs->bmap, 0);
 	if (retval)
-		return retval;
+		goto errout;
 
 	/*
 	 * The first step is to figure out where all of the blocks
@@ -2173,7 +2262,8 @@
 		if (inode->i_flags & EXT4_EA_INODE_FL)
 			update_ea_inode_refs = 1;
 		else
-			inode->i_ctime = time(0);
+			inode->i_ctime = rfs->old_fs->now ?
+				rfs->old_fs->now : time(0);
 
 		retval = ext2fs_write_inode_full(rfs->old_fs, new_inode,
 						inode, inode_size);
@@ -2326,7 +2416,8 @@
 	/* Update the directory mtime and ctime */
 	retval = ext2fs_read_inode(is->rfs->old_fs, dir, &inode);
 	if (retval == 0) {
-		inode.i_mtime = inode.i_ctime = time(0);
+		inode.i_mtime = inode.i_ctime = is->rfs->old_fs->now ?
+			is->rfs->old_fs->now : time(0);
 		is->err = ext2fs_write_inode(is->rfs->old_fs, dir, &inode);
 		if (is->err)
 			return ret | DIRENT_ABORT;
@@ -2751,69 +2842,40 @@
  */
 static errcode_t resize2fs_calculate_summary_stats(ext2_filsys fs)
 {
-	blk64_t		blk;
+	errcode_t	retval;
+	blk64_t		blk = fs->super->s_first_data_block;
 	ext2_ino_t	ino;
-	unsigned int	group = 0;
-	unsigned int	count = 0;
-	blk64_t		total_blocks_free = 0;
+	unsigned int	n, group, count;
+	blk64_t		total_clusters_free = 0;
 	int		total_inodes_free = 0;
 	int		group_free = 0;
 	int		uninit = 0;
-	blk64_t		super_blk, old_desc_blk, new_desc_blk;
-	int		old_desc_blocks;
+	char		*bitmap_buf;
 
 	/*
 	 * First calculate the block statistics
 	 */
-	uninit = ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT);
-	ext2fs_super_and_bgd_loc2(fs, group, &super_blk, &old_desc_blk,
-				  &new_desc_blk, 0);
-	if (ext2fs_has_feature_meta_bg(fs->super))
-		old_desc_blocks = fs->super->s_first_meta_bg;
-	else
-		old_desc_blocks = fs->desc_blocks +
-			fs->super->s_reserved_gdt_blocks;
-	for (blk = B2C(fs->super->s_first_data_block);
-	     blk < ext2fs_blocks_count(fs->super);
-	     blk += EXT2FS_CLUSTER_RATIO(fs)) {
-		if ((uninit &&
-		     !(EQ_CLSTR(blk, super_blk) ||
-		       ((old_desc_blk && old_desc_blocks &&
-			 GE_CLSTR(blk, old_desc_blk) &&
-			 LT_CLSTR(blk, old_desc_blk + old_desc_blocks))) ||
-		       ((new_desc_blk && EQ_CLSTR(blk, new_desc_blk))) ||
-		       EQ_CLSTR(blk, ext2fs_block_bitmap_loc(fs, group)) ||
-		       EQ_CLSTR(blk, ext2fs_inode_bitmap_loc(fs, group)) ||
-		       ((GE_CLSTR(blk, ext2fs_inode_table_loc(fs, group)) &&
-			 LT_CLSTR(blk, ext2fs_inode_table_loc(fs, group)
-				  + fs->inode_blocks_per_group))))) ||
-		    (!ext2fs_fast_test_block_bitmap2(fs->block_map, blk))) {
-			group_free++;
-			total_blocks_free++;
+	bitmap_buf = malloc(fs->blocksize);
+	if (!bitmap_buf)
+		return ENOMEM;
+	for (group = 0; group < fs->group_desc_count;
+	     group++) {
+		retval = ext2fs_get_block_bitmap_range2(fs->block_map,
+			B2C(blk), fs->super->s_clusters_per_group, bitmap_buf);
+		if (retval) {
+			free(bitmap_buf);
+			return retval;
 		}
-		count++;
-		if ((count == fs->super->s_clusters_per_group) ||
-		    EQ_CLSTR(blk, ext2fs_blocks_count(fs->super)-1)) {
-			ext2fs_bg_free_blocks_count_set(fs, group, group_free);
-			ext2fs_group_desc_csum_set(fs, group);
-			group++;
-			if (group >= fs->group_desc_count)
-				break;
-			count = 0;
-			group_free = 0;
-			uninit = ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT);
-			ext2fs_super_and_bgd_loc2(fs, group, &super_blk,
-						  &old_desc_blk,
-						  &new_desc_blk, 0);
-			if (ext2fs_has_feature_meta_bg(fs->super))
-				old_desc_blocks = fs->super->s_first_meta_bg;
-			else
-				old_desc_blocks = fs->desc_blocks +
-					fs->super->s_reserved_gdt_blocks;
-		}
+		n = ext2fs_bitcount(bitmap_buf,
+				    fs->super->s_clusters_per_group / 8);
+		group_free = fs->super->s_clusters_per_group - n;
+		total_clusters_free += group_free;
+		ext2fs_bg_free_blocks_count_set(fs, group, group_free);
+		ext2fs_group_desc_csum_set(fs, group);
+		blk += fs->super->s_blocks_per_group;
 	}
-	total_blocks_free = C2B(total_blocks_free);
-	ext2fs_free_blocks_count_set(fs->super, total_blocks_free);
+	free(bitmap_buf);
+	ext2fs_free_blocks_count_set(fs->super, C2B(total_clusters_free));
 
 	/*
 	 * Next, calculate the inode statistics
@@ -2907,7 +2969,7 @@
 	blk64_t grp, data_needed, last_start;
 	blk64_t overhead = 0;
 	int old_desc_blocks;
-	int flexbg_size = 1 << fs->super->s_log_groups_per_flex;
+	unsigned flexbg_size = 1U << fs->super->s_log_groups_per_flex;
 
 	/*
 	 * first figure out how many group descriptors we need to
@@ -2938,8 +3000,17 @@
 	/* calculate how many blocks are needed for data */
 	data_needed = ext2fs_blocks_count(fs->super);
 	for (grp = 0; grp < fs->group_desc_count; grp++) {
-		data_needed -= calc_group_overhead(fs, grp, old_desc_blocks);
-		data_needed -= ext2fs_bg_free_blocks_count(fs, grp);
+		__u32 n = ext2fs_bg_free_blocks_count(fs, grp);
+
+		if (n > EXT2_BLOCKS_PER_GROUP(fs->super))
+			n = EXT2_BLOCKS_PER_GROUP(fs->super);
+		n += calc_group_overhead(fs, grp, old_desc_blocks);
+		if (data_needed < n) {
+			if (flags & RESIZE_DEBUG_MIN_CALC)
+				printf("file system appears inconsistent?!?\n");
+			return ext2fs_blocks_count(fs->super);
+		}
+		data_needed -= n;
 	}
 #ifdef RESIZE2FS_DEBUG
 	if (flags & RESIZE_DEBUG_MIN_CALC)
diff --git a/resize/resize2fs.h b/resize/resize2fs.h
index f9f58f2..96a878a 100644
--- a/resize/resize2fs.h
+++ b/resize/resize2fs.h
@@ -150,6 +150,7 @@
 				ext2fs_block_bitmap reserve_blocks,
 				blk64_t new_size);
 extern blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags);
+extern void adjust_new_size(ext2_filsys fs, blk64_t *sizep);
 
 
 /* extent.c */
diff --git a/resize/resource_track.c b/resize/resource_track.c
index f0efe11..f466706 100644
--- a/resize/resource_track.c
+++ b/resize/resource_track.c
@@ -63,8 +63,10 @@
 #ifdef HAVE_GETRUSAGE
 	struct rusage r;
 #endif
-#ifdef HAVE_MALLINFO
-	struct mallinfo	malloc_info;
+#ifdef HAVE_MALLINFO2
+	struct mallinfo2 malloc_info;
+#elif defined HAVE_MALLINFO
+	struct mallinfo malloc_info;
 #endif
 	struct timeval time_end;
 
@@ -76,8 +78,13 @@
 	if (track->desc)
 		printf("%s: ", track->desc);
 
-#ifdef HAVE_MALLINFO
 #define kbytes(x)	(((unsigned long)(x) + 1023) / 1024)
+#ifdef HAVE_MALLINFO2
+	malloc_info = mallinfo2();
+	printf("Memory used: %luk/%luk (%luk/%luk), ",
+		kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
+		kbytes(malloc_info.uordblks), kbytes(malloc_info.fordblks));
+#elif defined HAVE_MALLINFO
 
 	malloc_info = mallinfo();
 	printf("Memory used: %luk/%luk (%luk/%luk), ",
diff --git a/scrub/e2scrub.8.in b/scrub/e2scrub.8.in
index 8ff1dfe..3d27751 100644
--- a/scrub/e2scrub.8.in
+++ b/scrub/e2scrub.8.in
@@ -1,13 +1,13 @@
 .TH E2SCRUB 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-e2scrub - check the contents of a mounted ext[234] filesystem
-.SH SYNOPSYS
+e2scrub - check the contents of a mounted ext[234] file system
+.SH SYNOPSIS
 .B
 e2scrub [OPTION] MOUNTPOINT | DEVICE
 .SH DESCRIPTION
 .B e2scrub
 attempts to check (but not repair) all metadata in a mounted ext[234]
-filesystem if the filesystem resides on an LVM logical volume.
+file system if the file system resides on an LVM logical volume.
 The block device of the LVM logical volume can also be passed in.
 
 This program snapshots the volume and runs a file system check on the snapshot
@@ -28,12 +28,12 @@
 .B fstrim
 can be called on the file system if it is mounted.
 If errors are found, the file system will be marked as having errors.
-The filesystem should be taken offline and
+The file system should be taken offline and
 .B e2fsck
 run as soon as possible, because
 .B e2scrub
 does not fix corruptions.
-If the filesystem is not repaired,
+If the file system is not repaired,
 .B e2fsck
 will be run before the next mount.
 .SH OPTIONS
@@ -54,7 +54,7 @@
 Run
 .B
 fstrim(1)
-on the mounted filesystem if no errors are found.
+on the mounted file system if no errors are found.
 .TP
 \fB-V\fR
 Print version information and exit.
diff --git a/scrub/e2scrub.in b/scrub/e2scrub.in
index 30ab7cb..7ed57f2 100644
--- a/scrub/e2scrub.in
+++ b/scrub/e2scrub.in
@@ -164,7 +164,7 @@
 eval "${lvm_vars}"
 if [ -z "${LVM2_VG_NAME}" ] || [ -z "${LVM2_LV_NAME}" ] ||
    echo "${LVM2_LV_ROLE}" | grep -q "snapshot"; then
-	echo "${arg}: Not connnected to an LVM logical volume."
+	echo "${arg}: Not connected to an LVM logical volume."
 	print_help
 	exitcode 16
 fi
diff --git a/scrub/e2scrub_all.8.in b/scrub/e2scrub_all.8.in
index e2cd5e4..99bdc0d 100644
--- a/scrub/e2scrub_all.8.in
+++ b/scrub/e2scrub_all.8.in
@@ -1,7 +1,7 @@
 .TH E2SCRUB 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-e2scrub_all - check all mounted ext[234] filesystems for errors.
-.SH SYNOPSYS
+e2scrub_all - check all mounted ext[234] file systems for errors.
+.SH SYNOPSIS
 .B
 e2scrub_all [OPTION]
 .SH DESCRIPTION
@@ -10,11 +10,11 @@
 The checking is performed by invoking the
 .B e2scrub
 tool, which will look for corruptions.
-Corrupt filesystems will be tagged as having errors so that fsck will be
+Corrupt file systems will be tagged as having errors so that fsck will be
 invoked before the next mount.
 If no errors are encountered,
 .B fstrim
-will be called on the filesystem if it is mounted.
+will be called on the file system if it is mounted.
 See the
 .B e2scrub
 manual page for more information about how the checking is performed.
@@ -35,7 +35,7 @@
 Remove e2scrub snapshots but do not check anything.
 .TP
 \fB-A\fR
-Scrub all ext[234] filesystems even if they are not mounted.
+Scrub all ext[234] file systems even if they are not mounted.
 .TP
 \fB-V\fR
 Print version information and exit.
diff --git a/scrub/e2scrub_reap.service.in b/scrub/e2scrub_reap.service.in
index 10d25f0..58a4565 100644
--- a/scrub/e2scrub_reap.service.in
+++ b/scrub/e2scrub_reap.service.in
@@ -22,4 +22,4 @@
 RemainAfterExit=no
 
 [Install]
-WantedBy=default.target
+WantedBy=multi-user.target
diff --git a/tests/README b/tests/README
index d075db5..d9d2437 100644
--- a/tests/README
+++ b/tests/README
@@ -31,7 +31,7 @@
 test_script.log file manually.
 
 --------------------------------------------------------------
-Here's a one-line descriptons of the various test images in this
+Here's a one-line descriptions of the various test images in this
 directory:
 
 baddir.img		Filesystem with a corrupted directory
diff --git a/tests/d_bad_ostype/script b/tests/d_bad_ostype/script
index 992a303..fb4f68b 100644
--- a/tests/d_bad_ostype/script
+++ b/tests/d_bad_ostype/script
@@ -1,5 +1,5 @@
 dd if=/dev/zero of=$TMPFILE bs=1k count=64 > /dev/null 2>&1
-$MKE2FS -q -b 1024 $TMPFILE
+$MKE2FS -q -b 1024 -o hurd $TMPFILE
 $DEBUGFS -w -R 'set_super_value creator_os 0xf0000000' $TMPFILE
 
 OUT=$test_name.log
diff --git a/tests/d_corrupt_journal_nr_users/name b/tests/d_corrupt_journal_nr_users/name
index 8b33a27..24be3be 100644
--- a/tests/d_corrupt_journal_nr_users/name
+++ b/tests/d_corrupt_journal_nr_users/name
@@ -1 +1 @@
-Journal superblock corrupted, nr_users too high
+journal superblock corrupted, nr_users too high
diff --git a/tests/d_fallocate_bigalloc/expect.gz b/tests/d_fallocate_bigalloc/expect.gz
index 8640bc2..167c069 100644
--- a/tests/d_fallocate_bigalloc/expect.gz
+++ b/tests/d_fallocate_bigalloc/expect.gz
Binary files differ
diff --git a/tests/d_loaddump/expect b/tests/d_loaddump/expect
index f70df88..de90526 100644
--- a/tests/d_loaddump/expect
+++ b/tests/d_loaddump/expect
@@ -10,7 +10,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 12/64 files (0.0% non-contiguous), 158/512 blocks
+test_filesys: 12/64 files (0.0% non-contiguous), 166/512 blocks
 Exit status is 0
 debugfs -R ''dump test_data d_loaddump.ver.tmp'' test.img
 Exit status is 0
diff --git a/tests/d_punch_bigalloc/expect b/tests/d_punch_bigalloc/expect
index caeb3a6..be841e6 100644
--- a/tests/d_punch_bigalloc/expect
+++ b/tests/d_punch_bigalloc/expect
@@ -1,7 +1,3 @@
-
-Warning: the bigalloc feature is still under development
-See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information
-
 Creating filesystem with 65536 1k blocks and 4096 inodes
 
 Allocating group tables:    done                            
diff --git a/tests/d_special_files/expect b/tests/d_special_files/expect
index c825932..a4761f1 100644
--- a/tests/d_special_files/expect
+++ b/tests/d_special_files/expect
@@ -3,76 +3,82 @@
 Exit status is 0
 debugfs -R ''stat foo'' -w test.img
 Inode: 12   Type: symlink    Mode:  0777   Flags: 0x0
-Generation: 0    Version: 0x00000000
-User:     0   Group:     0   Size: 3
+Generation: 0    Version: 0x00000000:00000000
+User:     0   Group:     0   Project:     0   Size: 3
 File ACL: 0
 Links: 1   Blockcount: 0
 Fragment:  Address: 0    Number: 0    Size: 0
-ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+ ctime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ atime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ mtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+crtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+Size of extra inode fields: 32
 Fast link dest: "bar"
 Exit status is 0
 debugfs -R ''stat foo2'' -w test.img
 Inode: 13   Type: symlink    Mode:  0777   Flags: 0x0
-Generation: 0    Version: 0x00000000
-User:     0   Group:     0   Size: 80
+Generation: 0    Version: 0x00000000:00000000
+User:     0   Group:     0   Project:     0   Size: 80
 File ACL: 0
 Links: 1   Blockcount: 2
 Fragment:  Address: 0    Number: 0    Size: 0
-ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+ ctime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ atime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ mtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+crtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+Size of extra inode fields: 32
 BLOCKS:
-(0):28
+(0):36
 TOTAL: 1
 
 Exit status is 0
 debugfs -R ''block_dump 28'' -w test.img
-0000  3132 3334 3536 3738 3930 3132 3334 3536  1234567890123456
-0020  3738 3930 3132 3334 3536 3738 3930 3132  7890123456789012
-0040  3334 3536 3738 3930 3132 3334 3536 3738  3456789012345678
-0060  3930 3132 3334 3536 3738 3930 3132 3334  9012345678901234
-0100  3536 3738 3930 3132 3334 3536 3738 3930  5678901234567890
-0120  0000 0000 0000 0000 0000 0000 0000 0000  ................
+0000  0000 0000 0004 0000 0000 0000 0000 0000  ................
+0020  0000 0000 0000 0000 0000 0000 0000 0000  ................
 *
 
 Exit status is 0
 debugfs -R ''stat pipe'' -w test.img
 Inode: 14   Type: FIFO    Mode:  0000   Flags: 0x0
-Generation: 0    Version: 0x00000000
-User:     0   Group:     0   Size: 0
+Generation: 0    Version: 0x00000000:00000000
+User:     0   Group:     0   Project:     0   Size: 0
 File ACL: 0
 Links: 1   Blockcount: 0
 Fragment:  Address: 0    Number: 0    Size: 0
-ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+ ctime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ atime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ mtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+crtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+Size of extra inode fields: 32
 BLOCKS:
 
 Exit status is 0
 debugfs -R ''stat sda'' -w test.img
 Inode: 15   Type: block special    Mode:  0000   Flags: 0x0
-Generation: 0    Version: 0x00000000
-User:     0   Group:     0   Size: 0
+Generation: 0    Version: 0x00000000:00000000
+User:     0   Group:     0   Project:     0   Size: 0
 File ACL: 0
 Links: 1   Blockcount: 0
 Fragment:  Address: 0    Number: 0    Size: 0
-ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+ ctime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ atime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ mtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+crtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+Size of extra inode fields: 32
 Device major/minor number: 08:00 (hex 08:00)
 Exit status is 0
 debugfs -R ''stat null'' -w test.img
 Inode: 16   Type: character special    Mode:  0000   Flags: 0x0
-Generation: 0    Version: 0x00000000
-User:     0   Group:     0   Size: 0
+Generation: 0    Version: 0x00000000:00000000
+User:     0   Group:     0   Project:     0   Size: 0
 File ACL: 0
 Links: 1   Blockcount: 0
 Fragment:  Address: 0    Number: 0    Size: 0
-ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
-mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013
+ ctime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ atime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+ mtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+crtime: 0x50f560e0:00000000 -- Tue Jan 15 14:00:00 2013
+Size of extra inode fields: 32
 Device major/minor number: 01:03 (hex 01:03)
 Exit status is 0
 e2fsck -yf -N test_filesys
@@ -81,5 +87,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 16/64 files (0.0% non-contiguous), 29/512 blocks
+test_filesys: 16/64 files (0.0% non-contiguous), 37/512 blocks
 Exit status is 0
diff --git a/tests/d_xattr_edits/expect b/tests/d_xattr_edits/expect
index 38f3030..6a4d912 100644
--- a/tests/d_xattr_edits/expect
+++ b/tests/d_xattr_edits/expect
@@ -51,5 +51,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/64 files (0.0% non-contiguous), 29/512 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 37/512 blocks
 Exit status is 0
diff --git a/tests/d_xattr_sorting/expect b/tests/d_xattr_sorting/expect
index 3fd06fa..6711645 100644
--- a/tests/d_xattr_sorting/expect
+++ b/tests/d_xattr_sorting/expect
@@ -30,5 +30,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/64 files (0.0% non-contiguous), 29/512 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 37/512 blocks
 Exit status is 0
diff --git a/tests/f_bad_disconnected_inode/name b/tests/f_bad_disconnected_inode/name
index d09edf1..f2fa67b 100644
--- a/tests/f_bad_disconnected_inode/name
+++ b/tests/f_bad_disconnected_inode/name
@@ -1 +1 @@
-Disconnected inode with bad fields
+disconnected inode with bad fields
diff --git a/tests/f_bad_encryption/expect.1 b/tests/f_bad_encryption/expect.1
index d743e66..7027095 100644
--- a/tests/f_bad_encryption/expect.1
+++ b/tests/f_bad_encryption/expect.1
@@ -54,13 +54,13 @@
 Clear? yes
 
 Pass 3: Checking directory connectivity
-Unconnected directory inode 18 (/edir/???)
+Unconnected directory inode 18 (was in /edir)
 Connect to /lost+found? yes
 
-Unconnected directory inode 24 (/edir/???)
+Unconnected directory inode 24 (was in /edir)
 Connect to /lost+found? yes
 
-Unconnected directory inode 27 (/edir/???)
+Unconnected directory inode 27 (was in /edir)
 Connect to /lost+found? yes
 
 Pass 4: Checking reference counts
diff --git a/tests/f_bad_fname/name b/tests/f_bad_fname/name
index 675165a..29681cb 100644
--- a/tests/f_bad_fname/name
+++ b/tests/f_bad_fname/name
@@ -1 +1 @@
-Case-insensitive directory with broken file names
+case-insensitive directory with broken file names
diff --git a/tests/f_badcluster/name b/tests/f_badcluster/name
index 266f81c..06bad7c 100644
--- a/tests/f_badcluster/name
+++ b/tests/f_badcluster/name
@@ -1,2 +1 @@
 test alignment problems with bigalloc clusters
-
diff --git a/tests/f_baddotdir/expect.1 b/tests/f_baddotdir/expect.1
index e24aa94..a7ca4e4 100644
--- a/tests/f_baddotdir/expect.1
+++ b/tests/f_baddotdir/expect.1
@@ -29,6 +29,9 @@
 Missing '..' in directory inode 16.
 Fix? yes
 
+Directory entry for '.' in ... (19) is big.
+Split? yes
+
 Pass 3: Checking directory connectivity
 '..' in /a (12) is <The NULL inode> (0), should be / (2).
 Fix? yes
@@ -47,13 +50,13 @@
 
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-Free blocks count wrong for group #0 (70, counted=71).
+Free blocks count wrong for group #0 (69, counted=70).
 Fix? yes
 
-Free blocks count wrong (70, counted=71).
+Free blocks count wrong (69, counted=70).
 Fix? yes
 
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 18/32 files (0.0% non-contiguous), 29/100 blocks
+test_filesys: 19/32 files (0.0% non-contiguous), 30/100 blocks
 Exit status is 1
diff --git a/tests/f_baddotdir/expect.2 b/tests/f_baddotdir/expect.2
index 8b3523c..0838aa3 100644
--- a/tests/f_baddotdir/expect.2
+++ b/tests/f_baddotdir/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 18/32 files (0.0% non-contiguous), 29/100 blocks
+test_filesys: 19/32 files (0.0% non-contiguous), 30/100 blocks
 Exit status is 0
diff --git a/tests/f_baddotdir/image.gz b/tests/f_baddotdir/image.gz
index 8ed90c5..71df18f 100644
--- a/tests/f_baddotdir/image.gz
+++ b/tests/f_baddotdir/image.gz
Binary files differ
diff --git a/tests/f_badjour_encrypted/expect.1 b/tests/f_badjour_encrypted/expect.1
new file mode 100644
index 0000000..0b13b9e
--- /dev/null
+++ b/tests/f_badjour_encrypted/expect.1
@@ -0,0 +1,30 @@
+Superblock has an invalid journal (inode 8).
+Clear? yes
+
+*** journal has been deleted ***
+
+Pass 1: Checking inodes, blocks, and sizes
+Journal inode is not in use, but contains data.  Clear? yes
+
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+Block bitmap differences:  -(24--25) -(27--41) -(107--1113)
+Fix? yes
+
+Free blocks count wrong for group #0 (934, counted=1958).
+Fix? yes
+
+Free blocks count wrong (934, counted=1958).
+Fix? yes
+
+Recreate journal? yes
+
+Creating journal (1024 blocks):  Done.
+
+*** journal has been regenerated ***
+
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
+test_filesys: 11/256 files (0.0% non-contiguous), 1114/2048 blocks
+Exit status is 1
diff --git a/tests/f_badjour_encrypted/expect.2 b/tests/f_badjour_encrypted/expect.2
new file mode 100644
index 0000000..76934be
--- /dev/null
+++ b/tests/f_badjour_encrypted/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/256 files (9.1% non-contiguous), 1114/2048 blocks
+Exit status is 0
diff --git a/tests/f_badjour_encrypted/name b/tests/f_badjour_encrypted/name
new file mode 100644
index 0000000..e8f4c04
--- /dev/null
+++ b/tests/f_badjour_encrypted/name
@@ -0,0 +1 @@
+journal inode has encrypt flag
diff --git a/tests/f_badjour_encrypted/script b/tests/f_badjour_encrypted/script
new file mode 100644
index 0000000..e6778f1
--- /dev/null
+++ b/tests/f_badjour_encrypted/script
@@ -0,0 +1,11 @@
+if ! test -x $DEBUGFS_EXE; then
+	echo "$test_name: $test_description: skipped (no debugfs)"
+	return 0
+fi
+
+touch $TMPFILE
+$MKE2FS -t ext4 -b 1024 $TMPFILE 2M
+$DEBUGFS -w -R 'set_inode_field <8> flags 0x80800' $TMPFILE
+
+SKIP_GUNZIP="true"
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_badjourblks/name b/tests/f_badjourblks/name
index 103fa7f..fc9cef9 100644
--- a/tests/f_badjourblks/name
+++ b/tests/f_badjourblks/name
@@ -1 +1 @@
-Illegal blocks in journal inode (and backup in superblock)
+illegal blocks in journal inode (and backup in superblock)
diff --git a/tests/f_badroot/expect.1 b/tests/f_badroot/expect.1
index f9d01e5..ff92426 100644
--- a/tests/f_badroot/expect.1
+++ b/tests/f_badroot/expect.1
@@ -9,7 +9,7 @@
 Pass 3: Checking directory connectivity
 Root inode not allocated.  Allocate? yes
 
-Unconnected directory inode 11 (...)
+Unconnected directory inode 11 (was in /)
 Connect to /lost+found? yes
 
 /lost+found not found.  Create? yes
diff --git a/tests/f_bigalloc_badinode/expect.1 b/tests/f_bigalloc_badinode/expect.1
index 10ba096..615828a 100644
--- a/tests/f_bigalloc_badinode/expect.1
+++ b/tests/f_bigalloc_badinode/expect.1
@@ -8,5 +8,5 @@
 Pass 5: Checking group summary information
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 11/64 files (0.0% non-contiguous), 96/1024 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 112/1024 blocks
 Exit status is 1
diff --git a/tests/f_bigalloc_badinode/expect.2 b/tests/f_bigalloc_badinode/expect.2
index 30392d4..16d88fa 100644
--- a/tests/f_bigalloc_badinode/expect.2
+++ b/tests/f_bigalloc_badinode/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/64 files (0.0% non-contiguous), 96/1024 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 112/1024 blocks
 Exit status is 0
diff --git a/tests/f_bigalloc_badinode/script b/tests/f_bigalloc_badinode/script
index c1dd454..6ceb6ee 100644
--- a/tests/f_bigalloc_badinode/script
+++ b/tests/f_bigalloc_badinode/script
@@ -9,7 +9,7 @@
 dd if=$TEST_BITS of=$TEST_DATA bs=4k count=2 seek=1> /dev/null 2>&1
 
 touch $TMPFILE
-$MKE2FS -Fq -t ext4 -O bigalloc -C 16384 $TMPFILE 1M > /dev/null 2>&1
+$MKE2FS -Fq -t ext4 -o Linux -O bigalloc -C 16384 $TMPFILE 1M > /dev/null 2>&1
 $DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1
 write $TEST_DATA testfile
 set_inode_field testfile i_mode 0120000
diff --git a/tests/f_bigalloc_orphan_list/expect.1 b/tests/f_bigalloc_orphan_list/expect.1
index 622620d..9b83a2f 100644
--- a/tests/f_bigalloc_orphan_list/expect.1
+++ b/tests/f_bigalloc_orphan_list/expect.1
@@ -6,5 +6,5 @@
 Pass 5: Checking group summary information
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 11/64 files (0.0% non-contiguous), 96/1024 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 112/1024 blocks
 Exit status is 0
diff --git a/tests/f_bigalloc_orphan_list/expect.2 b/tests/f_bigalloc_orphan_list/expect.2
index 30392d4..16d88fa 100644
--- a/tests/f_bigalloc_orphan_list/expect.2
+++ b/tests/f_bigalloc_orphan_list/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/64 files (0.0% non-contiguous), 96/1024 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 112/1024 blocks
 Exit status is 0
diff --git a/tests/f_bigalloc_orphan_list/script b/tests/f_bigalloc_orphan_list/script
index b48d5c0..8a062dc 100644
--- a/tests/f_bigalloc_orphan_list/script
+++ b/tests/f_bigalloc_orphan_list/script
@@ -9,7 +9,7 @@
 dd if=$TEST_BITS of=$TEST_DATA bs=28k count=1 > /dev/null 2>&1
 
 touch $TMPFILE
-$MKE2FS -Fq -t ext4 -O bigalloc $TMPFILE 1M > /dev/null 2>&1
+$MKE2FS -Fq -t ext4 -o Linux -O bigalloc $TMPFILE 1M > /dev/null 2>&1
 $DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1
 write $TEST_DATA testfile
 set_inode_field testfile links_count 0
diff --git a/tests/f_crashdisk/name b/tests/f_crashdisk/name
index 5ba8a60..2b28207 100644
--- a/tests/f_crashdisk/name
+++ b/tests/f_crashdisk/name
@@ -1 +1 @@
-Superblock with illegal values
+superblock with illegal values
diff --git a/tests/f_desc_size_bad/expect.1 b/tests/f_desc_size_bad/expect.1
index 009ee04..84b852a 100644
--- a/tests/f_desc_size_bad/expect.1
+++ b/tests/f_desc_size_bad/expect.1
@@ -1,3 +1,5 @@
+../e2fsck/e2fsck: Block group descriptor size incorrect while trying to open test.img
+../e2fsck/e2fsck: Trying to load superblock despite errors...
 ext2fs_check_desc: Block group descriptor size incorrect
 ../e2fsck/e2fsck: Group descriptors look bad... trying backup blocks...
 Pass 1: Checking inodes, blocks, and sizes
@@ -7,5 +9,5 @@
 Pass 5: Checking group summary information
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 11/32 files (0.0% non-contiguous), 801/2048 blocks
+test_filesys: 11/32 files (0.0% non-contiguous), 805/2048 blocks
 Exit status is 1
diff --git a/tests/f_desc_size_bad/expect.2 b/tests/f_desc_size_bad/expect.2
index d1429fd..012f837 100644
--- a/tests/f_desc_size_bad/expect.2
+++ b/tests/f_desc_size_bad/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/32 files (0.0% non-contiguous), 801/2048 blocks
+test_filesys: 11/32 files (0.0% non-contiguous), 805/2048 blocks
 Exit status is 0
diff --git a/tests/f_detect_xfs/expect.nodebugfs b/tests/f_detect_xfs/expect.nodebugfs
index d3b7935..26a8a4a 100644
--- a/tests/f_detect_xfs/expect.nodebugfs
+++ b/tests/f_detect_xfs/expect.nodebugfs
@@ -17,6 +17,7 @@
 ../misc/tune2fs: Bad magic number in super-block while trying to open test.img
 test.img contains a xfs file system labelled 'test_filsys'
 *** mke2fs
+128-byte inodes cannot handle dates beyond 2038 and are deprecated
 Creating filesystem with 16384 1k blocks and 4096 inodes
 Superblock backups stored on blocks: 
 	8193
diff --git a/tests/f_dir_bad_csum/expect.1 b/tests/f_dir_bad_csum/expect.1
index 2c684fe..ae4b410 100644
--- a/tests/f_dir_bad_csum/expect.1
+++ b/tests/f_dir_bad_csum/expect.1
@@ -24,11 +24,9 @@
 Missing '.' in directory inode 17.
 Fix? yes
 
-Setting filetype for entry '.' in ??? (17) to 2.
 Missing '..' in directory inode 17.
 Fix? yes
 
-Setting filetype for entry '..' in ??? (17) to 2.
 Entry 'file' in ??? (18) has invalid inode #: 4294967295.
 Clear? yes
 
diff --git a/tests/f_dup4/expect.1 b/tests/f_dup4/expect.1
index 7d51bb1..8b6565c 100644
--- a/tests/f_dup4/expect.1
+++ b/tests/f_dup4/expect.1
@@ -2,103 +2,121 @@
 
 Running additional passes to resolve blocks claimed by more than one inode...
 Pass 1B: Rescanning for multiply-claimed blocks
+Multiply-claimed block(s) in inode 15: 30
 Multiply-claimed block(s) in inode 16: 30
 Multiply-claimed block(s) in inode 17: 30
 Multiply-claimed block(s) in inode 18: 30
-Multiply-claimed block(s) in inode 19: 30
+Multiply-claimed block(s) in inode 19: 34
 Multiply-claimed block(s) in inode 20: 34
 Multiply-claimed block(s) in inode 21: 34
 Multiply-claimed block(s) in inode 22: 34
-Multiply-claimed block(s) in inode 23: 34
 Pass 1C: Scanning directories for inodes with multiply-claimed blocks
 Pass 1D: Reconciling multiply-claimed blocks
 (There are 8 inodes containing multiply-claimed blocks.)
 
-File /dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007) 
+File /dir4 (inode #15, mod time Tue Apr 10 21:00:00 2007) 
   has 1 multiply-claimed block(s), shared with 3 file(s):
-	/dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007)
 	/dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007)
 	/dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007)
+	/dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007)
+Clone multiply-claimed blocks? yes
+
+File /dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007) 
+  has 1 multiply-claimed block(s), shared with 3 file(s):
+	/dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007)
+	/dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007)
+	/dir4 (inode #15, mod time Tue Apr 10 21:00:00 2007)
 Clone multiply-claimed blocks? yes
 
 File /dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007) 
   has 1 multiply-claimed block(s), shared with 3 file(s):
-	/dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007)
 	/dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007)
 	/dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007)
+	/dir4 (inode #15, mod time Tue Apr 10 21:00:00 2007)
 Clone multiply-claimed blocks? yes
 
 File /dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007) 
   has 1 multiply-claimed block(s), shared with 3 file(s):
-	/dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007)
 	/dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007)
 	/dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007)
-Clone multiply-claimed blocks? yes
+	/dir4 (inode #15, mod time Tue Apr 10 21:00:00 2007)
+Multiply-claimed blocks already reassigned or cloned.
 
 File /dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007) 
   has 1 multiply-claimed block(s), shared with 3 file(s):
-	/dir3/baz (inode #18, mod time Tue Apr 10 21:00:00 2007)
-	/dir2/bar (inode #17, mod time Tue Apr 10 21:00:00 2007)
-	/dir/foo (inode #16, mod time Tue Apr 10 21:00:00 2007)
-Multiply-claimed blocks already reassigned or cloned.
+	/dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007)
+	/dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007)
+	/dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007)
+Clone multiply-claimed blocks? yes
 
 File /dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007) 
   has 1 multiply-claimed block(s), shared with 3 file(s):
-	/dir4/fum (inode #23, mod time Tue Apr 10 21:00:00 2007)
 	/dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007)
 	/dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007)
+	/dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007)
 Clone multiply-claimed blocks? yes
 
 File /dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007) 
   has 1 multiply-claimed block(s), shared with 3 file(s):
-	/dir4/fum (inode #23, mod time Tue Apr 10 21:00:00 2007)
 	/dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007)
 	/dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007)
+	/dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007)
 Clone multiply-claimed blocks? yes
 
 File /dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007) 
   has 1 multiply-claimed block(s), shared with 3 file(s):
-	/dir4/fum (inode #23, mod time Tue Apr 10 21:00:00 2007)
 	/dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007)
 	/dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007)
-Clone multiply-claimed blocks? yes
-
-File /dir4/fum (inode #23, mod time Tue Apr 10 21:00:00 2007) 
-  has 1 multiply-claimed block(s), shared with 3 file(s):
-	/dir3/foe (inode #22, mod time Tue Apr 10 21:00:00 2007)
-	/dir2/fie (inode #21, mod time Tue Apr 10 21:00:00 2007)
-	/dir/fee (inode #20, mod time Tue Apr 10 21:00:00 2007)
+	/dir/quux1 (inode #19, mod time Tue Apr 10 21:00:00 2007)
 Multiply-claimed blocks already reassigned or cloned.
 
 Pass 2: Checking directory structure
-Invalid inode number for '.' in directory inode 20.
+Directory inode 22, block #0, offset 0: directory corrupted
+Salvage? yes
+
+Missing '.' in directory inode 22.
 Fix? yes
 
-Invalid inode number for '.' in directory inode 21.
+Missing '..' in directory inode 22.
 Fix? yes
 
-Invalid inode number for '.' in directory inode 22.
+Directory inode 20, block #0, offset 0: directory corrupted
+Salvage? yes
+
+Missing '.' in directory inode 20.
+Fix? yes
+
+Missing '..' in directory inode 20.
+Fix? yes
+
+Directory inode 21, block #0, offset 0: directory corrupted
+Salvage? yes
+
+Missing '.' in directory inode 21.
+Fix? yes
+
+Missing '..' in directory inode 21.
 Fix? yes
 
 Pass 3: Checking directory connectivity
-'..' in /dir/fee (20) is /dir4 (15), should be /dir (12).
+'..' in /dir/fee (20) is <The NULL inode> (0), should be /dir (12).
 Fix? yes
 
-'..' in /dir2/fie (21) is /dir4 (15), should be /dir2 (13).
+'..' in /dir2/fie (21) is <The NULL inode> (0), should be /dir2 (13).
 Fix? yes
 
-'..' in /dir3/foe (22) is /dir4 (15), should be /dir3 (14).
+'..' in /dir3/foe (22) is <The NULL inode> (0), should be /dir3 (14).
 Fix? yes
 
 Pass 4: Checking reference counts
+Inode 2 ref count is 4, should be 7.  Fix? yes
+
 Inode 12 ref count is 4, should be 3.  Fix? yes
 
 Inode 13 ref count is 4, should be 3.  Fix? yes
 
 Inode 14 ref count is 4, should be 3.  Fix? yes
 
-Inode 15 ref count is 0, should be 3.  Fix? yes
-
 Inode 16 ref count is 1, should be 3.  Fix? yes
 
 Inode 17 ref count is 1, should be 2.  Fix? yes
@@ -108,5 +126,5 @@
 Pass 5: Checking group summary information
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 23/32 files (0.0% non-contiguous), 35/100 blocks
+test_filesys: 23/32 files (0.0% non-contiguous), 39/100 blocks
 Exit status is 1
diff --git a/tests/f_dup4/expect.2 b/tests/f_dup4/expect.2
index eedf286..fe9c7e2 100644
--- a/tests/f_dup4/expect.2
+++ b/tests/f_dup4/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 23/32 files (0.0% non-contiguous), 35/100 blocks
+test_filesys: 23/32 files (0.0% non-contiguous), 39/100 blocks
 Exit status is 0
diff --git a/tests/f_dup4/name b/tests/f_dup4/name
index 56dbc1e..91cc5a3 100644
--- a/tests/f_dup4/name
+++ b/tests/f_dup4/name
@@ -1,2 +1 @@
 find all directory pathnames
-
diff --git a/tests/f_dup_resize/expect.1 b/tests/f_dup_resize/expect.1
index aaf7769..8a2764d 100644
--- a/tests/f_dup_resize/expect.1
+++ b/tests/f_dup_resize/expect.1
@@ -11,7 +11,8 @@
 (There are 1 inodes containing multiply-claimed blocks.)
 
 File /debugfs (inode #12, mod time Mon Apr 11 00:00:00 2005) 
-  has 4 multiply-claimed block(s), shared with 1 file(s):
+  has 4 multiply-claimed block(s), shared with 2 file(s):
+	<filesystem metadata>
 	<The group descriptor inode> (inode #7, mod time Mon Apr 11 06:13:20 2005)
 Clone multiply-claimed blocks? yes
 
@@ -22,13 +23,13 @@
 Block bitmap differences:  +(8195--8198)
 Fix? yes
 
-Free blocks count wrong for group #0 (7910, counted=7911).
+Free blocks count wrong for group #0 (7750, counted=7751).
 Fix? yes
 
-Free blocks count wrong (9754, counted=9755).
+Free blocks count wrong (9434, counted=9435).
 Fix? yes
 
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 12/2560 files (8.3% non-contiguous), 485/10240 blocks
+test_filesys: 12/2560 files (8.3% non-contiguous), 805/10240 blocks
 Exit status is 1
diff --git a/tests/f_dup_resize/expect.2 b/tests/f_dup_resize/expect.2
index 198acb9..d91b0af 100644
--- a/tests/f_dup_resize/expect.2
+++ b/tests/f_dup_resize/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 12/2560 files (8.3% non-contiguous), 485/10240 blocks
+test_filesys: 12/2560 files (8.3% non-contiguous), 805/10240 blocks
 Exit status is 0
diff --git a/tests/f_dup_resize/script b/tests/f_dup_resize/script
index 52a1aed..0fd350b 100644
--- a/tests/f_dup_resize/script
+++ b/tests/f_dup_resize/script
@@ -9,7 +9,7 @@
 dd if=$TEST_BITS of=$TEST_DATA bs=63k count=1 conv=sync > /dev/null 2>&1
 
 touch $TMPFILE
-$MKE2FS -F -O resize_inode $TMPFILE 10240 > /dev/null 2>&1
+$MKE2FS -F -o Linux -O resize_inode $TMPFILE 10240 > /dev/null 2>&1
 $DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1
 freeb 4 4
 freeb 8195 4
diff --git a/tests/f_ea_signed_hash/expect.1 b/tests/f_ea_signed_hash/expect.1
new file mode 100644
index 0000000..5f2b47a
--- /dev/null
+++ b/tests/f_ea_signed_hash/expect.1
@@ -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: 16/24 files (0.0% non-contiguous), 29/200 blocks
+Exit status is 0
diff --git a/tests/f_ea_signed_hash/image.gz b/tests/f_ea_signed_hash/image.gz
new file mode 100644
index 0000000..dbbc97f
--- /dev/null
+++ b/tests/f_ea_signed_hash/image.gz
Binary files differ
diff --git a/tests/f_ea_signed_hash/script b/tests/f_ea_signed_hash/script
new file mode 100644
index 0000000..8ab2b9c
--- /dev/null
+++ b/tests/f_ea_signed_hash/script
@@ -0,0 +1,2 @@
+ONE_PASS_ONLY="true"
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_ea_unsigned_hash/expect.1 b/tests/f_ea_unsigned_hash/expect.1
new file mode 100644
index 0000000..5f2b47a
--- /dev/null
+++ b/tests/f_ea_unsigned_hash/expect.1
@@ -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: 16/24 files (0.0% non-contiguous), 29/200 blocks
+Exit status is 0
diff --git a/tests/f_ea_unsigned_hash/image.gz b/tests/f_ea_unsigned_hash/image.gz
new file mode 100644
index 0000000..795cece
--- /dev/null
+++ b/tests/f_ea_unsigned_hash/image.gz
Binary files differ
diff --git a/tests/f_ea_unsigned_hash/script b/tests/f_ea_unsigned_hash/script
new file mode 100644
index 0000000..8ab2b9c
--- /dev/null
+++ b/tests/f_ea_unsigned_hash/script
@@ -0,0 +1,2 @@
+ONE_PASS_ONLY="true"
+. $cmd_dir/run_e2fsck
diff --git a/tests/f_emptydir/name b/tests/f_emptydir/name
index d5bc660..3e0ab60 100644
--- a/tests/f_emptydir/name
+++ b/tests/f_emptydir/name
@@ -1,2 +1 @@
 always iterate dir block 0 or e2fsck goes into infinite loop
-
diff --git a/tests/f_encrypted_lpf/expect.1 b/tests/f_encrypted_lpf/expect.1
index 7e215b7..63ac5f3 100644
--- a/tests/f_encrypted_lpf/expect.1
+++ b/tests/f_encrypted_lpf/expect.1
@@ -1,7 +1,7 @@
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
-Unconnected directory inode 12 (/???)
+Unconnected directory inode 12 (was in /)
 Connect to /lost+found? yes
 
 /lost+found is encrypted
@@ -13,7 +13,7 @@
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
-Unconnected directory inode 11 (/???)
+Unconnected directory inode 11 (was in /)
 Connect to /lost+found? yes
 
 Pass 3A: Optimizing directories
diff --git a/tests/f_expand/expect.1.gz b/tests/f_expand/expect.1.gz
index 1015e15..81fe7dd 100644
--- a/tests/f_expand/expect.1.gz
+++ b/tests/f_expand/expect.1.gz
Binary files differ
diff --git a/tests/f_extent_htree/expect.1 b/tests/f_extent_htree/expect.1
index ea48405..63d1415 100644
--- a/tests/f_extent_htree/expect.1
+++ b/tests/f_extent_htree/expect.1
@@ -7,12 +7,12 @@
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
 
-         352 inodes used (41.12%, out of 856)
+         352 inodes used (29.53%, out of 1192)
            0 non-contiguous files (0.0%)
            1 non-contiguous directory (0.3%)
              # of inodes with ind/dind/tind blocks: 0/0/0
              Extent depth histogram: 342/1
-         586 blocks used (68.94%, out of 850)
+         778 blocks used (65.38%, out of 1190)
            0 bad blocks
            0 large files
 
diff --git a/tests/f_extent_htree/expect.2 b/tests/f_extent_htree/expect.2
index 860b491..7c0ef95 100644
--- a/tests/f_extent_htree/expect.2
+++ b/tests/f_extent_htree/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 352/856 files (0.3% non-contiguous), 586/850 blocks
+test_filesys: 352/1192 files (0.3% non-contiguous), 778/1190 blocks
 Exit status is 0
diff --git a/tests/f_extent_htree/expect.pre.1 b/tests/f_extent_htree/expect.pre.1
index e489c30..fb0e84a 100644
--- a/tests/f_extent_htree/expect.pre.1
+++ b/tests/f_extent_htree/expect.pre.1
@@ -7,12 +7,12 @@
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
 
-         522 inodes used (60.98%, out of 856)
+         522 inodes used (43.79%, out of 1192)
            0 non-contiguous files (0.0%)
            1 non-contiguous directory (0.2%)
              # of inodes with ind/dind/tind blocks: 0/0/0
              Extent depth histogram: 512/1
-         815 blocks used (95.88%, out of 850)
+        1007 blocks used (84.62%, out of 1190)
            0 bad blocks
            0 large files
 
diff --git a/tests/f_extent_htree/expect.pre.2 b/tests/f_extent_htree/expect.pre.2
index 667c147..54beb0e 100644
--- a/tests/f_extent_htree/expect.pre.2
+++ b/tests/f_extent_htree/expect.pre.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 522/856 files (0.2% non-contiguous), 815/850 blocks
+test_filesys: 522/1192 files (0.2% non-contiguous), 1007/1190 blocks
 Exit status is 0
diff --git a/tests/f_extent_htree/script b/tests/f_extent_htree/script
index 4939acc..fb24a63 100644
--- a/tests/f_extent_htree/script
+++ b/tests/f_extent_htree/script
@@ -29,7 +29,7 @@
 
 # make filesystem with enough inodes and blocks to hold all the test files
 > $TMPFILE
-NUM=$((NUM * 5 / 3))
+NUM=$((NUM * 7 / 3))
 echo "mke2fs -b $BSIZE -O dir_index,extent -E no_copy_xattrs -d$SRC -N$NUM $TMPFILE $NUM" >> $OUT
 $MKE2FS -b $BSIZE -O dir_index,extent -E no_copy_xattrs -d$SRC -N$NUM $TMPFILE $NUM >> $OUT 2>&1
 rm -r $SRC
diff --git a/tests/f_extent_oobounds/expect.1 b/tests/f_extent_oobounds/expect.1
index 9c32775..126c1fa 100644
--- a/tests/f_extent_oobounds/expect.1
+++ b/tests/f_extent_oobounds/expect.1
@@ -15,13 +15,13 @@
 Block bitmap differences:  -(200--229)
 Fix? yes
 
-Free blocks count wrong for group #0 (158, counted=188).
+Free blocks count wrong for group #0 (158, counted=184).
 Fix? yes
 
-Free blocks count wrong (158, counted=188).
+Free blocks count wrong (158, counted=184).
 Fix? yes
 
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 12/32 files (8.3% non-contiguous), 68/256 blocks
+test_filesys: 12/32 files (8.3% non-contiguous), 72/256 blocks
 Exit status is 1
diff --git a/tests/f_extent_oobounds/expect.2 b/tests/f_extent_oobounds/expect.2
index 0729283..a423f1c 100644
--- a/tests/f_extent_oobounds/expect.2
+++ b/tests/f_extent_oobounds/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 12/32 files (8.3% non-contiguous), 68/256 blocks
+test_filesys: 12/32 files (8.3% non-contiguous), 72/256 blocks
 Exit status is 0
diff --git a/tests/f_extent_oobounds/script b/tests/f_extent_oobounds/script
index 9c6117c..9c2f667 100644
--- a/tests/f_extent_oobounds/script
+++ b/tests/f_extent_oobounds/script
@@ -7,7 +7,7 @@
 TEST_DATA="$test_name.tmp"
 
 dd if=/dev/zero of=$TMPFILE bs=1k count=256 > /dev/null 2>&1
-$MKE2FS -Ft ext4 $TMPFILE > /dev/null 2>&1
+$MKE2FS -Ft ext4 -o Linux $TMPFILE > /dev/null 2>&1
 $DEBUGFS -w $TMPFILE << EOF  > /dev/null 2>&1
 write /dev/null testfile
 setb 100 15
diff --git a/tests/f_extra_journal/name b/tests/f_extra_journal/name
index c5540e2..7382f20 100644
--- a/tests/f_extra_journal/name
+++ b/tests/f_extra_journal/name
@@ -1 +1 @@
-Valid journal inode, but has_journal feature not present
+valid journal inode, but has_journal feature not present
diff --git a/tests/f_first_meta_bg_too_big/expect.1 b/tests/f_first_meta_bg_too_big/expect.1
index 85786bd..3148513 100644
--- a/tests/f_first_meta_bg_too_big/expect.1
+++ b/tests/f_first_meta_bg_too_big/expect.1
@@ -1,3 +1,7 @@
+ext2fs_open2: The ext2 superblock is corrupt
+../e2fsck/e2fsck: Superblock invalid, trying backup blocks...
+../e2fsck/e2fsck: The ext2 superblock is corrupt while trying to open test.img
+../e2fsck/e2fsck: Trying to load superblock despite errors...
 First_meta_bg is too big.  (2, max value 1).  Clear? yes
 
 Pass 1: Checking inodes, blocks, and sizes
diff --git a/tests/f_h_normal/name b/tests/f_h_normal/name
index 5190f35..7f0cdb2 100644
--- a/tests/f_h_normal/name
+++ b/tests/f_h_normal/name
@@ -1 +1 @@
-Normal (signed) HTREE directory
+normal (signed) HTREE directory
diff --git a/tests/f_h_unsigned/name b/tests/f_h_unsigned/name
index 1606958..7fafc9c 100644
--- a/tests/f_h_unsigned/name
+++ b/tests/f_h_unsigned/name
@@ -1 +1 @@
-Unsigned HTREE directory
+unsigned HTREE directory
diff --git a/tests/f_holedir2/name b/tests/f_holedir2/name
index ec153f3..144f5b3 100644
--- a/tests/f_holedir2/name
+++ b/tests/f_holedir2/name
@@ -1,2 +1 @@
 directories with holes and zero i_size
-
diff --git a/tests/f_holedir3/name b/tests/f_holedir3/name
index a526787..73b3612 100644
--- a/tests/f_holedir3/name
+++ b/tests/f_holedir3/name
@@ -1,2 +1 @@
 real directories with holes and zero i_size
-
diff --git a/tests/f_large_dir/expect b/tests/f_large_dir/expect
index 028234c..495ea85 100644
--- a/tests/f_large_dir/expect
+++ b/tests/f_large_dir/expect
@@ -1,3 +1,4 @@
+128-byte inodes cannot handle dates beyond 2038 and are deprecated
 Creating filesystem with 108341 1k blocks and 65072 inodes
 Superblock backups stored on blocks: 
 	8193, 24577, 40961, 57345, 73729
diff --git a/tests/f_large_dir_csum/expect b/tests/f_large_dir_csum/expect
index aa9f33f..44770f7 100644
--- a/tests/f_large_dir_csum/expect
+++ b/tests/f_large_dir_csum/expect
@@ -1,3 +1,4 @@
+128-byte inodes cannot handle dates beyond 2038 and are deprecated
 Creating filesystem with 31002 1k blocks and 64 inodes
 Superblock backups stored on blocks: 
 	8193, 24577
diff --git a/tests/f_lpf2/expect.1 b/tests/f_lpf2/expect.1
index 633586c..ab5d9ba 100644
--- a/tests/f_lpf2/expect.1
+++ b/tests/f_lpf2/expect.1
@@ -1,12 +1,12 @@
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
-Unconnected directory inode 12 (/???)
+Unconnected directory inode 12 (was in /)
 Connect to /lost+found? yes
 
 /lost+found not found.  Create? yes
 
-Unconnected directory inode 13 (/???)
+Unconnected directory inode 13 (was in /)
 Connect to /lost+found? yes
 
 Pass 4: Checking reference counts
diff --git a/tests/f_miss_journal/name b/tests/f_miss_journal/name
index 599be52..b26d998 100644
--- a/tests/f_miss_journal/name
+++ b/tests/f_miss_journal/name
@@ -1 +1 @@
-Non-existent journal inode
+non-existent journal inode
diff --git a/tests/f_mmp_garbage/expect.1 b/tests/f_mmp_garbage/expect.1
index a8add10..4134eae 100644
--- a/tests/f_mmp_garbage/expect.1
+++ b/tests/f_mmp_garbage/expect.1
@@ -5,5 +5,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/64 files (0.0% non-contiguous), 13/100 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 15/100 blocks
 Exit status is 0
diff --git a/tests/f_mmp_garbage/expect.2 b/tests/f_mmp_garbage/expect.2
index 6630002..3bca182 100644
--- a/tests/f_mmp_garbage/expect.2
+++ b/tests/f_mmp_garbage/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/64 files (0.0% non-contiguous), 13/100 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 15/100 blocks
 Exit status is 0
diff --git a/tests/f_noroot/expect.1 b/tests/f_noroot/expect.1
index 7bdd7cb..f8f652e 100644
--- a/tests/f_noroot/expect.1
+++ b/tests/f_noroot/expect.1
@@ -11,12 +11,12 @@
 Pass 3: Checking directory connectivity
 Root inode not allocated.  Allocate? yes
 
-Unconnected directory inode 11 (...)
+Unconnected directory inode 11 (was in /)
 Connect to /lost+found? yes
 
 /lost+found not found.  Create? yes
 
-Unconnected directory inode 12 (...)
+Unconnected directory inode 12 (was in /lost+found)
 Connect to /lost+found? yes
 
 Pass 4: Checking reference counts
diff --git a/tests/f_opt_extent/script b/tests/f_opt_extent/script
index 8366983..001c727 100644
--- a/tests/f_opt_extent/script
+++ b/tests/f_opt_extent/script
@@ -21,7 +21,7 @@
 
 echo "tune2fs metadata_csum test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/f_opt_extent_ext3/script b/tests/f_opt_extent_ext3/script
index 51fbcee..ef8c906 100644
--- a/tests/f_opt_extent_ext3/script
+++ b/tests/f_opt_extent_ext3/script
@@ -22,7 +22,7 @@
 
 echo "rebuild extent metadata_csum test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/f_orphan_dotdot_ft/expect.1 b/tests/f_orphan_dotdot_ft/expect.1
index 6a1373f..6092495 100644
--- a/tests/f_orphan_dotdot_ft/expect.1
+++ b/tests/f_orphan_dotdot_ft/expect.1
@@ -17,13 +17,13 @@
 Fix? yes
 
 Pass 3: Checking directory connectivity
-Unconnected directory inode 13 (<12>/<13>)
+Unconnected directory inode 13 (was in <12>)
 Connect to /lost+found? yes
 
-Unconnected directory inode 14 (<12>/<14>)
+Unconnected directory inode 14 (was in <12>)
 Connect to /lost+found? yes
 
-Unconnected directory inode 15 (<12>/<15>)
+Unconnected directory inode 15 (was in <12>)
 Connect to /lost+found? yes
 
 Pass 4: Checking reference counts
diff --git a/tests/f_orphquot/expect b/tests/f_orphquot/expect
index 90a7813..0f75dec 100644
--- a/tests/f_orphquot/expect
+++ b/tests/f_orphquot/expect
@@ -1,4 +1,4 @@
-Clearing orphaned inode 12 (uid=0, gid=0, mode=0100644, size=3842048)
+Clearing orphaned inode 12 (uid=1000, gid=100, mode=0100644, size=3145728)
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
@@ -8,3 +8,9 @@
 test_filesystem: ***** FILE SYSTEM WAS MODIFIED *****
 test_filesystem: 11/512 files (9.1% non-contiguous), 1070/2048 blocks
 Exit status is 0
+   user id      space    quota    limit      inodes    quota    limit
+         0      20480        0        0           2        0        0
+      1000          0     5000     6000           0       50       60
+  group id      space    quota    limit      inodes    quota    limit
+         0      20480        0        0           2        0        0
+       100          0     6000     7000           0       60       70
diff --git a/tests/f_orphquot/image.bz2 b/tests/f_orphquot/image.bz2
index 44c8318..7ac17a0 100644
--- a/tests/f_orphquot/image.bz2
+++ b/tests/f_orphquot/image.bz2
Binary files differ
diff --git a/tests/f_orphquot/script b/tests/f_orphquot/script
index acdf567..e17bff0 100644
--- a/tests/f_orphquot/script
+++ b/tests/f_orphquot/script
@@ -8,6 +8,8 @@
 $FSCK -f -y -N test_filesystem $TMPFILE > $OUT.new 2>&1
 status=$?
 echo Exit status is $status >> $OUT.new
+$DEBUGFS -R 'lq user' $TMPFILE >> $OUT.new 2>&1
+$DEBUGFS -R 'lq group' $TMPFILE >> $OUT.new 2>&1
 sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
 rm -f $OUT.new
 
diff --git a/tests/f_quota/expect.0 b/tests/f_quota/expect.0
index eb5294e..2645485 100644
--- a/tests/f_quota/expect.0
+++ b/tests/f_quota/expect.0
@@ -1,21 +1,21 @@
 debugfs: list_quota user
-   user id     blocks    quota    limit      inodes    quota    limit
+   user id      space    quota    limit      inodes    quota    limit
          0      13312        0        0           2        0        0
         34       1024        0        0           1        0        0
        100       2048       32       50           2       20       30
 debugfs: list_quota group
-  group id     blocks    quota    limit      inodes    quota    limit
+  group id      space    quota    limit      inodes    quota    limit
          0      16384        0        0           5        0        0
 debugfs: get_quota user 0
-   user id     blocks    quota    limit      inodes    quota    limit
+   user id      space    quota    limit      inodes    quota    limit
          0      13312        0        0           2        0        0
 debugfs: get_quota user 100
-   user id     blocks    quota    limit      inodes    quota    limit
+   user id      space    quota    limit      inodes    quota    limit
        100       2048       32       50           2       20       30
 debugfs: get_quota user 34
-   user id     blocks    quota    limit      inodes    quota    limit
+   user id      space    quota    limit      inodes    quota    limit
         34       1024        0        0           1        0        0
 debugfs: get_quota group 0
-  group id     blocks    quota    limit      inodes    quota    limit
+  group id      space    quota    limit      inodes    quota    limit
          0      16384        0        0           5        0        0
 debugfs: 
diff --git a/tests/f_rebuild_csum_rootdir/expect.1 b/tests/f_rebuild_csum_rootdir/expect.1
index bab07e0..063fb8c 100644
--- a/tests/f_rebuild_csum_rootdir/expect.1
+++ b/tests/f_rebuild_csum_rootdir/expect.1
@@ -6,16 +6,14 @@
 Missing '.' in directory inode 2.
 Fix? yes
 
-Setting filetype for entry '.' in ??? (2) to 2.
 Missing '..' in directory inode 2.
 Fix? yes
 
-Setting filetype for entry '..' in ??? (2) to 2.
 Pass 3: Checking directory connectivity
 '..' in / (2) is <The NULL inode> (0), should be / (2).
 Fix? yes
 
-Unconnected directory inode 11 (/???)
+Unconnected directory inode 11 (was in /)
 Connect to /lost+found? yes
 
 /lost+found not found.  Create? yes
diff --git a/tests/f_recnect_bad/expect.1 b/tests/f_recnect_bad/expect.1
index 97ffcc5..685eedf 100644
--- a/tests/f_recnect_bad/expect.1
+++ b/tests/f_recnect_bad/expect.1
@@ -12,7 +12,7 @@
 Clear? yes
 
 Pass 3: Checking directory connectivity
-Unconnected directory inode 13 (/test/???)
+Unconnected directory inode 13 (was in /test)
 Connect to /lost+found? yes
 
 Pass 4: Checking reference counts
diff --git a/tests/f_recnect_bad/name b/tests/f_recnect_bad/name
index dc0c8d9..c1a9c0c 100644
--- a/tests/f_recnect_bad/name
+++ b/tests/f_recnect_bad/name
@@ -1 +1 @@
-Reconnecting bad inode
+reconnecting bad inode
diff --git a/tests/f_resize_inode/expect b/tests/f_resize_inode/expect
index db57ed6..c12c92c 100644
--- a/tests/f_resize_inode/expect
+++ b/tests/f_resize_inode/expect
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 0
 -----------------------------------------------
  
@@ -25,22 +25,22 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-Free blocks count wrong for group #0 (717, counted=718).
+Free blocks count wrong for group #0 (685, counted=686).
 Fix? yes
 
-Free blocks count wrong (14276, counted=14277).
+Free blocks count wrong (13764, counted=13765).
 Fix? yes
 
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 1
 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/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 0
 -----------------------------------------------
  
@@ -53,22 +53,22 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-Free blocks count wrong for group #0 (717, counted=718).
+Free blocks count wrong for group #0 (685, counted=686).
 Fix? yes
 
-Free blocks count wrong (14276, counted=14277).
+Free blocks count wrong (13764, counted=13765).
 Fix? yes
 
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 1
 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/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 0
 -----------------------------------------------
  
@@ -81,22 +81,22 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-Free blocks count wrong for group #0 (717, counted=718).
+Free blocks count wrong for group #0 (685, counted=686).
 Fix? yes
 
-Free blocks count wrong (14276, counted=14277).
+Free blocks count wrong (13764, counted=13765).
 Fix? yes
 
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 1
 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/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 0
 -----------------------------------------------
  
@@ -111,7 +111,7 @@
 Pass 5: Checking group summary information
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 1
 -----------------------------------------------
  
@@ -125,35 +125,35 @@
 Block bitmap differences:  -(35--258) -(1059--1282) -(3107--3330) -(5155--5378) -(7203--7426) -(9251--9474)
 Fix? yes
 
-Free blocks count wrong for group #0 (718, counted=942).
+Free blocks count wrong for group #0 (686, counted=910).
 Fix? yes
 
-Free blocks count wrong for group #1 (732, counted=956).
+Free blocks count wrong for group #1 (700, counted=924).
 Fix? yes
 
-Free blocks count wrong for group #3 (732, counted=956).
+Free blocks count wrong for group #3 (700, counted=924).
 Fix? yes
 
-Free blocks count wrong for group #5 (732, counted=956).
+Free blocks count wrong for group #5 (700, counted=924).
 Fix? yes
 
-Free blocks count wrong for group #7 (732, counted=956).
+Free blocks count wrong for group #7 (700, counted=924).
 Fix? yes
 
-Free blocks count wrong for group #9 (732, counted=956).
+Free blocks count wrong for group #9 (700, counted=924).
 Fix? yes
 
-Free blocks count wrong (14277, counted=15621).
+Free blocks count wrong (13765, counted=15109).
 Fix? yes
 
 
 test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
-test_filesys: 11/4096 files (0.0% non-contiguous), 763/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 1275/16384 blocks
 Exit status is 1
 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/4096 files (0.0% non-contiguous), 763/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 1275/16384 blocks
 Exit status is 0
diff --git a/tests/f_resize_inode_meta_bg/expect.1 b/tests/f_resize_inode_meta_bg/expect.1
index c733c18..e248083 100644
--- a/tests/f_resize_inode_meta_bg/expect.1
+++ b/tests/f_resize_inode_meta_bg/expect.1
@@ -8,11 +8,9 @@
 First entry '' (inode=348) in directory inode 2 (???) should be '.'
 Fix? yes
 
-Setting filetype for entry '.' in ??? (2) to 2.
 Missing '..' in directory inode 2.
 Fix? yes
 
-Setting filetype for entry '..' in ??? (2) to 2.
 Directory inode 2, block #0, offset 860: directory corrupted
 Salvage? yes
 
@@ -25,11 +23,9 @@
 Missing '.' in directory inode 11.
 Fix? yes
 
-Setting filetype for entry '.' in ??? (11) to 2.
 Missing '..' in directory inode 11.
 Fix? yes
 
-Setting filetype for entry '..' in ??? (11) to 2.
 Directory inode 11, block #1, offset 0: directory corrupted
 Salvage? yes
 
@@ -49,7 +45,7 @@
 '..' in / (2) is <The NULL inode> (0), should be / (2).
 Fix? yes
 
-Unconnected directory inode 11 (/???)
+Unconnected directory inode 11 (was in /)
 Connect to /lost+found? yes
 
 /lost+found not found.  Create? yes
diff --git a/tests/f_selinux/name b/tests/f_selinux/name
index 42875ea..4cdf4d2 100644
--- a/tests/f_selinux/name
+++ b/tests/f_selinux/name
@@ -1 +1 @@
-SE Linux generated symlinks with EA data
+SELinux generated symlinks with EA data
diff --git a/tests/f_special_ea/name b/tests/f_special_ea/name
index 8dfb2f4..e9fd85b 100644
--- a/tests/f_special_ea/name
+++ b/tests/f_special_ea/name
@@ -1 +1 @@
-Special files with extended attributes
+special files with extended attributes
diff --git a/tests/f_uninit_dir/expect.1 b/tests/f_uninit_dir/expect.1
index f0065f1..31870bd 100644
--- a/tests/f_uninit_dir/expect.1
+++ b/tests/f_uninit_dir/expect.1
@@ -10,11 +10,9 @@
 Missing '.' in directory inode 14.
 Fix? yes
 
-Setting filetype for entry '.' in ??? (14) to 2.
 Missing '..' in directory inode 14.
 Fix? yes
 
-Setting filetype for entry '..' in ??? (14) to 2.
 Pass 3: Checking directory connectivity
 '..' in /abc (14) is <The NULL inode> (0), should be / (2).
 Fix? yes
diff --git a/tests/f_uninit_inode_past_unused/expect.1 b/tests/f_uninit_inode_past_unused/expect.1
index 1cf5c85..de1ac23 100644
--- a/tests/f_uninit_inode_past_unused/expect.1
+++ b/tests/f_uninit_inode_past_unused/expect.1
@@ -4,9 +4,6 @@
 Fix? yes
 
 Restarting e2fsck from the beginning...
-One or more block group descriptor checksums are invalid.  Fix? yes
-
-Group descriptor 0 checksum is 0x4c72, should be 0xde74.  FIXED.
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
diff --git a/tests/f_uninit_last_uninit/expect.1 b/tests/f_uninit_last_uninit/expect.1
index 248bd29..a9a9dc1 100644
--- a/tests/f_uninit_last_uninit/expect.1
+++ b/tests/f_uninit_last_uninit/expect.1
@@ -5,5 +5,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/32 files (0.0% non-contiguous), 105/10000 blocks
+test_filesys: 11/32 files (0.0% non-contiguous), 109/10000 blocks
 Exit status is 0
diff --git a/tests/f_uninit_last_uninit/expect.2 b/tests/f_uninit_last_uninit/expect.2
index e95e5ed..4593717 100644
--- a/tests/f_uninit_last_uninit/expect.2
+++ b/tests/f_uninit_last_uninit/expect.2
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/32 files (0.0% non-contiguous), 105/10000 blocks
+test_filesys: 11/32 files (0.0% non-contiguous), 109/10000 blocks
 Exit status is 0
diff --git a/tests/f_uninit_last_uninit/name b/tests/f_uninit_last_uninit/name
index 4f93e23..609e684 100644
--- a/tests/f_uninit_last_uninit/name
+++ b/tests/f_uninit_last_uninit/name
@@ -1,2 +1 @@
 last group has BLOCK_UNINIT set
-
diff --git a/tests/f_uninit_restart_fsck/expect.1 b/tests/f_uninit_restart_fsck/expect.1
index d396beb..64a2d06 100644
--- a/tests/f_uninit_restart_fsck/expect.1
+++ b/tests/f_uninit_restart_fsck/expect.1
@@ -13,10 +13,6 @@
 Fix? yes
 
 Restarting e2fsck from the beginning...
-One or more block group descriptor checksums are invalid.  Fix? yes
-
-Group descriptor 0 checksum is 0xb92b, should be 0x2b5f.  FIXED.
-Group descriptor 1 checksum is 0x2f53, should be 0x8d2f.  FIXED.
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Entry 'foo2' in /d1 (1881) has deleted/unused inode 500.  Clear? yes
diff --git a/tests/f_unused_itable/expect.1 b/tests/f_unused_itable/expect.1
index a4da987..ffda3c4 100644
--- a/tests/f_unused_itable/expect.1
+++ b/tests/f_unused_itable/expect.1
@@ -7,10 +7,6 @@
 Fix? yes
 
 Restarting e2fsck from the beginning...
-One or more block group descriptor checksums are invalid.  Fix? yes
-
-Group descriptor 0 checksum is 0x289d, should be 0x788a.  FIXED.
-Group descriptor 1 checksum is 0xfaab, should be 0x3a9a.  FIXED.
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
diff --git a/tests/f_unused_itable/name b/tests/f_unused_itable/name
index e129137..b899aec 100644
--- a/tests/f_unused_itable/name
+++ b/tests/f_unused_itable/name
@@ -1 +1 @@
-Don't move files to lost+found for bg_unused_itable
+don't move files to lost+found for bg_unused_itable
diff --git a/tests/filter.sed b/tests/filter.sed
index 796186e..5fd68f3 100644
--- a/tests/filter.sed
+++ b/tests/filter.sed
@@ -20,6 +20,7 @@
 /^Maximum mount count:/d
 /^Next check after:/d
 /^Suggestion:/d
+/security.selinux/d
 /Reserved blocks uid:/s/ (user .*)//
 /Reserved blocks gid:/s/ (group .*)//
 /whichever comes first/d
diff --git a/tests/fuzz/.gitignore b/tests/fuzz/.gitignore
new file mode 100644
index 0000000..381b20a
--- /dev/null
+++ b/tests/fuzz/.gitignore
@@ -0,0 +1,3 @@
+ext2fs_check_directory_fuzzer
+ext2fs_image_read_write_fuzzer
+ext2fs_read_bitmap_fuzzer
diff --git a/tests/fuzz/Makefile.in b/tests/fuzz/Makefile.in
new file mode 100644
index 0000000..949579e
--- /dev/null
+++ b/tests/fuzz/Makefile.in
@@ -0,0 +1,93 @@
+#
+# Makefile for the tests/fuzz directory
+#
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+top_builddir = ../..
+my_dir = tests/fuzz
+
+@MCONFIG@
+
+PROGS=	ext2fs_check_directory_fuzzer \
+		ext2fs_image_read_write_fuzzer \
+		ext2fs_read_bitmap_fuzzer
+
+SRCS=  $(srcdir)/ext2fs_check_directory_fuzzer.cc \
+		$(srcdir)/ext2fs_image_read_write_fuzzer.cc \
+		$(srcdir)/ext2fs_read_bitmap_fuzzer.cc
+
+LOCAL_CFLAGS= @fuzzer_cflags@
+LOCAL_LDFLAGS= @fuzzer_ldflags@
+
+LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBSUPPORT)
+DEPLIBS= $(LIBEXT2FS) $(DEPLIBCOM_ERR) $(DEPLIBSUPPORT)
+
+STATIC_LIBS= $(LIBSUPPORT) $(STATIC_LIBE2P) $(STATIC_LIBEXT2FS) \
+	$(STATIC_LIBCOM_ERR)
+STATIC_DEPLIBS= $(DEPLIBSUPPORT) $(STATIC_LIBE2P) $(STATIC_LIBEXT2FS) \
+	$(DEPSTATIC_LIBCOM_ERR)
+
+FUZZ_LDFLAGS= $(ALL_LDFLAGS)
+FUZZ_DEP= $(STATIC_DEPLIBS) $(srcdir)/Makefile.in
+
+.cc.o:
+	$(E) "	CXX $<"
+	$(Q) $(CXX) -c $(ALL_CFLAGS) $< -o $@
+
+@FUZZING_CMT@all::  $(PROGS)
+
+clean::
+	$(RM) -f $(PROGS) *.o
+
+install:
+
+install-strip:
+
+uninstall:
+
+mostlyclean: clean
+distclean: clean
+	$(RM) -f .depend Makefile $(srcdir)/TAGS $(srcdir)/Makefile.in.old
+
+ext2fs_check_directory_fuzzer: ext2fs_check_directory_fuzzer.o $(FUZZ_DEP)
+	$(E) "	LD $@"
+	$(Q) $(CXX) $(FUZZ_LDFLAGS) -o $@ $< $(STATIC_LIBS) $(SYSLIBS)
+
+ext2fs_image_read_write_fuzzer: ext2fs_image_read_write_fuzzer.o  $(FUZZ_DEP)
+	$(E) "	LD $@"
+	$(Q) $(CXX) $(FUZZ_LDFLAGS) -o $@ $< $(STATIC_LIBS) $(SYSLIBS)
+
+ext2fs_read_bitmap_fuzzer: ext2fs_read_bitmap_fuzzer.o $(FUZZ_DEP)
+	$(E) "	LD $@"
+	$(Q) $(CXX) $(FUZZ_LDFLAGS) -o $@ $< $(STATIC_LIBS) $(SYSLIBS)
+
+# +++ Dependency line eater +++
+# 
+# Makefile dependencies follow.  This must be the last section in
+# the Makefile.in file
+#
+ext2fs_check_directory_fuzzer.o: $(srcdir)/ext2fs_check_directory_fuzzer.cc \
+ $(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
+ext2fs_image_read_write_fuzzer.o: $(srcdir)/ext2fs_image_read_write_fuzzer.cc \
+ $(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 $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/support/print_fs_flags.h
+ext2fs_read_bitmap_fuzzer.o: $(srcdir)/ext2fs_read_bitmap_fuzzer.cc \
+ $(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 $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/support/print_fs_flags.h
diff --git a/tests/fuzz/ext2fs_check_directory_fuzzer.cc b/tests/fuzz/ext2fs_check_directory_fuzzer.cc
new file mode 100644
index 0000000..61cf42f
--- /dev/null
+++ b/tests/fuzz/ext2fs_check_directory_fuzzer.cc
@@ -0,0 +1,43 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <stddef.h>
+#include <stdint.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "ext2fs/ext2fs.h"
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+  static const char* fname = "/tmp/ext2_test_file";
+
+  // Write our data to a temp file.
+  int fd = open(fname, O_RDWR|O_CREAT|O_TRUNC);
+  write(fd, data, size);
+  close(fd);
+
+  ext2_filsys fs;
+  errcode_t retval = ext2fs_open(
+      fname,
+      EXT2_FLAG_IGNORE_CSUM_ERRORS, 0, 0,
+      unix_io_manager,
+      &fs);
+
+  if (!retval) {
+    retval = ext2fs_check_directory(fs, EXT2_ROOT_INO);
+    ext2fs_close(fs);
+  }
+
+  return 0;
+}
diff --git a/tests/fuzz/ext2fs_image_read_write_fuzzer.cc b/tests/fuzz/ext2fs_image_read_write_fuzzer.cc
new file mode 100644
index 0000000..8aa0cb8
--- /dev/null
+++ b/tests/fuzz/ext2fs_image_read_write_fuzzer.cc
@@ -0,0 +1,135 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// #define USE_FLAGS
+// #define DUMP_SUPER
+// #define SAVE_FS_IMAGE
+
+#include <stdio.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <assert.h>
+#include <fcntl.h>
+#include <sys/syscall.h>
+#include <linux/memfd.h>
+#include <fuzzer/FuzzedDataProvider.h>
+
+#include "ext2fs/ext2fs.h"
+extern "C" {
+#include "e2p/e2p.h"
+#include "support/print_fs_flags.h"
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+
+  const char *progname = "ext2fs_image_read_write_fuzzer";
+  add_error_table(&et_ext2_error_table);
+
+  enum FuzzerType {
+    ext2fsImageBitmapRead,
+    ext2fsImageInodeRead,
+    ext2fsImageSuperRead,
+    ext2fsImageBitmapWrite,
+    ext2fsImageInodeWrite,
+    ext2fsImageSuperWrite,
+    kMaxValue = ext2fsImageSuperWrite
+  };
+
+  FuzzedDataProvider stream(data, size);
+  const FuzzerType f = stream.ConsumeEnum<FuzzerType>();
+  int flags = stream.ConsumeIntegral<int>();
+#ifndef USE_FLAGS
+  flags = 0;
+#endif
+
+  static const char* fname = "/tmp/ext2_test_file";
+
+  // Write our data to a temp file.
+#ifdef SAVE_FS_IMAGE
+  int fd = open(fname, O_CREAT|O_TRUNC|O_RDWR, 0644);
+#else
+  int fd = syscall(SYS_memfd_create, fname, 0);
+#endif
+  std::vector<char> buffer = stream.ConsumeRemainingBytes<char>();
+  write(fd, buffer.data(), buffer.size());
+
+  std::string fspath("/proc/self/fd/" + std::to_string(fd));
+
+  ext2_filsys fs;
+#ifdef USE_FLAGS
+  printf("Flags: 0x%08x ", flags);
+  print_fs_flags(stdout, flags);
+  flags &= ~EXT2_FLAG_NOFREE_ON_ERROR;
+#endif
+  errcode_t retval = ext2fs_open(
+      fspath.c_str(),
+      flags | EXT2_FLAG_IGNORE_CSUM_ERRORS, 0, 0,
+      unix_io_manager,
+      &fs);
+
+  if (retval) {
+    com_err(progname, retval, "while trying to open file system");
+  } else {
+#ifdef DUMP_SUPER
+    list_super2(fs->super, stdout);
+#endif
+    printf("FuzzerType: %d\n", (int) f);
+    switch (f) {
+      case ext2fsImageBitmapRead: {
+        retval = ext2fs_image_bitmap_read(fs, fd, 0);
+        if (retval)
+          com_err(progname, retval, "while trying to read image bitmap");
+        break;
+      }
+      case ext2fsImageInodeRead: {
+        retval = ext2fs_image_inode_read(fs, fd, 0);
+        if (retval)
+          com_err(progname, retval, "while trying to read image inode");
+        break;
+      }
+      case ext2fsImageSuperRead: {
+        retval = ext2fs_image_super_read(fs, fd, 0);
+        if (retval)
+          com_err(progname, retval, "while trying to read image superblock");
+        break;
+      }
+      case ext2fsImageBitmapWrite: {
+        retval = ext2fs_image_bitmap_write(fs, fd, 0);
+        if (retval)
+          com_err(progname, retval, "while trying to write image bitmap");
+        break;
+      }
+      case ext2fsImageInodeWrite: {
+        retval = ext2fs_image_inode_write(fs, fd, 0);
+        if (retval)
+          com_err(progname, retval, "while trying to write image inode");
+        break;
+      }
+      case ext2fsImageSuperWrite: {
+        retval = ext2fs_image_super_write(fs, fd, 0);
+        if (retval)
+          com_err(progname, retval, "while trying to write image superblock");
+        break;
+      }
+      default: {
+        assert(false);
+      }
+    }
+    ext2fs_close(fs);
+  }
+  close(fd);
+
+  return 0;
+}
diff --git a/tests/fuzz/ext2fs_read_bitmap_fuzzer.cc b/tests/fuzz/ext2fs_read_bitmap_fuzzer.cc
new file mode 100644
index 0000000..fa3d7e7
--- /dev/null
+++ b/tests/fuzz/ext2fs_read_bitmap_fuzzer.cc
@@ -0,0 +1,108 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// #define USE_FLAGS
+// #define DUMP_SUPER
+// #define SAVE_FS_IMAGE
+
+#include <stdio.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <assert.h>
+#include <fcntl.h>
+#include <sys/syscall.h>
+#include <linux/memfd.h>
+#include <fuzzer/FuzzedDataProvider.h>
+
+#include "ext2fs/ext2fs.h"
+extern "C" {
+#include "e2p/e2p.h"
+#include "support/print_fs_flags.h"
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+
+  const char *progname = "ext2fs_read_bitmap_fuzzer";
+  add_error_table(&et_ext2_error_table);
+
+  enum FuzzerType {
+    ext2fsReadBlockBitmap,
+    ext2fsReadInodeBitmap,
+    kMaxValue = ext2fsReadInodeBitmap
+  };
+
+  FuzzedDataProvider stream(data, size);
+  const FuzzerType f = stream.ConsumeEnum<FuzzerType>();
+  int flags = stream.ConsumeIntegral<int>();
+#ifndef USE_FLAGS
+  flags = 0;
+#endif
+
+  static const char* fname = "/tmp/ext2_test_file";
+
+  // Write our data to a temp file.
+#ifdef SAVE_FS_IMAGE
+  int fd = open(fname, O_CREAT|O_TRUNC|O_RDWR, 0644);
+#else
+  int fd = syscall(SYS_memfd_create, fname, 0);
+#endif
+  std::vector<char> buffer = stream.ConsumeRemainingBytes<char>();
+  write(fd, buffer.data(), buffer.size());
+
+  std::string fspath("/proc/self/fd/" + std::to_string(fd));
+
+  ext2_filsys fs;
+#ifdef USE_FLAGS
+  printf("Flags: 0x%08x ", flags);
+  print_fs_flags(stdout, flags);
+  flags &= ~EXT2_FLAG_NOFREE_ON_ERROR;
+#endif
+  errcode_t retval = ext2fs_open(
+      fspath.c_str(),
+      flags | EXT2_FLAG_IGNORE_CSUM_ERRORS, 0, 0,
+      unix_io_manager,
+      &fs);
+
+  if (retval) {
+    com_err(progname, retval, "while trying to open file system");
+  } else {
+#ifdef DUMP_SUPER
+    list_super2(fs->super, stdout);
+#endif
+    switch (f) {
+      case ext2fsReadBlockBitmap: {
+        retval = ext2fs_read_block_bitmap(fs);
+        if (retval)
+          com_err(progname, retval, "while trying to read block bitmap");
+        break;
+      }
+      case ext2fsReadInodeBitmap: {
+        retval = ext2fs_read_inode_bitmap(fs);
+        if (retval)
+          com_err(progname, retval, "while trying to read inode bitmap");
+        break;
+      }
+      default: {
+        assert(false);
+      }
+    }
+    retval = ext2fs_close(fs);
+    if (retval)
+      com_err(progname, retval, "while trying to close file system");
+  }
+  close(fd);
+
+  return 0;
+}
diff --git a/tests/j_recover_fast_commit/script b/tests/j_recover_fast_commit/script
index 22ef632..14cbb60 100755
--- a/tests/j_recover_fast_commit/script
+++ b/tests/j_recover_fast_commit/script
@@ -3,6 +3,7 @@
 FSCK_OPT=-fy
 IMAGE=$test_dir/image.gz
 CMDS=$test_dir/commands
+test_description="replay fast commit journal"
 
 gunzip < $IMAGE > $TMPFILE
 
@@ -10,7 +11,6 @@
 EXP=$test_dir/expect
 OUT=$test_name.log
 
-cp $TMPFILE /tmp/debugthis
 $FSCK $FSCK_OPT -E journal_only -N test_filesys $TMPFILE 2>/dev/null | head -n 1000 | tail -n +2 > $OUT
 echo "Exit status is $?" >> $OUT
 
diff --git a/tests/m_64bit_flexbg/expect.1 b/tests/m_64bit_flexbg/expect.1
index 956d248..0baea1b 100644
--- a/tests/m_64bit_flexbg/expect.1
+++ b/tests/m_64bit_flexbg/expect.1
@@ -10,7 +10,7 @@
 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), 42/1024 blocks
+test_filesys: 11/128 files (0.0% non-contiguous), 58/1024 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -24,8 +24,8 @@
 Inode count:              128
 Block count:              1024
 Reserved block count:     51
-Overhead clusters:        28
-Free blocks:              982
+Overhead clusters:        44
+Free blocks:              966
 Free inodes:              117
 First block:              1
 Block size:               1024
@@ -35,14 +35,16 @@
 Blocks per group:         8192
 Fragments per group:      8192
 Inodes per group:         128
-Inode blocks per group:   16
+Inode blocks per group:   32
 Flex block group size:    16
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -51,7 +53,7 @@
   Reserved GDT blocks at 3-9
   Block bitmap at 10 (+9)
   Inode bitmap at 26 (+25)
-  Inode table at 42-57 (+41)
-  982 free blocks, 117 free inodes, 2 directories
-  Free blocks: 24-25, 28-41, 58-1023
+  Inode table at 42-73 (+41)
+  966 free blocks, 117 free inodes, 2 directories
+  Free blocks: 24-25, 27-41, 75-1023
   Free inodes: 12-128
diff --git a/tests/m_bigjournal/script b/tests/m_bigjournal/script
index 96ea082..8c09bc0 100644
--- a/tests/m_bigjournal/script
+++ b/tests/m_bigjournal/script
@@ -3,9 +3,10 @@
 DUMPE2FS_IGNORE_80COL=1
 export DUMPE2FS_IGNORE_80COL
 MKE2FS_OPTS="-t ext4 -G 512 -N 1280 -J size=5000 -q -E lazy_journal_init,lazy_itable_init,nodiscard"
-if [ $(uname -s) = "Darwin" ]; then
+os=$(uname -s)
+if [ "$os" = "Darwin" -o "$os" = "GNU" ]; then
 	# creates a 44GB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for HFS+ (no sparse files)"
+	echo "$test_name: $DESCRIPTION: skipped for $os"
 	return 0
 fi
 . $cmd_dir/run_mke2fs
diff --git a/tests/m_dasd_bs/expect.1 b/tests/m_dasd_bs/expect.1
index 970d556..32883c4 100644
--- a/tests/m_dasd_bs/expect.1
+++ b/tests/m_dasd_bs/expect.1
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/16384 files (0.0% non-contiguous), 1104/32768 blocks
+test_filesys: 11/16384 files (0.0% non-contiguous), 2128/32768 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -26,8 +26,8 @@
 Inode count:              16384
 Block count:              32768
 Reserved block count:     1638
-Overhead clusters:        1094
-Free blocks:              31664
+Overhead clusters:        2118
+Free blocks:              30640
 Free inodes:              16373
 First block:              0
 Block size:               2048
@@ -36,13 +36,15 @@
 Blocks per group:         16384
 Fragments per group:      16384
 Inodes per group:         8192
-Inode blocks per group:   512
+Inode blocks per group:   1024
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -51,16 +53,16 @@
   Reserved GDT blocks at 2-32
   Block bitmap at 33 (+33)
   Inode bitmap at 34 (+34)
-  Inode table at 35-546 (+35)
-  15827 free blocks, 8181 free inodes, 2 directories
-  Free blocks: 557-16383
+  Inode table at 35-1058 (+35)
+  15315 free blocks, 8181 free inodes, 2 directories
+  Free blocks: 1069-16383
   Free inodes: 12-8192
 Group 1: (Blocks 16384-32767)
   Backup superblock at 16384, Group descriptors at 16385-16385
   Reserved GDT blocks at 16386-16416
   Block bitmap at 16417 (+33)
   Inode bitmap at 16418 (+34)
-  Inode table at 16419-16930 (+35)
-  15837 free blocks, 8192 free inodes, 0 directories
-  Free blocks: 16931-32767
+  Inode table at 16419-17442 (+35)
+  15325 free blocks, 8192 free inodes, 0 directories
+  Free blocks: 17443-32767
   Free inodes: 8193-16384
diff --git a/tests/m_desc_size_128/expect.1 b/tests/m_desc_size_128/expect.1
index 1cd9758..54b24e0 100644
--- a/tests/m_desc_size_128/expect.1
+++ b/tests/m_desc_size_128/expect.1
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/8192 files (0.0% non-contiguous), 4298/131072 blocks
+test_filesys: 11/8192 files (0.0% non-contiguous), 5322/131072 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -26,8 +26,8 @@
 Inode count:              8192
 Block count:              131072
 Reserved block count:     6553
-Overhead clusters:        4284
-Free blocks:              126774
+Overhead clusters:        5308
+Free blocks:              125750
 Free inodes:              8181
 First block:              1
 Block size:               1024
@@ -37,13 +37,15 @@
 Blocks per group:         1024
 Fragments per group:      1024
 Inodes per group:         64
-Inode blocks per group:   8
+Inode blocks per group:   16
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -51,789 +53,789 @@
   Primary superblock at 1, Group descriptors at 2-17
   Reserved GDT blocks at 18-273
   Block bitmap at 274 (+273), Inode bitmap at 275 (+274)
-  Inode table at 276-283 (+275)
-  727 free blocks, 53 free inodes, 2 directories
-  Free blocks: 298-1024
+  Inode table at 276-291 (+275)
+  719 free blocks, 53 free inodes, 2 directories
+  Free blocks: 306-1024
   Free inodes: 12-64
 Group 1: (Blocks 1025-2048)
   Backup superblock at 1025, Group descriptors at 1026-1041
   Reserved GDT blocks at 1042-1297
   Block bitmap at 1298 (+273), Inode bitmap at 1299 (+274)
-  Inode table at 1300-1307 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 1308-2048
+  Inode table at 1300-1315 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 1316-2048
   Free inodes: 65-128
 Group 2: (Blocks 2049-3072)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2058 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 2059-3072
+  Inode table at 2051-2066 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 2067-3072
   Free inodes: 129-192
 Group 3: (Blocks 3073-4096)
   Backup superblock at 3073, Group descriptors at 3074-3089
   Reserved GDT blocks at 3090-3345
   Block bitmap at 3346 (+273), Inode bitmap at 3347 (+274)
-  Inode table at 3348-3355 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 3356-4096
+  Inode table at 3348-3363 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 3364-4096
   Free inodes: 193-256
 Group 4: (Blocks 4097-5120)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4106 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 4107-5120
+  Inode table at 4099-4114 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 4115-5120
   Free inodes: 257-320
 Group 5: (Blocks 5121-6144)
   Backup superblock at 5121, Group descriptors at 5122-5137
   Reserved GDT blocks at 5138-5393
   Block bitmap at 5394 (+273), Inode bitmap at 5395 (+274)
-  Inode table at 5396-5403 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 5404-6144
+  Inode table at 5396-5411 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 5412-6144
   Free inodes: 321-384
 Group 6: (Blocks 6145-7168)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6154 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 6155-7168
+  Inode table at 6147-6162 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 6163-7168
   Free inodes: 385-448
 Group 7: (Blocks 7169-8192)
   Backup superblock at 7169, Group descriptors at 7170-7185
   Reserved GDT blocks at 7186-7441
   Block bitmap at 7442 (+273), Inode bitmap at 7443 (+274)
-  Inode table at 7444-7451 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 7452-8192
+  Inode table at 7444-7459 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 7460-8192
   Free inodes: 449-512
 Group 8: (Blocks 8193-9216)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8202 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 8203-9216
+  Inode table at 8195-8210 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 8211-9216
   Free inodes: 513-576
 Group 9: (Blocks 9217-10240)
   Backup superblock at 9217, Group descriptors at 9218-9233
   Reserved GDT blocks at 9234-9489
   Block bitmap at 9490 (+273), Inode bitmap at 9491 (+274)
-  Inode table at 9492-9499 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 9500-10240
+  Inode table at 9492-9507 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 9508-10240
   Free inodes: 577-640
 Group 10: (Blocks 10241-11264)
   Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
-  Inode table at 10243-10250 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 10251-11264
+  Inode table at 10243-10258 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 10259-11264
   Free inodes: 641-704
 Group 11: (Blocks 11265-12288)
   Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
-  Inode table at 11267-11274 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 11275-12288
+  Inode table at 11267-11282 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 11283-12288
   Free inodes: 705-768
 Group 12: (Blocks 12289-13312)
   Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
-  Inode table at 12291-12298 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 12299-13312
+  Inode table at 12291-12306 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 12307-13312
   Free inodes: 769-832
 Group 13: (Blocks 13313-14336)
   Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
-  Inode table at 13315-13322 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 13323-14336
+  Inode table at 13315-13330 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 13331-14336
   Free inodes: 833-896
 Group 14: (Blocks 14337-15360)
   Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
-  Inode table at 14339-14346 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 14347-15360
+  Inode table at 14339-14354 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 14355-15360
   Free inodes: 897-960
 Group 15: (Blocks 15361-16384)
   Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
-  Inode table at 15363-15370 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 15371-16384
+  Inode table at 15363-15378 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 15379-16384
   Free inodes: 961-1024
 Group 16: (Blocks 16385-17408)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16394 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 16395-17408
+  Inode table at 16387-16402 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 16403-17408
   Free inodes: 1025-1088
 Group 17: (Blocks 17409-18432)
   Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
-  Inode table at 17411-17418 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 17419-18432
+  Inode table at 17411-17426 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 17427-18432
   Free inodes: 1089-1152
 Group 18: (Blocks 18433-19456)
   Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
-  Inode table at 18435-18442 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 18443-19456
+  Inode table at 18435-18450 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 18451-19456
   Free inodes: 1153-1216
 Group 19: (Blocks 19457-20480)
   Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
-  Inode table at 19459-19466 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 19467-20480
+  Inode table at 19459-19474 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 19475-20480
   Free inodes: 1217-1280
 Group 20: (Blocks 20481-21504)
   Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1)
-  Inode table at 20483-20490 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 20491-21504
+  Inode table at 20483-20498 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 20499-21504
   Free inodes: 1281-1344
 Group 21: (Blocks 21505-22528)
   Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1)
-  Inode table at 21507-21514 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 21515-22528
+  Inode table at 21507-21522 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 21523-22528
   Free inodes: 1345-1408
 Group 22: (Blocks 22529-23552)
   Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1)
-  Inode table at 22531-22538 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 22539-23552
+  Inode table at 22531-22546 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 22547-23552
   Free inodes: 1409-1472
 Group 23: (Blocks 23553-24576)
   Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1)
-  Inode table at 23555-23562 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 23563-24576
+  Inode table at 23555-23570 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 23571-24576
   Free inodes: 1473-1536
 Group 24: (Blocks 24577-25600)
   Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1)
-  Inode table at 24579-24586 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 24587-25600
+  Inode table at 24579-24594 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 24595-25600
   Free inodes: 1537-1600
 Group 25: (Blocks 25601-26624)
   Backup superblock at 25601, Group descriptors at 25602-25617
   Reserved GDT blocks at 25618-25873
   Block bitmap at 25874 (+273), Inode bitmap at 25875 (+274)
-  Inode table at 25876-25883 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 25884-26624
+  Inode table at 25876-25891 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 25892-26624
   Free inodes: 1601-1664
 Group 26: (Blocks 26625-27648)
   Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1)
-  Inode table at 26627-26634 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 26635-27648
+  Inode table at 26627-26642 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 26643-27648
   Free inodes: 1665-1728
 Group 27: (Blocks 27649-28672)
   Backup superblock at 27649, Group descriptors at 27650-27665
   Reserved GDT blocks at 27666-27921
   Block bitmap at 27922 (+273), Inode bitmap at 27923 (+274)
-  Inode table at 27924-27931 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 27932-28672
+  Inode table at 27924-27939 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 27940-28672
   Free inodes: 1729-1792
 Group 28: (Blocks 28673-29696)
   Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1)
-  Inode table at 28675-28682 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 28683-29696
+  Inode table at 28675-28690 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 28691-29696
   Free inodes: 1793-1856
 Group 29: (Blocks 29697-30720)
   Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1)
-  Inode table at 29699-29706 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 29707-30720
+  Inode table at 29699-29714 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 29715-30720
   Free inodes: 1857-1920
 Group 30: (Blocks 30721-31744)
   Block bitmap at 30721 (+0), Inode bitmap at 30722 (+1)
-  Inode table at 30723-30730 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 30731-31744
+  Inode table at 30723-30738 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 30739-31744
   Free inodes: 1921-1984
 Group 31: (Blocks 31745-32768)
   Block bitmap at 31745 (+0), Inode bitmap at 31746 (+1)
-  Inode table at 31747-31754 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 31755-32768
+  Inode table at 31747-31762 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 31763-32768
   Free inodes: 1985-2048
 Group 32: (Blocks 32769-33792)
   Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
-  Inode table at 32771-32778 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 32779-33792
+  Inode table at 32771-32786 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 32787-33792
   Free inodes: 2049-2112
 Group 33: (Blocks 33793-34816)
   Block bitmap at 33793 (+0), Inode bitmap at 33794 (+1)
-  Inode table at 33795-33802 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 33803-34816
+  Inode table at 33795-33810 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 33811-34816
   Free inodes: 2113-2176
 Group 34: (Blocks 34817-35840)
   Block bitmap at 34817 (+0), Inode bitmap at 34818 (+1)
-  Inode table at 34819-34826 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 34827-35840
+  Inode table at 34819-34834 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 34835-35840
   Free inodes: 2177-2240
 Group 35: (Blocks 35841-36864)
   Block bitmap at 35841 (+0), Inode bitmap at 35842 (+1)
-  Inode table at 35843-35850 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 35851-36864
+  Inode table at 35843-35858 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 35859-36864
   Free inodes: 2241-2304
 Group 36: (Blocks 36865-37888)
   Block bitmap at 36865 (+0), Inode bitmap at 36866 (+1)
-  Inode table at 36867-36874 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 36875-37888
+  Inode table at 36867-36882 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 36883-37888
   Free inodes: 2305-2368
 Group 37: (Blocks 37889-38912)
   Block bitmap at 37889 (+0), Inode bitmap at 37890 (+1)
-  Inode table at 37891-37898 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 37899-38912
+  Inode table at 37891-37906 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 37907-38912
   Free inodes: 2369-2432
 Group 38: (Blocks 38913-39936)
   Block bitmap at 38913 (+0), Inode bitmap at 38914 (+1)
-  Inode table at 38915-38922 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 38923-39936
+  Inode table at 38915-38930 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 38931-39936
   Free inodes: 2433-2496
 Group 39: (Blocks 39937-40960)
   Block bitmap at 39937 (+0), Inode bitmap at 39938 (+1)
-  Inode table at 39939-39946 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 39947-40960
+  Inode table at 39939-39954 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 39955-40960
   Free inodes: 2497-2560
 Group 40: (Blocks 40961-41984)
   Block bitmap at 40961 (+0), Inode bitmap at 40962 (+1)
-  Inode table at 40963-40970 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 40971-41984
+  Inode table at 40963-40978 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 40979-41984
   Free inodes: 2561-2624
 Group 41: (Blocks 41985-43008)
   Block bitmap at 41985 (+0), Inode bitmap at 41986 (+1)
-  Inode table at 41987-41994 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 41995-43008
+  Inode table at 41987-42002 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 42003-43008
   Free inodes: 2625-2688
 Group 42: (Blocks 43009-44032)
   Block bitmap at 43009 (+0), Inode bitmap at 43010 (+1)
-  Inode table at 43011-43018 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 43019-44032
+  Inode table at 43011-43026 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 43027-44032
   Free inodes: 2689-2752
 Group 43: (Blocks 44033-45056)
   Block bitmap at 44033 (+0), Inode bitmap at 44034 (+1)
-  Inode table at 44035-44042 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 44043-45056
+  Inode table at 44035-44050 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 44051-45056
   Free inodes: 2753-2816
 Group 44: (Blocks 45057-46080)
   Block bitmap at 45057 (+0), Inode bitmap at 45058 (+1)
-  Inode table at 45059-45066 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 45067-46080
+  Inode table at 45059-45074 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 45075-46080
   Free inodes: 2817-2880
 Group 45: (Blocks 46081-47104)
   Block bitmap at 46081 (+0), Inode bitmap at 46082 (+1)
-  Inode table at 46083-46090 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 46091-47104
+  Inode table at 46083-46098 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 46099-47104
   Free inodes: 2881-2944
 Group 46: (Blocks 47105-48128)
   Block bitmap at 47105 (+0), Inode bitmap at 47106 (+1)
-  Inode table at 47107-47114 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 47115-48128
+  Inode table at 47107-47122 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 47123-48128
   Free inodes: 2945-3008
 Group 47: (Blocks 48129-49152)
   Block bitmap at 48129 (+0), Inode bitmap at 48130 (+1)
-  Inode table at 48131-48138 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 48139-49152
+  Inode table at 48131-48146 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 48147-49152
   Free inodes: 3009-3072
 Group 48: (Blocks 49153-50176)
   Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
-  Inode table at 49155-49162 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 49163-50176
+  Inode table at 49155-49170 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 49171-50176
   Free inodes: 3073-3136
 Group 49: (Blocks 50177-51200)
   Backup superblock at 50177, Group descriptors at 50178-50193
   Reserved GDT blocks at 50194-50449
   Block bitmap at 50450 (+273), Inode bitmap at 50451 (+274)
-  Inode table at 50452-50459 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 50460-51200
+  Inode table at 50452-50467 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 50468-51200
   Free inodes: 3137-3200
 Group 50: (Blocks 51201-52224)
   Block bitmap at 51201 (+0), Inode bitmap at 51202 (+1)
-  Inode table at 51203-51210 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 51211-52224
+  Inode table at 51203-51218 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 51219-52224
   Free inodes: 3201-3264
 Group 51: (Blocks 52225-53248)
   Block bitmap at 52225 (+0), Inode bitmap at 52226 (+1)
-  Inode table at 52227-52234 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 52235-53248
+  Inode table at 52227-52242 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 52243-53248
   Free inodes: 3265-3328
 Group 52: (Blocks 53249-54272)
   Block bitmap at 53249 (+0), Inode bitmap at 53250 (+1)
-  Inode table at 53251-53258 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 53259-54272
+  Inode table at 53251-53266 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 53267-54272
   Free inodes: 3329-3392
 Group 53: (Blocks 54273-55296)
   Block bitmap at 54273 (+0), Inode bitmap at 54274 (+1)
-  Inode table at 54275-54282 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 54283-55296
+  Inode table at 54275-54290 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 54291-55296
   Free inodes: 3393-3456
 Group 54: (Blocks 55297-56320)
   Block bitmap at 55297 (+0), Inode bitmap at 55298 (+1)
-  Inode table at 55299-55306 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 55307-56320
+  Inode table at 55299-55314 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 55315-56320
   Free inodes: 3457-3520
 Group 55: (Blocks 56321-57344)
   Block bitmap at 56321 (+0), Inode bitmap at 56322 (+1)
-  Inode table at 56323-56330 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 56331-57344
+  Inode table at 56323-56338 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 56339-57344
   Free inodes: 3521-3584
 Group 56: (Blocks 57345-58368)
   Block bitmap at 57345 (+0), Inode bitmap at 57346 (+1)
-  Inode table at 57347-57354 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 57355-58368
+  Inode table at 57347-57362 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 57363-58368
   Free inodes: 3585-3648
 Group 57: (Blocks 58369-59392)
   Block bitmap at 58369 (+0), Inode bitmap at 58370 (+1)
-  Inode table at 58371-58378 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 58379-59392
+  Inode table at 58371-58386 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 58387-59392
   Free inodes: 3649-3712
 Group 58: (Blocks 59393-60416)
   Block bitmap at 59393 (+0), Inode bitmap at 59394 (+1)
-  Inode table at 59395-59402 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 59403-60416
+  Inode table at 59395-59410 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 59411-60416
   Free inodes: 3713-3776
 Group 59: (Blocks 60417-61440)
   Block bitmap at 60417 (+0), Inode bitmap at 60418 (+1)
-  Inode table at 60419-60426 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 60427-61440
+  Inode table at 60419-60434 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 60435-61440
   Free inodes: 3777-3840
 Group 60: (Blocks 61441-62464)
   Block bitmap at 61441 (+0), Inode bitmap at 61442 (+1)
-  Inode table at 61443-61450 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 61451-62464
+  Inode table at 61443-61458 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 61459-62464
   Free inodes: 3841-3904
 Group 61: (Blocks 62465-63488)
   Block bitmap at 62465 (+0), Inode bitmap at 62466 (+1)
-  Inode table at 62467-62474 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 62475-63488
+  Inode table at 62467-62482 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 62483-63488
   Free inodes: 3905-3968
 Group 62: (Blocks 63489-64512)
   Block bitmap at 63489 (+0), Inode bitmap at 63490 (+1)
-  Inode table at 63491-63498 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 63499-64512
+  Inode table at 63491-63506 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 63507-64512
   Free inodes: 3969-4032
 Group 63: (Blocks 64513-65536)
   Block bitmap at 64513 (+0), Inode bitmap at 64514 (+1)
-  Inode table at 64515-64522 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 64523-65536
+  Inode table at 64515-64530 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 64531-65536
   Free inodes: 4033-4096
 Group 64: (Blocks 65537-66560)
   Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
-  Inode table at 65539-65546 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 65547-66560
+  Inode table at 65539-65554 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 65555-66560
   Free inodes: 4097-4160
 Group 65: (Blocks 66561-67584)
   Block bitmap at 66561 (+0), Inode bitmap at 66562 (+1)
-  Inode table at 66563-66570 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 66571-67584
+  Inode table at 66563-66578 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 66579-67584
   Free inodes: 4161-4224
 Group 66: (Blocks 67585-68608)
   Block bitmap at 67585 (+0), Inode bitmap at 67586 (+1)
-  Inode table at 67587-67594 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 67595-68608
+  Inode table at 67587-67602 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 67603-68608
   Free inodes: 4225-4288
 Group 67: (Blocks 68609-69632)
   Block bitmap at 68609 (+0), Inode bitmap at 68610 (+1)
-  Inode table at 68611-68618 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 68619-69632
+  Inode table at 68611-68626 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 68627-69632
   Free inodes: 4289-4352
 Group 68: (Blocks 69633-70656)
   Block bitmap at 69633 (+0), Inode bitmap at 69634 (+1)
-  Inode table at 69635-69642 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 69643-70656
+  Inode table at 69635-69650 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 69651-70656
   Free inodes: 4353-4416
 Group 69: (Blocks 70657-71680)
   Block bitmap at 70657 (+0), Inode bitmap at 70658 (+1)
-  Inode table at 70659-70666 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 70667-71680
+  Inode table at 70659-70674 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 70675-71680
   Free inodes: 4417-4480
 Group 70: (Blocks 71681-72704)
   Block bitmap at 71681 (+0), Inode bitmap at 71682 (+1)
-  Inode table at 71683-71690 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 71691-72704
+  Inode table at 71683-71698 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 71699-72704
   Free inodes: 4481-4544
 Group 71: (Blocks 72705-73728)
   Block bitmap at 72705 (+0), Inode bitmap at 72706 (+1)
-  Inode table at 72707-72714 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 72715-73728
+  Inode table at 72707-72722 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 72723-73728
   Free inodes: 4545-4608
 Group 72: (Blocks 73729-74752)
   Block bitmap at 73729 (+0), Inode bitmap at 73730 (+1)
-  Inode table at 73731-73738 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 73739-74752
+  Inode table at 73731-73746 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 73747-74752
   Free inodes: 4609-4672
 Group 73: (Blocks 74753-75776)
   Block bitmap at 74753 (+0), Inode bitmap at 74754 (+1)
-  Inode table at 74755-74762 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 74763-75776
+  Inode table at 74755-74770 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 74771-75776
   Free inodes: 4673-4736
 Group 74: (Blocks 75777-76800)
   Block bitmap at 75777 (+0), Inode bitmap at 75778 (+1)
-  Inode table at 75779-75786 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 75787-76800
+  Inode table at 75779-75794 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 75795-76800
   Free inodes: 4737-4800
 Group 75: (Blocks 76801-77824)
   Block bitmap at 76801 (+0), Inode bitmap at 76802 (+1)
-  Inode table at 76803-76810 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 76811-77824
+  Inode table at 76803-76818 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 76819-77824
   Free inodes: 4801-4864
 Group 76: (Blocks 77825-78848)
   Block bitmap at 77825 (+0), Inode bitmap at 77826 (+1)
-  Inode table at 77827-77834 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 77835-78848
+  Inode table at 77827-77842 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 77843-78848
   Free inodes: 4865-4928
 Group 77: (Blocks 78849-79872)
   Block bitmap at 78849 (+0), Inode bitmap at 78850 (+1)
-  Inode table at 78851-78858 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 78859-79872
+  Inode table at 78851-78866 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 78867-79872
   Free inodes: 4929-4992
 Group 78: (Blocks 79873-80896)
   Block bitmap at 79873 (+0), Inode bitmap at 79874 (+1)
-  Inode table at 79875-79882 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 79883-80896
+  Inode table at 79875-79890 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 79891-80896
   Free inodes: 4993-5056
 Group 79: (Blocks 80897-81920)
   Block bitmap at 80897 (+0), Inode bitmap at 80898 (+1)
-  Inode table at 80899-80906 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 80907-81920
+  Inode table at 80899-80914 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 80915-81920
   Free inodes: 5057-5120
 Group 80: (Blocks 81921-82944)
   Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
-  Inode table at 81923-81930 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 81931-82944
+  Inode table at 81923-81938 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 81939-82944
   Free inodes: 5121-5184
 Group 81: (Blocks 82945-83968)
   Backup superblock at 82945, Group descriptors at 82946-82961
   Reserved GDT blocks at 82962-83217
   Block bitmap at 83218 (+273), Inode bitmap at 83219 (+274)
-  Inode table at 83220-83227 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 83228-83968
+  Inode table at 83220-83235 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 83236-83968
   Free inodes: 5185-5248
 Group 82: (Blocks 83969-84992)
   Block bitmap at 83969 (+0), Inode bitmap at 83970 (+1)
-  Inode table at 83971-83978 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 83979-84992
+  Inode table at 83971-83986 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 83987-84992
   Free inodes: 5249-5312
 Group 83: (Blocks 84993-86016)
   Block bitmap at 84993 (+0), Inode bitmap at 84994 (+1)
-  Inode table at 84995-85002 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 85003-86016
+  Inode table at 84995-85010 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 85011-86016
   Free inodes: 5313-5376
 Group 84: (Blocks 86017-87040)
   Block bitmap at 86017 (+0), Inode bitmap at 86018 (+1)
-  Inode table at 86019-86026 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 86027-87040
+  Inode table at 86019-86034 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 86035-87040
   Free inodes: 5377-5440
 Group 85: (Blocks 87041-88064)
   Block bitmap at 87041 (+0), Inode bitmap at 87042 (+1)
-  Inode table at 87043-87050 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 87051-88064
+  Inode table at 87043-87058 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 87059-88064
   Free inodes: 5441-5504
 Group 86: (Blocks 88065-89088)
   Block bitmap at 88065 (+0), Inode bitmap at 88066 (+1)
-  Inode table at 88067-88074 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 88075-89088
+  Inode table at 88067-88082 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 88083-89088
   Free inodes: 5505-5568
 Group 87: (Blocks 89089-90112)
   Block bitmap at 89089 (+0), Inode bitmap at 89090 (+1)
-  Inode table at 89091-89098 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 89099-90112
+  Inode table at 89091-89106 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 89107-90112
   Free inodes: 5569-5632
 Group 88: (Blocks 90113-91136)
   Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
-  Inode table at 90115-90122 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 90123-91136
+  Inode table at 90115-90130 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 90131-91136
   Free inodes: 5633-5696
 Group 89: (Blocks 91137-92160)
   Block bitmap at 91137 (+0), Inode bitmap at 91138 (+1)
-  Inode table at 91139-91146 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 91147-92160
+  Inode table at 91139-91154 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 91155-92160
   Free inodes: 5697-5760
 Group 90: (Blocks 92161-93184)
   Block bitmap at 92161 (+0), Inode bitmap at 92162 (+1)
-  Inode table at 92163-92170 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 92171-93184
+  Inode table at 92163-92178 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 92179-93184
   Free inodes: 5761-5824
 Group 91: (Blocks 93185-94208)
   Block bitmap at 93185 (+0), Inode bitmap at 93186 (+1)
-  Inode table at 93187-93194 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 93195-94208
+  Inode table at 93187-93202 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 93203-94208
   Free inodes: 5825-5888
 Group 92: (Blocks 94209-95232)
   Block bitmap at 94209 (+0), Inode bitmap at 94210 (+1)
-  Inode table at 94211-94218 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 94219-95232
+  Inode table at 94211-94226 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 94227-95232
   Free inodes: 5889-5952
 Group 93: (Blocks 95233-96256)
   Block bitmap at 95233 (+0), Inode bitmap at 95234 (+1)
-  Inode table at 95235-95242 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 95243-96256
+  Inode table at 95235-95250 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 95251-96256
   Free inodes: 5953-6016
 Group 94: (Blocks 96257-97280)
   Block bitmap at 96257 (+0), Inode bitmap at 96258 (+1)
-  Inode table at 96259-96266 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 96267-97280
+  Inode table at 96259-96274 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 96275-97280
   Free inodes: 6017-6080
 Group 95: (Blocks 97281-98304)
   Block bitmap at 97281 (+0), Inode bitmap at 97282 (+1)
-  Inode table at 97283-97290 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 97291-98304
+  Inode table at 97283-97298 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 97299-98304
   Free inodes: 6081-6144
 Group 96: (Blocks 98305-99328)
   Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
-  Inode table at 98307-98314 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 98315-99328
+  Inode table at 98307-98322 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 98323-99328
   Free inodes: 6145-6208
 Group 97: (Blocks 99329-100352)
   Block bitmap at 99329 (+0), Inode bitmap at 99330 (+1)
-  Inode table at 99331-99338 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 99339-100352
+  Inode table at 99331-99346 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 99347-100352
   Free inodes: 6209-6272
 Group 98: (Blocks 100353-101376)
   Block bitmap at 100353 (+0), Inode bitmap at 100354 (+1)
-  Inode table at 100355-100362 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 100363-101376
+  Inode table at 100355-100370 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 100371-101376
   Free inodes: 6273-6336
 Group 99: (Blocks 101377-102400)
   Block bitmap at 101377 (+0), Inode bitmap at 101378 (+1)
-  Inode table at 101379-101386 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 101387-102400
+  Inode table at 101379-101394 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 101395-102400
   Free inodes: 6337-6400
 Group 100: (Blocks 102401-103424)
   Block bitmap at 102401 (+0), Inode bitmap at 102402 (+1)
-  Inode table at 102403-102410 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 102411-103424
+  Inode table at 102403-102418 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 102419-103424
   Free inodes: 6401-6464
 Group 101: (Blocks 103425-104448)
   Block bitmap at 103425 (+0), Inode bitmap at 103426 (+1)
-  Inode table at 103427-103434 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 103435-104448
+  Inode table at 103427-103442 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 103443-104448
   Free inodes: 6465-6528
 Group 102: (Blocks 104449-105472)
   Block bitmap at 104449 (+0), Inode bitmap at 104450 (+1)
-  Inode table at 104451-104458 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 104459-105472
+  Inode table at 104451-104466 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 104467-105472
   Free inodes: 6529-6592
 Group 103: (Blocks 105473-106496)
   Block bitmap at 105473 (+0), Inode bitmap at 105474 (+1)
-  Inode table at 105475-105482 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 105483-106496
+  Inode table at 105475-105490 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 105491-106496
   Free inodes: 6593-6656
 Group 104: (Blocks 106497-107520)
   Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
-  Inode table at 106499-106506 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 106507-107520
+  Inode table at 106499-106514 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 106515-107520
   Free inodes: 6657-6720
 Group 105: (Blocks 107521-108544)
   Block bitmap at 107521 (+0), Inode bitmap at 107522 (+1)
-  Inode table at 107523-107530 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 107531-108544
+  Inode table at 107523-107538 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 107539-108544
   Free inodes: 6721-6784
 Group 106: (Blocks 108545-109568)
   Block bitmap at 108545 (+0), Inode bitmap at 108546 (+1)
-  Inode table at 108547-108554 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 108555-109568
+  Inode table at 108547-108562 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 108563-109568
   Free inodes: 6785-6848
 Group 107: (Blocks 109569-110592)
   Block bitmap at 109569 (+0), Inode bitmap at 109570 (+1)
-  Inode table at 109571-109578 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 109579-110592
+  Inode table at 109571-109586 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 109587-110592
   Free inodes: 6849-6912
 Group 108: (Blocks 110593-111616)
   Block bitmap at 110593 (+0), Inode bitmap at 110594 (+1)
-  Inode table at 110595-110602 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 110603-111616
+  Inode table at 110595-110610 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 110611-111616
   Free inodes: 6913-6976
 Group 109: (Blocks 111617-112640)
   Block bitmap at 111617 (+0), Inode bitmap at 111618 (+1)
-  Inode table at 111619-111626 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 111627-112640
+  Inode table at 111619-111634 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 111635-112640
   Free inodes: 6977-7040
 Group 110: (Blocks 112641-113664)
   Block bitmap at 112641 (+0), Inode bitmap at 112642 (+1)
-  Inode table at 112643-112650 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 112651-113664
+  Inode table at 112643-112658 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 112659-113664
   Free inodes: 7041-7104
 Group 111: (Blocks 113665-114688)
   Block bitmap at 113665 (+0), Inode bitmap at 113666 (+1)
-  Inode table at 113667-113674 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 113675-114688
+  Inode table at 113667-113682 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 113683-114688
   Free inodes: 7105-7168
 Group 112: (Blocks 114689-115712)
   Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
-  Inode table at 114691-114698 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 114699-115712
+  Inode table at 114691-114706 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 114707-115712
   Free inodes: 7169-7232
 Group 113: (Blocks 115713-116736)
   Block bitmap at 115713 (+0), Inode bitmap at 115714 (+1)
-  Inode table at 115715-115722 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 115723-116736
+  Inode table at 115715-115730 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 115731-116736
   Free inodes: 7233-7296
 Group 114: (Blocks 116737-117760)
   Block bitmap at 116737 (+0), Inode bitmap at 116738 (+1)
-  Inode table at 116739-116746 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 116747-117760
+  Inode table at 116739-116754 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 116755-117760
   Free inodes: 7297-7360
 Group 115: (Blocks 117761-118784)
   Block bitmap at 117761 (+0), Inode bitmap at 117762 (+1)
-  Inode table at 117763-117770 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 117771-118784
+  Inode table at 117763-117778 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 117779-118784
   Free inodes: 7361-7424
 Group 116: (Blocks 118785-119808)
   Block bitmap at 118785 (+0), Inode bitmap at 118786 (+1)
-  Inode table at 118787-118794 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 118795-119808
+  Inode table at 118787-118802 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 118803-119808
   Free inodes: 7425-7488
 Group 117: (Blocks 119809-120832)
   Block bitmap at 119809 (+0), Inode bitmap at 119810 (+1)
-  Inode table at 119811-119818 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 119819-120832
+  Inode table at 119811-119826 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 119827-120832
   Free inodes: 7489-7552
 Group 118: (Blocks 120833-121856)
   Block bitmap at 120833 (+0), Inode bitmap at 120834 (+1)
-  Inode table at 120835-120842 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 120843-121856
+  Inode table at 120835-120850 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 120851-121856
   Free inodes: 7553-7616
 Group 119: (Blocks 121857-122880)
   Block bitmap at 121857 (+0), Inode bitmap at 121858 (+1)
-  Inode table at 121859-121866 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 121867-122880
+  Inode table at 121859-121874 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 121875-122880
   Free inodes: 7617-7680
 Group 120: (Blocks 122881-123904)
   Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
-  Inode table at 122883-122890 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 122891-123904
+  Inode table at 122883-122898 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 122899-123904
   Free inodes: 7681-7744
 Group 121: (Blocks 123905-124928)
   Block bitmap at 123905 (+0), Inode bitmap at 123906 (+1)
-  Inode table at 123907-123914 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 123915-124928
+  Inode table at 123907-123922 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 123923-124928
   Free inodes: 7745-7808
 Group 122: (Blocks 124929-125952)
   Block bitmap at 124929 (+0), Inode bitmap at 124930 (+1)
-  Inode table at 124931-124938 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 124939-125952
+  Inode table at 124931-124946 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 124947-125952
   Free inodes: 7809-7872
 Group 123: (Blocks 125953-126976)
   Block bitmap at 125953 (+0), Inode bitmap at 125954 (+1)
-  Inode table at 125955-125962 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 125963-126976
+  Inode table at 125955-125970 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 125971-126976
   Free inodes: 7873-7936
 Group 124: (Blocks 126977-128000)
   Block bitmap at 126977 (+0), Inode bitmap at 126978 (+1)
-  Inode table at 126979-126986 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 126987-128000
+  Inode table at 126979-126994 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 126995-128000
   Free inodes: 7937-8000
 Group 125: (Blocks 128001-129024)
   Backup superblock at 128001, Group descriptors at 128002-128017
   Reserved GDT blocks at 128018-128273
   Block bitmap at 128274 (+273), Inode bitmap at 128275 (+274)
-  Inode table at 128276-128283 (+275)
-  741 free blocks, 64 free inodes, 0 directories
-  Free blocks: 128284-129024
+  Inode table at 128276-128291 (+275)
+  733 free blocks, 64 free inodes, 0 directories
+  Free blocks: 128292-129024
   Free inodes: 8001-8064
 Group 126: (Blocks 129025-130048)
   Block bitmap at 129025 (+0), Inode bitmap at 129026 (+1)
-  Inode table at 129027-129034 (+2)
-  1014 free blocks, 64 free inodes, 0 directories
-  Free blocks: 129035-130048
+  Inode table at 129027-129042 (+2)
+  1006 free blocks, 64 free inodes, 0 directories
+  Free blocks: 129043-130048
   Free inodes: 8065-8128
 Group 127: (Blocks 130049-131071)
   Block bitmap at 130049 (+0), Inode bitmap at 130050 (+1)
-  Inode table at 130051-130058 (+2)
-  1013 free blocks, 64 free inodes, 0 directories
-  Free blocks: 130059-131071
+  Inode table at 130051-130066 (+2)
+  1005 free blocks, 64 free inodes, 0 directories
+  Free blocks: 130067-131071
   Free inodes: 8129-8192
diff --git a/tests/m_extent_journal/expect.1 b/tests/m_extent_journal/expect.1
index 9a9219e..11124e4 100644
--- a/tests/m_extent_journal/expect.1
+++ b/tests/m_extent_journal/expect.1
@@ -13,7 +13,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/16384 files (0.0% non-contiguous), 7460/65536 blocks
+test_filesys: 11/16384 files (0.0% non-contiguous), 9508/65536 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -27,8 +27,8 @@
 Inode count:              16384
 Block count:              65536
 Reserved block count:     3276
-Overhead clusters:        7446
-Free blocks:              58076
+Overhead clusters:        9494
+Free blocks:              56028
 Free inodes:              16373
 First block:              1
 Block size:               1024
@@ -37,13 +37,15 @@
 Blocks per group:         8192
 Fragments per group:      8192
 Inodes per group:         2048
-Inode blocks per group:   256
+Inode blocks per group:   512
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Journal inode:            8
 Default directory hash:   half_md4
 Journal backup:           inode blocks
@@ -60,57 +62,57 @@
   Primary superblock at 1, Group descriptors at 2-2
   Reserved GDT blocks at 3-257
   Block bitmap at 258 (+257), Inode bitmap at 259 (+258)
-  Inode table at 260-515 (+259)
-  7663 free blocks, 2037 free inodes, 2 directories
-  Free blocks: 530-8192
+  Inode table at 260-771 (+259)
+  7407 free blocks, 2037 free inodes, 2 directories
+  Free blocks: 786-8192
   Free inodes: 12-2048
 Group 1: (Blocks 8193-16384)
   Backup superblock at 8193, Group descriptors at 8194-8194
   Reserved GDT blocks at 8195-8449
   Block bitmap at 8450 (+257), Inode bitmap at 8451 (+258)
-  Inode table at 8452-8707 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 8708-16384
+  Inode table at 8452-8963 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 8964-16384
   Free inodes: 2049-4096
 Group 2: (Blocks 16385-24576)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16642 (+2)
-  3838 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 20739-24576
+  Inode table at 16387-16898 (+2)
+  3582 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 20995-24576
   Free inodes: 4097-6144
 Group 3: (Blocks 24577-32768)
   Backup superblock at 24577, Group descriptors at 24578-24578
   Reserved GDT blocks at 24579-24833
   Block bitmap at 24834 (+257), Inode bitmap at 24835 (+258)
-  Inode table at 24836-25091 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 25092-32768
+  Inode table at 24836-25347 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 25348-32768
   Free inodes: 6145-8192
 Group 4: (Blocks 32769-40960)
   Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
-  Inode table at 32771-33026 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 33027-40960
+  Inode table at 32771-33282 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 33283-40960
   Free inodes: 8193-10240
 Group 5: (Blocks 40961-49152)
   Backup superblock at 40961, Group descriptors at 40962-40962
   Reserved GDT blocks at 40963-41217
   Block bitmap at 41218 (+257), Inode bitmap at 41219 (+258)
-  Inode table at 41220-41475 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 41476-49152
+  Inode table at 41220-41731 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 41732-49152
   Free inodes: 10241-12288
 Group 6: (Blocks 49153-57344)
   Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
-  Inode table at 49155-49410 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 49411-57344
+  Inode table at 49155-49666 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 49667-57344
   Free inodes: 12289-14336
 Group 7: (Blocks 57345-65535)
   Backup superblock at 57345, Group descriptors at 57346-57346
   Reserved GDT blocks at 57347-57601
   Block bitmap at 57602 (+257), Inode bitmap at 57603 (+258)
-  Inode table at 57604-57859 (+259)
-  7676 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 57860-65535
+  Inode table at 57604-58115 (+259)
+  7420 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 58116-65535
   Free inodes: 14337-16384
diff --git a/tests/m_hugefile/script b/tests/m_hugefile/script
index 1abdb7d..fc1d115 100644
--- a/tests/m_hugefile/script
+++ b/tests/m_hugefile/script
@@ -3,15 +3,10 @@
 EXP=$test_dir/expect
 CONF=$TMPFILE.conf
 
-if [ $(uname -s) = "Darwin" ]; then
-	# creates a 4TB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for HFS+ (no sparse files)"
-	return 0
-fi
-
-if [ $(uname -s) = "FreeBSD" ]; then
-	# creates a 4TB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for FreeBSD (no sparse files)"
+os=$(uname -s)
+if [ "$os" = "Darwin" -o "$os" = "GNU" -o "FreeBSD" ]; then
+	# creates a 44GB filesystem
+	echo "$test_name: $test_description: skipped for $os"
 	return 0
 fi
 
diff --git a/tests/m_hugefile_slack/expect b/tests/m_hugefile_slack/expect
index f740cdb..e2e2fd6 100644
--- a/tests/m_hugefile_slack/expect
+++ b/tests/m_hugefile_slack/expect
@@ -1,4 +1,5 @@
 mke2fs -F -T ext4h -I 128 test.img 786432
+128-byte inodes cannot handle dates beyond 2038 and are deprecated
 Creating filesystem with 786432 1k blocks and 98304 inodes
 Superblock backups stored on blocks: 
 	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553
diff --git a/tests/m_image_mmp/expect.1 b/tests/m_image_mmp/expect.1
index 6630002..3bca182 100644
--- a/tests/m_image_mmp/expect.1
+++ b/tests/m_image_mmp/expect.1
@@ -3,5 +3,5 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/64 files (0.0% non-contiguous), 13/100 blocks
+test_filesys: 11/64 files (0.0% non-contiguous), 15/100 blocks
 Exit status is 0
diff --git a/tests/m_meta_bg/expect.1 b/tests/m_meta_bg/expect.1
index 1b90b55..28fd5b1 100644
--- a/tests/m_meta_bg/expect.1
+++ b/tests/m_meta_bg/expect.1
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/32768 files (0.0% non-contiguous), 4389/131072 blocks
+test_filesys: 11/32768 files (0.0% non-contiguous), 8485/131072 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -26,8 +26,8 @@
 Inode count:              32768
 Block count:              131072
 Reserved block count:     6553
-Overhead clusters:        4376
-Free blocks:              126683
+Overhead clusters:        8472
+Free blocks:              122587
 Free inodes:              32757
 First block:              1
 Block size:               1024
@@ -35,802 +35,804 @@
 Blocks per group:         1024
 Fragments per group:      1024
 Inodes per group:         256
-Inode blocks per group:   32
+Inode blocks per group:   64
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
 Group 0: (Blocks 1-1024)
   Primary superblock at 1, Group descriptor at 2
   Block bitmap at 3 (+2), Inode bitmap at 4 (+3)
-  Inode table at 5-36 (+4)
-  975 free blocks, 245 free inodes, 2 directories
-  Free blocks: 50-1024
+  Inode table at 5-68 (+4)
+  943 free blocks, 245 free inodes, 2 directories
+  Free blocks: 82-1024
   Free inodes: 12-256
 Group 1: (Blocks 1025-2048)
   Backup superblock at 1025, Group descriptor at 1026
   Block bitmap at 1027 (+2), Inode bitmap at 1028 (+3)
-  Inode table at 1029-1060 (+4)
-  988 free blocks, 256 free inodes, 0 directories
-  Free blocks: 1061-2048
+  Inode table at 1029-1092 (+4)
+  956 free blocks, 256 free inodes, 0 directories
+  Free blocks: 1093-2048
   Free inodes: 257-512
 Group 2: (Blocks 2049-3072)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2082 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 2083-3072
+  Inode table at 2051-2114 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 2115-3072
   Free inodes: 513-768
 Group 3: (Blocks 3073-4096)
   Backup superblock at 3073
   Block bitmap at 3074 (+1), Inode bitmap at 3075 (+2)
-  Inode table at 3076-3107 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 3108-4096
+  Inode table at 3076-3139 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 3140-4096
   Free inodes: 769-1024
 Group 4: (Blocks 4097-5120)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4130 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 4131-5120
+  Inode table at 4099-4162 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 4163-5120
   Free inodes: 1025-1280
 Group 5: (Blocks 5121-6144)
   Backup superblock at 5121
   Block bitmap at 5122 (+1), Inode bitmap at 5123 (+2)
-  Inode table at 5124-5155 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 5156-6144
+  Inode table at 5124-5187 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 5188-6144
   Free inodes: 1281-1536
 Group 6: (Blocks 6145-7168)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6178 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 6179-7168
+  Inode table at 6147-6210 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 6211-7168
   Free inodes: 1537-1792
 Group 7: (Blocks 7169-8192)
   Backup superblock at 7169
   Block bitmap at 7170 (+1), Inode bitmap at 7171 (+2)
-  Inode table at 7172-7203 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 7204-8192
+  Inode table at 7172-7235 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 7236-8192
   Free inodes: 1793-2048
 Group 8: (Blocks 8193-9216)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8226 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 8227-9216
+  Inode table at 8195-8258 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 8259-9216
   Free inodes: 2049-2304
 Group 9: (Blocks 9217-10240)
   Backup superblock at 9217
   Block bitmap at 9218 (+1), Inode bitmap at 9219 (+2)
-  Inode table at 9220-9251 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 9252-10240
+  Inode table at 9220-9283 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 9284-10240
   Free inodes: 2305-2560
 Group 10: (Blocks 10241-11264)
   Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
-  Inode table at 10243-10274 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 10275-11264
+  Inode table at 10243-10306 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 10307-11264
   Free inodes: 2561-2816
 Group 11: (Blocks 11265-12288)
   Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
-  Inode table at 11267-11298 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 11299-12288
+  Inode table at 11267-11330 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 11331-12288
   Free inodes: 2817-3072
 Group 12: (Blocks 12289-13312)
   Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
-  Inode table at 12291-12322 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 12323-13312
+  Inode table at 12291-12354 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 12355-13312
   Free inodes: 3073-3328
 Group 13: (Blocks 13313-14336)
   Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
-  Inode table at 13315-13346 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 13347-14336
+  Inode table at 13315-13378 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 13379-14336
   Free inodes: 3329-3584
 Group 14: (Blocks 14337-15360)
   Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
-  Inode table at 14339-14370 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 14371-15360
+  Inode table at 14339-14402 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 14403-15360
   Free inodes: 3585-3840
 Group 15: (Blocks 15361-16384)
   Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
-  Inode table at 15363-15394 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 15395-16384
+  Inode table at 15363-15426 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 15427-16384
   Free inodes: 3841-4096
 Group 16: (Blocks 16385-17408)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16418 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 16419-17408
+  Inode table at 16387-16450 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 16451-17408
   Free inodes: 4097-4352
 Group 17: (Blocks 17409-18432)
   Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
-  Inode table at 17411-17442 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 17443-18432
+  Inode table at 17411-17474 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 17475-18432
   Free inodes: 4353-4608
 Group 18: (Blocks 18433-19456)
   Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
-  Inode table at 18435-18466 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 18467-19456
+  Inode table at 18435-18498 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 18499-19456
   Free inodes: 4609-4864
 Group 19: (Blocks 19457-20480)
   Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
-  Inode table at 19459-19490 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 19491-20480
+  Inode table at 19459-19522 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 19523-20480
   Free inodes: 4865-5120
 Group 20: (Blocks 20481-21504)
   Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1)
-  Inode table at 20483-20514 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 20515-21504
+  Inode table at 20483-20546 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 20547-21504
   Free inodes: 5121-5376
 Group 21: (Blocks 21505-22528)
   Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1)
-  Inode table at 21507-21538 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 21539-22528
+  Inode table at 21507-21570 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 21571-22528
   Free inodes: 5377-5632
 Group 22: (Blocks 22529-23552)
   Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1)
-  Inode table at 22531-22562 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 22563-23552
+  Inode table at 22531-22594 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 22595-23552
   Free inodes: 5633-5888
 Group 23: (Blocks 23553-24576)
   Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1)
-  Inode table at 23555-23586 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 23587-24576
+  Inode table at 23555-23618 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 23619-24576
   Free inodes: 5889-6144
 Group 24: (Blocks 24577-25600)
   Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1)
-  Inode table at 24579-24610 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 24611-25600
+  Inode table at 24579-24642 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 24643-25600
   Free inodes: 6145-6400
 Group 25: (Blocks 25601-26624)
   Backup superblock at 25601
   Block bitmap at 25602 (+1), Inode bitmap at 25603 (+2)
-  Inode table at 25604-25635 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 25636-26624
+  Inode table at 25604-25667 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 25668-26624
   Free inodes: 6401-6656
 Group 26: (Blocks 26625-27648)
   Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1)
-  Inode table at 26627-26658 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 26659-27648
+  Inode table at 26627-26690 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 26691-27648
   Free inodes: 6657-6912
 Group 27: (Blocks 27649-28672)
   Backup superblock at 27649
   Block bitmap at 27650 (+1), Inode bitmap at 27651 (+2)
-  Inode table at 27652-27683 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 27684-28672
+  Inode table at 27652-27715 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 27716-28672
   Free inodes: 6913-7168
 Group 28: (Blocks 28673-29696)
   Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1)
-  Inode table at 28675-28706 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 28707-29696
+  Inode table at 28675-28738 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 28739-29696
   Free inodes: 7169-7424
 Group 29: (Blocks 29697-30720)
   Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1)
-  Inode table at 29699-29730 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 29731-30720
+  Inode table at 29699-29762 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 29763-30720
   Free inodes: 7425-7680
 Group 30: (Blocks 30721-31744)
   Block bitmap at 30721 (+0), Inode bitmap at 30722 (+1)
-  Inode table at 30723-30754 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 30755-31744
+  Inode table at 30723-30786 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 30787-31744
   Free inodes: 7681-7936
 Group 31: (Blocks 31745-32768)
   Group descriptor at 31745
   Block bitmap at 31746 (+1), Inode bitmap at 31747 (+2)
-  Inode table at 31748-31779 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 31780-32768
+  Inode table at 31748-31811 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 31812-32768
   Free inodes: 7937-8192
 Group 32: (Blocks 32769-33792)
   Group descriptor at 32769
   Block bitmap at 32770 (+1), Inode bitmap at 32771 (+2)
-  Inode table at 32772-32803 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 32804-33792
+  Inode table at 32772-32835 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 32836-33792
   Free inodes: 8193-8448
 Group 33: (Blocks 33793-34816)
   Group descriptor at 33793
   Block bitmap at 33794 (+1), Inode bitmap at 33795 (+2)
-  Inode table at 33796-33827 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 33828-34816
+  Inode table at 33796-33859 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 33860-34816
   Free inodes: 8449-8704
 Group 34: (Blocks 34817-35840)
   Block bitmap at 34817 (+0), Inode bitmap at 34818 (+1)
-  Inode table at 34819-34850 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 34851-35840
+  Inode table at 34819-34882 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 34883-35840
   Free inodes: 8705-8960
 Group 35: (Blocks 35841-36864)
   Block bitmap at 35841 (+0), Inode bitmap at 35842 (+1)
-  Inode table at 35843-35874 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 35875-36864
+  Inode table at 35843-35906 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 35907-36864
   Free inodes: 8961-9216
 Group 36: (Blocks 36865-37888)
   Block bitmap at 36865 (+0), Inode bitmap at 36866 (+1)
-  Inode table at 36867-36898 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 36899-37888
+  Inode table at 36867-36930 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 36931-37888
   Free inodes: 9217-9472
 Group 37: (Blocks 37889-38912)
   Block bitmap at 37889 (+0), Inode bitmap at 37890 (+1)
-  Inode table at 37891-37922 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 37923-38912
+  Inode table at 37891-37954 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 37955-38912
   Free inodes: 9473-9728
 Group 38: (Blocks 38913-39936)
   Block bitmap at 38913 (+0), Inode bitmap at 38914 (+1)
-  Inode table at 38915-38946 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 38947-39936
+  Inode table at 38915-38978 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 38979-39936
   Free inodes: 9729-9984
 Group 39: (Blocks 39937-40960)
   Block bitmap at 39937 (+0), Inode bitmap at 39938 (+1)
-  Inode table at 39939-39970 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 39971-40960
+  Inode table at 39939-40002 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 40003-40960
   Free inodes: 9985-10240
 Group 40: (Blocks 40961-41984)
   Block bitmap at 40961 (+0), Inode bitmap at 40962 (+1)
-  Inode table at 40963-40994 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 40995-41984
+  Inode table at 40963-41026 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 41027-41984
   Free inodes: 10241-10496
 Group 41: (Blocks 41985-43008)
   Block bitmap at 41985 (+0), Inode bitmap at 41986 (+1)
-  Inode table at 41987-42018 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 42019-43008
+  Inode table at 41987-42050 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 42051-43008
   Free inodes: 10497-10752
 Group 42: (Blocks 43009-44032)
   Block bitmap at 43009 (+0), Inode bitmap at 43010 (+1)
-  Inode table at 43011-43042 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 43043-44032
+  Inode table at 43011-43074 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 43075-44032
   Free inodes: 10753-11008
 Group 43: (Blocks 44033-45056)
   Block bitmap at 44033 (+0), Inode bitmap at 44034 (+1)
-  Inode table at 44035-44066 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 44067-45056
+  Inode table at 44035-44098 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 44099-45056
   Free inodes: 11009-11264
 Group 44: (Blocks 45057-46080)
   Block bitmap at 45057 (+0), Inode bitmap at 45058 (+1)
-  Inode table at 45059-45090 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 45091-46080
+  Inode table at 45059-45122 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 45123-46080
   Free inodes: 11265-11520
 Group 45: (Blocks 46081-47104)
   Block bitmap at 46081 (+0), Inode bitmap at 46082 (+1)
-  Inode table at 46083-46114 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 46115-47104
+  Inode table at 46083-46146 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 46147-47104
   Free inodes: 11521-11776
 Group 46: (Blocks 47105-48128)
   Block bitmap at 47105 (+0), Inode bitmap at 47106 (+1)
-  Inode table at 47107-47138 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 47139-48128
+  Inode table at 47107-47170 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 47171-48128
   Free inodes: 11777-12032
 Group 47: (Blocks 48129-49152)
   Block bitmap at 48129 (+0), Inode bitmap at 48130 (+1)
-  Inode table at 48131-48162 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 48163-49152
+  Inode table at 48131-48194 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 48195-49152
   Free inodes: 12033-12288
 Group 48: (Blocks 49153-50176)
   Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
-  Inode table at 49155-49186 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 49187-50176
+  Inode table at 49155-49218 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 49219-50176
   Free inodes: 12289-12544
 Group 49: (Blocks 50177-51200)
   Backup superblock at 50177
   Block bitmap at 50178 (+1), Inode bitmap at 50179 (+2)
-  Inode table at 50180-50211 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 50212-51200
+  Inode table at 50180-50243 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 50244-51200
   Free inodes: 12545-12800
 Group 50: (Blocks 51201-52224)
   Block bitmap at 51201 (+0), Inode bitmap at 51202 (+1)
-  Inode table at 51203-51234 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 51235-52224
+  Inode table at 51203-51266 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 51267-52224
   Free inodes: 12801-13056
 Group 51: (Blocks 52225-53248)
   Block bitmap at 52225 (+0), Inode bitmap at 52226 (+1)
-  Inode table at 52227-52258 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 52259-53248
+  Inode table at 52227-52290 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 52291-53248
   Free inodes: 13057-13312
 Group 52: (Blocks 53249-54272)
   Block bitmap at 53249 (+0), Inode bitmap at 53250 (+1)
-  Inode table at 53251-53282 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 53283-54272
+  Inode table at 53251-53314 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 53315-54272
   Free inodes: 13313-13568
 Group 53: (Blocks 54273-55296)
   Block bitmap at 54273 (+0), Inode bitmap at 54274 (+1)
-  Inode table at 54275-54306 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 54307-55296
+  Inode table at 54275-54338 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 54339-55296
   Free inodes: 13569-13824
 Group 54: (Blocks 55297-56320)
   Block bitmap at 55297 (+0), Inode bitmap at 55298 (+1)
-  Inode table at 55299-55330 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 55331-56320
+  Inode table at 55299-55362 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 55363-56320
   Free inodes: 13825-14080
 Group 55: (Blocks 56321-57344)
   Block bitmap at 56321 (+0), Inode bitmap at 56322 (+1)
-  Inode table at 56323-56354 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 56355-57344
+  Inode table at 56323-56386 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 56387-57344
   Free inodes: 14081-14336
 Group 56: (Blocks 57345-58368)
   Block bitmap at 57345 (+0), Inode bitmap at 57346 (+1)
-  Inode table at 57347-57378 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 57379-58368
+  Inode table at 57347-57410 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 57411-58368
   Free inodes: 14337-14592
 Group 57: (Blocks 58369-59392)
   Block bitmap at 58369 (+0), Inode bitmap at 58370 (+1)
-  Inode table at 58371-58402 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 58403-59392
+  Inode table at 58371-58434 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 58435-59392
   Free inodes: 14593-14848
 Group 58: (Blocks 59393-60416)
   Block bitmap at 59393 (+0), Inode bitmap at 59394 (+1)
-  Inode table at 59395-59426 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 59427-60416
+  Inode table at 59395-59458 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 59459-60416
   Free inodes: 14849-15104
 Group 59: (Blocks 60417-61440)
   Block bitmap at 60417 (+0), Inode bitmap at 60418 (+1)
-  Inode table at 60419-60450 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 60451-61440
+  Inode table at 60419-60482 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 60483-61440
   Free inodes: 15105-15360
 Group 60: (Blocks 61441-62464)
   Block bitmap at 61441 (+0), Inode bitmap at 61442 (+1)
-  Inode table at 61443-61474 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 61475-62464
+  Inode table at 61443-61506 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 61507-62464
   Free inodes: 15361-15616
 Group 61: (Blocks 62465-63488)
   Block bitmap at 62465 (+0), Inode bitmap at 62466 (+1)
-  Inode table at 62467-62498 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 62499-63488
+  Inode table at 62467-62530 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 62531-63488
   Free inodes: 15617-15872
 Group 62: (Blocks 63489-64512)
   Block bitmap at 63489 (+0), Inode bitmap at 63490 (+1)
-  Inode table at 63491-63522 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 63523-64512
+  Inode table at 63491-63554 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 63555-64512
   Free inodes: 15873-16128
 Group 63: (Blocks 64513-65536)
   Group descriptor at 64513
   Block bitmap at 64514 (+1), Inode bitmap at 64515 (+2)
-  Inode table at 64516-64547 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 64548-65536
+  Inode table at 64516-64579 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 64580-65536
   Free inodes: 16129-16384
 Group 64: (Blocks 65537-66560)
   Group descriptor at 65537
   Block bitmap at 65538 (+1), Inode bitmap at 65539 (+2)
-  Inode table at 65540-65571 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 65572-66560
+  Inode table at 65540-65603 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 65604-66560
   Free inodes: 16385-16640
 Group 65: (Blocks 66561-67584)
   Group descriptor at 66561
   Block bitmap at 66562 (+1), Inode bitmap at 66563 (+2)
-  Inode table at 66564-66595 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 66596-67584
+  Inode table at 66564-66627 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 66628-67584
   Free inodes: 16641-16896
 Group 66: (Blocks 67585-68608)
   Block bitmap at 67585 (+0), Inode bitmap at 67586 (+1)
-  Inode table at 67587-67618 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 67619-68608
+  Inode table at 67587-67650 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 67651-68608
   Free inodes: 16897-17152
 Group 67: (Blocks 68609-69632)
   Block bitmap at 68609 (+0), Inode bitmap at 68610 (+1)
-  Inode table at 68611-68642 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 68643-69632
+  Inode table at 68611-68674 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 68675-69632
   Free inodes: 17153-17408
 Group 68: (Blocks 69633-70656)
   Block bitmap at 69633 (+0), Inode bitmap at 69634 (+1)
-  Inode table at 69635-69666 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 69667-70656
+  Inode table at 69635-69698 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 69699-70656
   Free inodes: 17409-17664
 Group 69: (Blocks 70657-71680)
   Block bitmap at 70657 (+0), Inode bitmap at 70658 (+1)
-  Inode table at 70659-70690 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 70691-71680
+  Inode table at 70659-70722 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 70723-71680
   Free inodes: 17665-17920
 Group 70: (Blocks 71681-72704)
   Block bitmap at 71681 (+0), Inode bitmap at 71682 (+1)
-  Inode table at 71683-71714 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 71715-72704
+  Inode table at 71683-71746 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 71747-72704
   Free inodes: 17921-18176
 Group 71: (Blocks 72705-73728)
   Block bitmap at 72705 (+0), Inode bitmap at 72706 (+1)
-  Inode table at 72707-72738 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 72739-73728
+  Inode table at 72707-72770 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 72771-73728
   Free inodes: 18177-18432
 Group 72: (Blocks 73729-74752)
   Block bitmap at 73729 (+0), Inode bitmap at 73730 (+1)
-  Inode table at 73731-73762 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 73763-74752
+  Inode table at 73731-73794 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 73795-74752
   Free inodes: 18433-18688
 Group 73: (Blocks 74753-75776)
   Block bitmap at 74753 (+0), Inode bitmap at 74754 (+1)
-  Inode table at 74755-74786 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 74787-75776
+  Inode table at 74755-74818 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 74819-75776
   Free inodes: 18689-18944
 Group 74: (Blocks 75777-76800)
   Block bitmap at 75777 (+0), Inode bitmap at 75778 (+1)
-  Inode table at 75779-75810 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 75811-76800
+  Inode table at 75779-75842 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 75843-76800
   Free inodes: 18945-19200
 Group 75: (Blocks 76801-77824)
   Block bitmap at 76801 (+0), Inode bitmap at 76802 (+1)
-  Inode table at 76803-76834 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 76835-77824
+  Inode table at 76803-76866 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 76867-77824
   Free inodes: 19201-19456
 Group 76: (Blocks 77825-78848)
   Block bitmap at 77825 (+0), Inode bitmap at 77826 (+1)
-  Inode table at 77827-77858 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 77859-78848
+  Inode table at 77827-77890 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 77891-78848
   Free inodes: 19457-19712
 Group 77: (Blocks 78849-79872)
   Block bitmap at 78849 (+0), Inode bitmap at 78850 (+1)
-  Inode table at 78851-78882 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 78883-79872
+  Inode table at 78851-78914 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 78915-79872
   Free inodes: 19713-19968
 Group 78: (Blocks 79873-80896)
   Block bitmap at 79873 (+0), Inode bitmap at 79874 (+1)
-  Inode table at 79875-79906 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 79907-80896
+  Inode table at 79875-79938 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 79939-80896
   Free inodes: 19969-20224
 Group 79: (Blocks 80897-81920)
   Block bitmap at 80897 (+0), Inode bitmap at 80898 (+1)
-  Inode table at 80899-80930 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 80931-81920
+  Inode table at 80899-80962 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 80963-81920
   Free inodes: 20225-20480
 Group 80: (Blocks 81921-82944)
   Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
-  Inode table at 81923-81954 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 81955-82944
+  Inode table at 81923-81986 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 81987-82944
   Free inodes: 20481-20736
 Group 81: (Blocks 82945-83968)
   Backup superblock at 82945
   Block bitmap at 82946 (+1), Inode bitmap at 82947 (+2)
-  Inode table at 82948-82979 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 82980-83968
+  Inode table at 82948-83011 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 83012-83968
   Free inodes: 20737-20992
 Group 82: (Blocks 83969-84992)
   Block bitmap at 83969 (+0), Inode bitmap at 83970 (+1)
-  Inode table at 83971-84002 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 84003-84992
+  Inode table at 83971-84034 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 84035-84992
   Free inodes: 20993-21248
 Group 83: (Blocks 84993-86016)
   Block bitmap at 84993 (+0), Inode bitmap at 84994 (+1)
-  Inode table at 84995-85026 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 85027-86016
+  Inode table at 84995-85058 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 85059-86016
   Free inodes: 21249-21504
 Group 84: (Blocks 86017-87040)
   Block bitmap at 86017 (+0), Inode bitmap at 86018 (+1)
-  Inode table at 86019-86050 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 86051-87040
+  Inode table at 86019-86082 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 86083-87040
   Free inodes: 21505-21760
 Group 85: (Blocks 87041-88064)
   Block bitmap at 87041 (+0), Inode bitmap at 87042 (+1)
-  Inode table at 87043-87074 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 87075-88064
+  Inode table at 87043-87106 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 87107-88064
   Free inodes: 21761-22016
 Group 86: (Blocks 88065-89088)
   Block bitmap at 88065 (+0), Inode bitmap at 88066 (+1)
-  Inode table at 88067-88098 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 88099-89088
+  Inode table at 88067-88130 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 88131-89088
   Free inodes: 22017-22272
 Group 87: (Blocks 89089-90112)
   Block bitmap at 89089 (+0), Inode bitmap at 89090 (+1)
-  Inode table at 89091-89122 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 89123-90112
+  Inode table at 89091-89154 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 89155-90112
   Free inodes: 22273-22528
 Group 88: (Blocks 90113-91136)
   Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
-  Inode table at 90115-90146 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 90147-91136
+  Inode table at 90115-90178 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 90179-91136
   Free inodes: 22529-22784
 Group 89: (Blocks 91137-92160)
   Block bitmap at 91137 (+0), Inode bitmap at 91138 (+1)
-  Inode table at 91139-91170 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 91171-92160
+  Inode table at 91139-91202 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 91203-92160
   Free inodes: 22785-23040
 Group 90: (Blocks 92161-93184)
   Block bitmap at 92161 (+0), Inode bitmap at 92162 (+1)
-  Inode table at 92163-92194 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 92195-93184
+  Inode table at 92163-92226 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 92227-93184
   Free inodes: 23041-23296
 Group 91: (Blocks 93185-94208)
   Block bitmap at 93185 (+0), Inode bitmap at 93186 (+1)
-  Inode table at 93187-93218 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 93219-94208
+  Inode table at 93187-93250 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 93251-94208
   Free inodes: 23297-23552
 Group 92: (Blocks 94209-95232)
   Block bitmap at 94209 (+0), Inode bitmap at 94210 (+1)
-  Inode table at 94211-94242 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 94243-95232
+  Inode table at 94211-94274 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 94275-95232
   Free inodes: 23553-23808
 Group 93: (Blocks 95233-96256)
   Block bitmap at 95233 (+0), Inode bitmap at 95234 (+1)
-  Inode table at 95235-95266 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 95267-96256
+  Inode table at 95235-95298 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 95299-96256
   Free inodes: 23809-24064
 Group 94: (Blocks 96257-97280)
   Block bitmap at 96257 (+0), Inode bitmap at 96258 (+1)
-  Inode table at 96259-96290 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 96291-97280
+  Inode table at 96259-96322 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 96323-97280
   Free inodes: 24065-24320
 Group 95: (Blocks 97281-98304)
   Group descriptor at 97281
   Block bitmap at 97282 (+1), Inode bitmap at 97283 (+2)
-  Inode table at 97284-97315 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 97316-98304
+  Inode table at 97284-97347 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 97348-98304
   Free inodes: 24321-24576
 Group 96: (Blocks 98305-99328)
   Group descriptor at 98305
   Block bitmap at 98306 (+1), Inode bitmap at 98307 (+2)
-  Inode table at 98308-98339 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 98340-99328
+  Inode table at 98308-98371 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 98372-99328
   Free inodes: 24577-24832
 Group 97: (Blocks 99329-100352)
   Group descriptor at 99329
   Block bitmap at 99330 (+1), Inode bitmap at 99331 (+2)
-  Inode table at 99332-99363 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 99364-100352
+  Inode table at 99332-99395 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 99396-100352
   Free inodes: 24833-25088
 Group 98: (Blocks 100353-101376)
   Block bitmap at 100353 (+0), Inode bitmap at 100354 (+1)
-  Inode table at 100355-100386 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 100387-101376
+  Inode table at 100355-100418 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 100419-101376
   Free inodes: 25089-25344
 Group 99: (Blocks 101377-102400)
   Block bitmap at 101377 (+0), Inode bitmap at 101378 (+1)
-  Inode table at 101379-101410 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 101411-102400
+  Inode table at 101379-101442 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 101443-102400
   Free inodes: 25345-25600
 Group 100: (Blocks 102401-103424)
   Block bitmap at 102401 (+0), Inode bitmap at 102402 (+1)
-  Inode table at 102403-102434 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 102435-103424
+  Inode table at 102403-102466 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 102467-103424
   Free inodes: 25601-25856
 Group 101: (Blocks 103425-104448)
   Block bitmap at 103425 (+0), Inode bitmap at 103426 (+1)
-  Inode table at 103427-103458 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 103459-104448
+  Inode table at 103427-103490 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 103491-104448
   Free inodes: 25857-26112
 Group 102: (Blocks 104449-105472)
   Block bitmap at 104449 (+0), Inode bitmap at 104450 (+1)
-  Inode table at 104451-104482 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 104483-105472
+  Inode table at 104451-104514 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 104515-105472
   Free inodes: 26113-26368
 Group 103: (Blocks 105473-106496)
   Block bitmap at 105473 (+0), Inode bitmap at 105474 (+1)
-  Inode table at 105475-105506 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 105507-106496
+  Inode table at 105475-105538 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 105539-106496
   Free inodes: 26369-26624
 Group 104: (Blocks 106497-107520)
   Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
-  Inode table at 106499-106530 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 106531-107520
+  Inode table at 106499-106562 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 106563-107520
   Free inodes: 26625-26880
 Group 105: (Blocks 107521-108544)
   Block bitmap at 107521 (+0), Inode bitmap at 107522 (+1)
-  Inode table at 107523-107554 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 107555-108544
+  Inode table at 107523-107586 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 107587-108544
   Free inodes: 26881-27136
 Group 106: (Blocks 108545-109568)
   Block bitmap at 108545 (+0), Inode bitmap at 108546 (+1)
-  Inode table at 108547-108578 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 108579-109568
+  Inode table at 108547-108610 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 108611-109568
   Free inodes: 27137-27392
 Group 107: (Blocks 109569-110592)
   Block bitmap at 109569 (+0), Inode bitmap at 109570 (+1)
-  Inode table at 109571-109602 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 109603-110592
+  Inode table at 109571-109634 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 109635-110592
   Free inodes: 27393-27648
 Group 108: (Blocks 110593-111616)
   Block bitmap at 110593 (+0), Inode bitmap at 110594 (+1)
-  Inode table at 110595-110626 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 110627-111616
+  Inode table at 110595-110658 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 110659-111616
   Free inodes: 27649-27904
 Group 109: (Blocks 111617-112640)
   Block bitmap at 111617 (+0), Inode bitmap at 111618 (+1)
-  Inode table at 111619-111650 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 111651-112640
+  Inode table at 111619-111682 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 111683-112640
   Free inodes: 27905-28160
 Group 110: (Blocks 112641-113664)
   Block bitmap at 112641 (+0), Inode bitmap at 112642 (+1)
-  Inode table at 112643-112674 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 112675-113664
+  Inode table at 112643-112706 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 112707-113664
   Free inodes: 28161-28416
 Group 111: (Blocks 113665-114688)
   Block bitmap at 113665 (+0), Inode bitmap at 113666 (+1)
-  Inode table at 113667-113698 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 113699-114688
+  Inode table at 113667-113730 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 113731-114688
   Free inodes: 28417-28672
 Group 112: (Blocks 114689-115712)
   Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
-  Inode table at 114691-114722 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 114723-115712
+  Inode table at 114691-114754 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 114755-115712
   Free inodes: 28673-28928
 Group 113: (Blocks 115713-116736)
   Block bitmap at 115713 (+0), Inode bitmap at 115714 (+1)
-  Inode table at 115715-115746 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 115747-116736
+  Inode table at 115715-115778 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 115779-116736
   Free inodes: 28929-29184
 Group 114: (Blocks 116737-117760)
   Block bitmap at 116737 (+0), Inode bitmap at 116738 (+1)
-  Inode table at 116739-116770 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 116771-117760
+  Inode table at 116739-116802 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 116803-117760
   Free inodes: 29185-29440
 Group 115: (Blocks 117761-118784)
   Block bitmap at 117761 (+0), Inode bitmap at 117762 (+1)
-  Inode table at 117763-117794 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 117795-118784
+  Inode table at 117763-117826 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 117827-118784
   Free inodes: 29441-29696
 Group 116: (Blocks 118785-119808)
   Block bitmap at 118785 (+0), Inode bitmap at 118786 (+1)
-  Inode table at 118787-118818 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 118819-119808
+  Inode table at 118787-118850 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 118851-119808
   Free inodes: 29697-29952
 Group 117: (Blocks 119809-120832)
   Block bitmap at 119809 (+0), Inode bitmap at 119810 (+1)
-  Inode table at 119811-119842 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 119843-120832
+  Inode table at 119811-119874 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 119875-120832
   Free inodes: 29953-30208
 Group 118: (Blocks 120833-121856)
   Block bitmap at 120833 (+0), Inode bitmap at 120834 (+1)
-  Inode table at 120835-120866 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 120867-121856
+  Inode table at 120835-120898 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 120899-121856
   Free inodes: 30209-30464
 Group 119: (Blocks 121857-122880)
   Block bitmap at 121857 (+0), Inode bitmap at 121858 (+1)
-  Inode table at 121859-121890 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 121891-122880
+  Inode table at 121859-121922 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 121923-122880
   Free inodes: 30465-30720
 Group 120: (Blocks 122881-123904)
   Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
-  Inode table at 122883-122914 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 122915-123904
+  Inode table at 122883-122946 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 122947-123904
   Free inodes: 30721-30976
 Group 121: (Blocks 123905-124928)
   Block bitmap at 123905 (+0), Inode bitmap at 123906 (+1)
-  Inode table at 123907-123938 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 123939-124928
+  Inode table at 123907-123970 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 123971-124928
   Free inodes: 30977-31232
 Group 122: (Blocks 124929-125952)
   Block bitmap at 124929 (+0), Inode bitmap at 124930 (+1)
-  Inode table at 124931-124962 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 124963-125952
+  Inode table at 124931-124994 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 124995-125952
   Free inodes: 31233-31488
 Group 123: (Blocks 125953-126976)
   Block bitmap at 125953 (+0), Inode bitmap at 125954 (+1)
-  Inode table at 125955-125986 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 125987-126976
+  Inode table at 125955-126018 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 126019-126976
   Free inodes: 31489-31744
 Group 124: (Blocks 126977-128000)
   Block bitmap at 126977 (+0), Inode bitmap at 126978 (+1)
-  Inode table at 126979-127010 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 127011-128000
+  Inode table at 126979-127042 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 127043-128000
   Free inodes: 31745-32000
 Group 125: (Blocks 128001-129024)
   Backup superblock at 128001
   Block bitmap at 128002 (+1), Inode bitmap at 128003 (+2)
-  Inode table at 128004-128035 (+3)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 128036-129024
+  Inode table at 128004-128067 (+3)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 128068-129024
   Free inodes: 32001-32256
 Group 126: (Blocks 129025-130048)
   Block bitmap at 129025 (+0), Inode bitmap at 129026 (+1)
-  Inode table at 129027-129058 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 129059-130048
+  Inode table at 129027-129090 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 129091-130048
   Free inodes: 32257-32512
 Group 127: (Blocks 130049-131071)
   Group descriptor at 130049
   Block bitmap at 130050 (+1), Inode bitmap at 130051 (+2)
-  Inode table at 130052-130083 (+3)
-  988 free blocks, 256 free inodes, 0 directories
-  Free blocks: 130084-131071
+  Inode table at 130052-130115 (+3)
+  956 free blocks, 256 free inodes, 0 directories
+  Free blocks: 130116-131071
   Free inodes: 32513-32768
diff --git a/tests/m_mkfs_overhead/script b/tests/m_mkfs_overhead/script
index ce8e465..3606fa2 100644
--- a/tests/m_mkfs_overhead/script
+++ b/tests/m_mkfs_overhead/script
@@ -3,7 +3,7 @@
 OUT=$test_name.log
 EXP=$test_dir/expect
 FS_SIZE=1024
-MKE2FS_OPTS="-b 1024 -m 0 -g 256 -N 3745"
+MKE2FS_OPTS="-o hurd -b 1024 -m 0 -g 256 -N 3745"
 
 MKE2FS_SKIP_PROGRESS=true
 MKE2FS_SKIP_CHECK_MSG=true
diff --git a/tests/m_mmp/expect.1 b/tests/m_mmp/expect.1
index 475cd1d..0edb97d 100644
--- a/tests/m_mmp/expect.1
+++ b/tests/m_mmp/expect.1
@@ -13,7 +13,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/65536 files (0.0% non-contiguous), 2093/65536 blocks
+test_filesys: 11/65536 files (0.0% non-contiguous), 4141/65536 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -27,8 +27,8 @@
 Inode count:              65536
 Block count:              65536
 Reserved block count:     3276
-Overhead clusters:        2086
-Free blocks:              63443
+Overhead clusters:        4134
+Free blocks:              61395
 Free inodes:              65525
 First block:              0
 Block size:               4096
@@ -37,15 +37,17 @@
 Blocks per group:         32768
 Fragments per group:      32768
 Inodes per group:         32768
-Inode blocks per group:   1024
+Inode blocks per group:   2048
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
-MMP block number:         1049
+MMP block number:         2073
 MMP update interval:      5
 MMP_block:
     mmp_magic: 0x4d4d50
@@ -62,16 +64,16 @@
   Reserved GDT blocks at 2-16
   Block bitmap at 17 (+17)
   Inode bitmap at 18 (+18)
-  Inode table at 19-1042 (+19)
-  31718 free blocks, 32757 free inodes, 2 directories
-  Free blocks: 1050-32767
+  Inode table at 19-2066 (+19)
+  30694 free blocks, 32757 free inodes, 2 directories
+  Free blocks: 2074-32767
   Free inodes: 12-32768
 Group 1: (Blocks 32768-65535)
   Backup superblock at 32768, Group descriptors at 32769-32769
   Reserved GDT blocks at 32770-32784
   Block bitmap at 32785 (+17)
   Inode bitmap at 32786 (+18)
-  Inode table at 32787-33810 (+19)
-  31725 free blocks, 32768 free inodes, 0 directories
-  Free blocks: 33811-65535
+  Inode table at 32787-34834 (+19)
+  30701 free blocks, 32768 free inodes, 0 directories
+  Free blocks: 34835-65535
   Free inodes: 32769-65536
diff --git a/tests/m_no_opt/expect.1 b/tests/m_no_opt/expect.1
index deaf22e..806d293 100644
--- a/tests/m_no_opt/expect.1
+++ b/tests/m_no_opt/expect.1
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/16384 files (0.0% non-contiguous), 2094/65536 blocks
+test_filesys: 11/16384 files (0.0% non-contiguous), 4142/65536 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -26,8 +26,8 @@
 Inode count:              16384
 Block count:              65536
 Reserved block count:     3276
-Overhead clusters:        2081
-Free blocks:              63442
+Overhead clusters:        4129
+Free blocks:              61394
 Free inodes:              16373
 First block:              1
 Block size:               1024
@@ -35,69 +35,71 @@
 Blocks per group:         8192
 Fragments per group:      8192
 Inodes per group:         2048
-Inode blocks per group:   256
+Inode blocks per group:   512
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
 Group 0: (Blocks 1-8192)
   Primary superblock at 1, Group descriptors at 2-2
   Block bitmap at 3 (+2), Inode bitmap at 4 (+3)
-  Inode table at 5-260 (+4)
-  7919 free blocks, 2037 free inodes, 2 directories
-  Free blocks: 274-8192
+  Inode table at 5-516 (+4)
+  7663 free blocks, 2037 free inodes, 2 directories
+  Free blocks: 530-8192
   Free inodes: 12-2048
 Group 1: (Blocks 8193-16384)
   Backup superblock at 8193, Group descriptors at 8194-8194
   Block bitmap at 8195 (+2), Inode bitmap at 8196 (+3)
-  Inode table at 8197-8452 (+4)
-  7932 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 8453-16384
+  Inode table at 8197-8708 (+4)
+  7676 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 8709-16384
   Free inodes: 2049-4096
 Group 2: (Blocks 16385-24576)
   Backup superblock at 16385, Group descriptors at 16386-16386
   Block bitmap at 16387 (+2), Inode bitmap at 16388 (+3)
-  Inode table at 16389-16644 (+4)
-  7932 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 16645-24576
+  Inode table at 16389-16900 (+4)
+  7676 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 16901-24576
   Free inodes: 4097-6144
 Group 3: (Blocks 24577-32768)
   Backup superblock at 24577, Group descriptors at 24578-24578
   Block bitmap at 24579 (+2), Inode bitmap at 24580 (+3)
-  Inode table at 24581-24836 (+4)
-  7932 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 24837-32768
+  Inode table at 24581-25092 (+4)
+  7676 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 25093-32768
   Free inodes: 6145-8192
 Group 4: (Blocks 32769-40960)
   Backup superblock at 32769, Group descriptors at 32770-32770
   Block bitmap at 32771 (+2), Inode bitmap at 32772 (+3)
-  Inode table at 32773-33028 (+4)
-  7932 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 33029-40960
+  Inode table at 32773-33284 (+4)
+  7676 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 33285-40960
   Free inodes: 8193-10240
 Group 5: (Blocks 40961-49152)
   Backup superblock at 40961, Group descriptors at 40962-40962
   Block bitmap at 40963 (+2), Inode bitmap at 40964 (+3)
-  Inode table at 40965-41220 (+4)
-  7932 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 41221-49152
+  Inode table at 40965-41476 (+4)
+  7676 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 41477-49152
   Free inodes: 10241-12288
 Group 6: (Blocks 49153-57344)
   Backup superblock at 49153, Group descriptors at 49154-49154
   Block bitmap at 49155 (+2), Inode bitmap at 49156 (+3)
-  Inode table at 49157-49412 (+4)
-  7932 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 49413-57344
+  Inode table at 49157-49668 (+4)
+  7676 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 49669-57344
   Free inodes: 12289-14336
 Group 7: (Blocks 57345-65535)
   Backup superblock at 57345, Group descriptors at 57346-57346
   Block bitmap at 57347 (+2), Inode bitmap at 57348 (+3)
-  Inode table at 57349-57604 (+4)
-  7931 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 57605-65535
+  Inode table at 57349-57860 (+4)
+  7675 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 57861-65535
   Free inodes: 14337-16384
diff --git a/tests/m_raid_opt/expect.1 b/tests/m_raid_opt/expect.1
index 7536631..c1dc61b 100644
--- a/tests/m_raid_opt/expect.1
+++ b/tests/m_raid_opt/expect.1
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/32768 files (0.0% non-contiguous), 7238/131072 blocks
+test_filesys: 11/32768 files (0.0% non-contiguous), 11334/131072 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -26,8 +26,8 @@
 Inode count:              32768
 Block count:              131072
 Reserved block count:     6553
-Overhead clusters:        7224
-Free blocks:              123834
+Overhead clusters:        11320
+Free blocks:              119738
 Free inodes:              32757
 First block:              1
 Block size:               1024
@@ -36,804 +36,806 @@
 Blocks per group:         1024
 Fragments per group:      1024
 Inodes per group:         256
-Inode blocks per group:   32
+Inode blocks per group:   64
 RAID stride:              13
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
 Group 0: (Blocks 1-1024)
   Primary superblock at 1, Group descriptors at 2-5
   Reserved GDT blocks at 6-261
-  Block bitmap at 294 (+293), Inode bitmap at 295 (+294)
-  Inode table at 262-293 (+261)
-  715 free blocks, 245 free inodes, 2 directories
-  Free blocks: 310-1024
+  Block bitmap at 326 (+325), Inode bitmap at 327 (+326)
+  Inode table at 262-325 (+261)
+  683 free blocks, 245 free inodes, 2 directories
+  Free blocks: 342-1024
   Free inodes: 12-256
 Group 1: (Blocks 1025-2048)
   Backup superblock at 1025, Group descriptors at 1026-1029
   Reserved GDT blocks at 1030-1285
-  Block bitmap at 1331 (+306), Inode bitmap at 1332 (+307)
-  Inode table at 1286-1317 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 1318-1330, 1333-2048
+  Block bitmap at 1363 (+338), Inode bitmap at 1364 (+339)
+  Inode table at 1286-1349 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 1350-1362, 1365-2048
   Free inodes: 257-512
 Group 2: (Blocks 2049-3072)
-  Block bitmap at 2107 (+58), Inode bitmap at 2108 (+59)
-  Inode table at 2049-2080
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 2081-2106, 2109-3072
+  Block bitmap at 2139 (+90), Inode bitmap at 2140 (+91)
+  Inode table at 2049-2112
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 2113-2138, 2141-3072
   Free inodes: 513-768
 Group 3: (Blocks 3073-4096)
   Backup superblock at 3073, Group descriptors at 3074-3077
   Reserved GDT blocks at 3078-3333
-  Block bitmap at 3405 (+332), Inode bitmap at 3406 (+333)
-  Inode table at 3334-3365 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 3366-3404, 3407-4096
+  Block bitmap at 3437 (+364), Inode bitmap at 3438 (+365)
+  Inode table at 3334-3397 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 3398-3436, 3439-4096
   Free inodes: 769-1024
 Group 4: (Blocks 4097-5120)
-  Block bitmap at 4181 (+84), Inode bitmap at 4182 (+85)
-  Inode table at 4097-4128
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 4129-4180, 4183-5120
+  Block bitmap at 4213 (+116), Inode bitmap at 4214 (+117)
+  Inode table at 4097-4160
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 4161-4212, 4215-5120
   Free inodes: 1025-1280
 Group 5: (Blocks 5121-6144)
   Backup superblock at 5121, Group descriptors at 5122-5125
   Reserved GDT blocks at 5126-5381
-  Block bitmap at 5479 (+358), Inode bitmap at 5480 (+359)
-  Inode table at 5382-5413 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 5414-5478, 5481-6144
+  Block bitmap at 5511 (+390), Inode bitmap at 5512 (+391)
+  Inode table at 5382-5445 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 5446-5510, 5513-6144
   Free inodes: 1281-1536
 Group 6: (Blocks 6145-7168)
-  Block bitmap at 6255 (+110), Inode bitmap at 6256 (+111)
-  Inode table at 6145-6176
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 6177-6254, 6257-7168
+  Block bitmap at 6287 (+142), Inode bitmap at 6288 (+143)
+  Inode table at 6145-6208
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 6209-6286, 6289-7168
   Free inodes: 1537-1792
 Group 7: (Blocks 7169-8192)
   Backup superblock at 7169, Group descriptors at 7170-7173
   Reserved GDT blocks at 7174-7429
-  Block bitmap at 7553 (+384), Inode bitmap at 7554 (+385)
-  Inode table at 7430-7461 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 7462-7552, 7555-8192
+  Block bitmap at 7585 (+416), Inode bitmap at 7586 (+417)
+  Inode table at 7430-7493 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 7494-7584, 7587-8192
   Free inodes: 1793-2048
 Group 8: (Blocks 8193-9216)
-  Block bitmap at 8329 (+136), Inode bitmap at 8330 (+137)
-  Inode table at 8193-8224
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 8225-8328, 8331-9216
+  Block bitmap at 8361 (+168), Inode bitmap at 8362 (+169)
+  Inode table at 8193-8256
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 8257-8360, 8363-9216
   Free inodes: 2049-2304
 Group 9: (Blocks 9217-10240)
   Backup superblock at 9217, Group descriptors at 9218-9221
   Reserved GDT blocks at 9222-9477
-  Block bitmap at 9627 (+410), Inode bitmap at 9628 (+411)
-  Inode table at 9478-9509 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 9510-9626, 9629-10240
+  Block bitmap at 9659 (+442), Inode bitmap at 9660 (+443)
+  Inode table at 9478-9541 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 9542-9658, 9661-10240
   Free inodes: 2305-2560
 Group 10: (Blocks 10241-11264)
-  Block bitmap at 10403 (+162), Inode bitmap at 10404 (+163)
-  Inode table at 10241-10272
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 10273-10402, 10405-11264
+  Block bitmap at 10435 (+194), Inode bitmap at 10436 (+195)
+  Inode table at 10241-10304
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 10305-10434, 10437-11264
   Free inodes: 2561-2816
 Group 11: (Blocks 11265-12288)
-  Block bitmap at 11440 (+175), Inode bitmap at 11441 (+176)
-  Inode table at 11265-11296
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 11297-11439, 11442-12288
+  Block bitmap at 11472 (+207), Inode bitmap at 11473 (+208)
+  Inode table at 11265-11328
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 11329-11471, 11474-12288
   Free inodes: 2817-3072
 Group 12: (Blocks 12289-13312)
-  Block bitmap at 12477 (+188), Inode bitmap at 12478 (+189)
-  Inode table at 12289-12320
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 12321-12476, 12479-13312
+  Block bitmap at 12509 (+220), Inode bitmap at 12510 (+221)
+  Inode table at 12289-12352
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 12353-12508, 12511-13312
   Free inodes: 3073-3328
 Group 13: (Blocks 13313-14336)
-  Block bitmap at 13514 (+201), Inode bitmap at 13515 (+202)
-  Inode table at 13313-13344
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 13345-13513, 13516-14336
+  Block bitmap at 13546 (+233), Inode bitmap at 13547 (+234)
+  Inode table at 13313-13376
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 13377-13545, 13548-14336
   Free inodes: 3329-3584
 Group 14: (Blocks 14337-15360)
-  Block bitmap at 14551 (+214), Inode bitmap at 14552 (+215)
-  Inode table at 14337-14368
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 14369-14550, 14553-15360
+  Block bitmap at 14583 (+246), Inode bitmap at 14584 (+247)
+  Inode table at 14337-14400
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 14401-14582, 14585-15360
   Free inodes: 3585-3840
 Group 15: (Blocks 15361-16384)
-  Block bitmap at 15588 (+227), Inode bitmap at 15589 (+228)
-  Inode table at 15361-15392
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 15393-15587, 15590-16384
+  Block bitmap at 15620 (+259), Inode bitmap at 15621 (+260)
+  Inode table at 15361-15424
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 15425-15619, 15622-16384
   Free inodes: 3841-4096
 Group 16: (Blocks 16385-17408)
-  Block bitmap at 16625 (+240), Inode bitmap at 16626 (+241)
-  Inode table at 16385-16416
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 16417-16624, 16627-17408
+  Block bitmap at 16657 (+272), Inode bitmap at 16658 (+273)
+  Inode table at 16385-16448
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 16449-16656, 16659-17408
   Free inodes: 4097-4352
 Group 17: (Blocks 17409-18432)
-  Block bitmap at 17662 (+253), Inode bitmap at 17663 (+254)
-  Inode table at 17409-17440
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 17441-17661, 17664-18432
+  Block bitmap at 17694 (+285), Inode bitmap at 17695 (+286)
+  Inode table at 17409-17472
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 17473-17693, 17696-18432
   Free inodes: 4353-4608
 Group 18: (Blocks 18433-19456)
-  Block bitmap at 18699 (+266), Inode bitmap at 18700 (+267)
-  Inode table at 18433-18464
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 18465-18698, 18701-19456
+  Block bitmap at 18731 (+298), Inode bitmap at 18732 (+299)
+  Inode table at 18433-18496
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 18497-18730, 18733-19456
   Free inodes: 4609-4864
 Group 19: (Blocks 19457-20480)
-  Block bitmap at 19736 (+279), Inode bitmap at 19737 (+280)
-  Inode table at 19457-19488
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 19489-19735, 19738-20480
+  Block bitmap at 19768 (+311), Inode bitmap at 19769 (+312)
+  Inode table at 19457-19520
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 19521-19767, 19770-20480
   Free inodes: 4865-5120
 Group 20: (Blocks 20481-21504)
-  Block bitmap at 20773 (+292), Inode bitmap at 20774 (+293)
-  Inode table at 20481-20512
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 20513-20772, 20775-21504
+  Block bitmap at 20805 (+324), Inode bitmap at 20806 (+325)
+  Inode table at 20481-20544
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 20545-20804, 20807-21504
   Free inodes: 5121-5376
 Group 21: (Blocks 21505-22528)
-  Block bitmap at 21810 (+305), Inode bitmap at 21811 (+306)
-  Inode table at 21505-21536
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 21537-21809, 21812-22528
+  Block bitmap at 21842 (+337), Inode bitmap at 21843 (+338)
+  Inode table at 21505-21568
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 21569-21841, 21844-22528
   Free inodes: 5377-5632
 Group 22: (Blocks 22529-23552)
-  Block bitmap at 22847 (+318), Inode bitmap at 22848 (+319)
-  Inode table at 22529-22560
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 22561-22846, 22849-23552
+  Block bitmap at 22879 (+350), Inode bitmap at 22880 (+351)
+  Inode table at 22529-22592
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 22593-22878, 22881-23552
   Free inodes: 5633-5888
 Group 23: (Blocks 23553-24576)
-  Block bitmap at 23884 (+331), Inode bitmap at 23885 (+332)
-  Inode table at 23553-23584
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 23585-23883, 23886-24576
+  Block bitmap at 23916 (+363), Inode bitmap at 23917 (+364)
+  Inode table at 23553-23616
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 23617-23915, 23918-24576
   Free inodes: 5889-6144
 Group 24: (Blocks 24577-25600)
-  Block bitmap at 24921 (+344), Inode bitmap at 24922 (+345)
-  Inode table at 24577-24608
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 24609-24920, 24923-25600
+  Block bitmap at 24953 (+376), Inode bitmap at 24954 (+377)
+  Inode table at 24577-24640
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 24641-24952, 24955-25600
   Free inodes: 6145-6400
 Group 25: (Blocks 25601-26624)
   Backup superblock at 25601, Group descriptors at 25602-25605
   Reserved GDT blocks at 25606-25861
-  Block bitmap at 26219 (+618), Inode bitmap at 26220 (+619)
-  Inode table at 25862-25893 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 25894-26218, 26221-26624
+  Block bitmap at 26251 (+650), Inode bitmap at 26252 (+651)
+  Inode table at 25862-25925 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 25926-26250, 26253-26624
   Free inodes: 6401-6656
 Group 26: (Blocks 26625-27648)
-  Block bitmap at 26995 (+370), Inode bitmap at 26996 (+371)
-  Inode table at 26625-26656
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 26657-26994, 26997-27648
+  Block bitmap at 27027 (+402), Inode bitmap at 27028 (+403)
+  Inode table at 26625-26688
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 26689-27026, 27029-27648
   Free inodes: 6657-6912
 Group 27: (Blocks 27649-28672)
   Backup superblock at 27649, Group descriptors at 27650-27653
   Reserved GDT blocks at 27654-27909
-  Block bitmap at 28293 (+644), Inode bitmap at 28294 (+645)
-  Inode table at 27910-27941 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 27942-28292, 28295-28672
+  Block bitmap at 28325 (+676), Inode bitmap at 28326 (+677)
+  Inode table at 27910-27973 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 27974-28324, 28327-28672
   Free inodes: 6913-7168
 Group 28: (Blocks 28673-29696)
-  Block bitmap at 29069 (+396), Inode bitmap at 29070 (+397)
-  Inode table at 28673-28704
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 28705-29068, 29071-29696
+  Block bitmap at 29101 (+428), Inode bitmap at 29102 (+429)
+  Inode table at 28673-28736
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 28737-29100, 29103-29696
   Free inodes: 7169-7424
 Group 29: (Blocks 29697-30720)
-  Block bitmap at 30106 (+409), Inode bitmap at 30107 (+410)
-  Inode table at 29697-29728
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 29729-30105, 30108-30720
+  Block bitmap at 30138 (+441), Inode bitmap at 30139 (+442)
+  Inode table at 29697-29760
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 29761-30137, 30140-30720
   Free inodes: 7425-7680
 Group 30: (Blocks 30721-31744)
-  Block bitmap at 31143 (+422), Inode bitmap at 31144 (+423)
-  Inode table at 30721-30752
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 30753-31142, 31145-31744
+  Block bitmap at 31175 (+454), Inode bitmap at 31176 (+455)
+  Inode table at 30721-30784
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 30785-31174, 31177-31744
   Free inodes: 7681-7936
 Group 31: (Blocks 31745-32768)
-  Block bitmap at 32180 (+435), Inode bitmap at 32181 (+436)
-  Inode table at 31745-31776
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 31777-32179, 32182-32768
+  Block bitmap at 32212 (+467), Inode bitmap at 32213 (+468)
+  Inode table at 31745-31808
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 31809-32211, 32214-32768
   Free inodes: 7937-8192
 Group 32: (Blocks 32769-33792)
-  Block bitmap at 33217 (+448), Inode bitmap at 33218 (+449)
-  Inode table at 32769-32800
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 32801-33216, 33219-33792
+  Block bitmap at 33249 (+480), Inode bitmap at 33250 (+481)
+  Inode table at 32769-32832
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 32833-33248, 33251-33792
   Free inodes: 8193-8448
 Group 33: (Blocks 33793-34816)
-  Block bitmap at 34254 (+461), Inode bitmap at 34255 (+462)
-  Inode table at 33793-33824
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 33825-34253, 34256-34816
+  Block bitmap at 34286 (+493), Inode bitmap at 34287 (+494)
+  Inode table at 33793-33856
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 33857-34285, 34288-34816
   Free inodes: 8449-8704
 Group 34: (Blocks 34817-35840)
-  Block bitmap at 35291 (+474), Inode bitmap at 35292 (+475)
-  Inode table at 34817-34848
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 34849-35290, 35293-35840
+  Block bitmap at 35323 (+506), Inode bitmap at 35324 (+507)
+  Inode table at 34817-34880
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 34881-35322, 35325-35840
   Free inodes: 8705-8960
 Group 35: (Blocks 35841-36864)
-  Block bitmap at 36328 (+487), Inode bitmap at 36329 (+488)
-  Inode table at 35841-35872
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 35873-36327, 36330-36864
+  Block bitmap at 36360 (+519), Inode bitmap at 36361 (+520)
+  Inode table at 35841-35904
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 35905-36359, 36362-36864
   Free inodes: 8961-9216
 Group 36: (Blocks 36865-37888)
-  Block bitmap at 37365 (+500), Inode bitmap at 37366 (+501)
-  Inode table at 36865-36896
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 36897-37364, 37367-37888
+  Block bitmap at 37397 (+532), Inode bitmap at 37398 (+533)
+  Inode table at 36865-36928
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 36929-37396, 37399-37888
   Free inodes: 9217-9472
 Group 37: (Blocks 37889-38912)
-  Block bitmap at 38402 (+513), Inode bitmap at 38403 (+514)
-  Inode table at 37889-37920
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 37921-38401, 38404-38912
+  Block bitmap at 38434 (+545), Inode bitmap at 38435 (+546)
+  Inode table at 37889-37952
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 37953-38433, 38436-38912
   Free inodes: 9473-9728
 Group 38: (Blocks 38913-39936)
-  Block bitmap at 39439 (+526), Inode bitmap at 39440 (+527)
-  Inode table at 38913-38944
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 38945-39438, 39441-39936
+  Block bitmap at 39471 (+558), Inode bitmap at 39472 (+559)
+  Inode table at 38913-38976
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 38977-39470, 39473-39936
   Free inodes: 9729-9984
 Group 39: (Blocks 39937-40960)
-  Block bitmap at 40476 (+539), Inode bitmap at 40477 (+540)
-  Inode table at 39937-39968
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 39969-40475, 40478-40960
+  Block bitmap at 40508 (+571), Inode bitmap at 40509 (+572)
+  Inode table at 39937-40000
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 40001-40507, 40510-40960
   Free inodes: 9985-10240
 Group 40: (Blocks 40961-41984)
-  Block bitmap at 41513 (+552), Inode bitmap at 41514 (+553)
-  Inode table at 40961-40992
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 40993-41512, 41515-41984
+  Block bitmap at 41545 (+584), Inode bitmap at 41546 (+585)
+  Inode table at 40961-41024
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 41025-41544, 41547-41984
   Free inodes: 10241-10496
 Group 41: (Blocks 41985-43008)
-  Block bitmap at 42550 (+565), Inode bitmap at 42551 (+566)
-  Inode table at 41985-42016
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 42017-42549, 42552-43008
+  Block bitmap at 42582 (+597), Inode bitmap at 42583 (+598)
+  Inode table at 41985-42048
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 42049-42581, 42584-43008
   Free inodes: 10497-10752
 Group 42: (Blocks 43009-44032)
-  Block bitmap at 43587 (+578), Inode bitmap at 43588 (+579)
-  Inode table at 43009-43040
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 43041-43586, 43589-44032
+  Block bitmap at 43619 (+610), Inode bitmap at 43620 (+611)
+  Inode table at 43009-43072
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 43073-43618, 43621-44032
   Free inodes: 10753-11008
 Group 43: (Blocks 44033-45056)
-  Block bitmap at 44624 (+591), Inode bitmap at 44625 (+592)
-  Inode table at 44033-44064
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 44065-44623, 44626-45056
+  Block bitmap at 44656 (+623), Inode bitmap at 44657 (+624)
+  Inode table at 44033-44096
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 44097-44655, 44658-45056
   Free inodes: 11009-11264
 Group 44: (Blocks 45057-46080)
-  Block bitmap at 45661 (+604), Inode bitmap at 45662 (+605)
-  Inode table at 45057-45088
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 45089-45660, 45663-46080
+  Block bitmap at 45693 (+636), Inode bitmap at 45694 (+637)
+  Inode table at 45057-45120
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 45121-45692, 45695-46080
   Free inodes: 11265-11520
 Group 45: (Blocks 46081-47104)
-  Block bitmap at 46698 (+617), Inode bitmap at 46699 (+618)
-  Inode table at 46081-46112
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 46113-46697, 46700-47104
+  Block bitmap at 46730 (+649), Inode bitmap at 46731 (+650)
+  Inode table at 46081-46144
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 46145-46729, 46732-47104
   Free inodes: 11521-11776
 Group 46: (Blocks 47105-48128)
-  Block bitmap at 47735 (+630), Inode bitmap at 47736 (+631)
-  Inode table at 47105-47136
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 47137-47734, 47737-48128
+  Block bitmap at 47767 (+662), Inode bitmap at 47768 (+663)
+  Inode table at 47105-47168
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 47169-47766, 47769-48128
   Free inodes: 11777-12032
 Group 47: (Blocks 48129-49152)
-  Block bitmap at 48772 (+643), Inode bitmap at 48773 (+644)
-  Inode table at 48129-48160
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 48161-48771, 48774-49152
+  Block bitmap at 48804 (+675), Inode bitmap at 48805 (+676)
+  Inode table at 48129-48192
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 48193-48803, 48806-49152
   Free inodes: 12033-12288
 Group 48: (Blocks 49153-50176)
-  Block bitmap at 49809 (+656), Inode bitmap at 49810 (+657)
-  Inode table at 49153-49184
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 49185-49808, 49811-50176
+  Block bitmap at 49841 (+688), Inode bitmap at 49842 (+689)
+  Inode table at 49153-49216
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 49217-49840, 49843-50176
   Free inodes: 12289-12544
 Group 49: (Blocks 50177-51200)
   Backup superblock at 50177, Group descriptors at 50178-50181
   Reserved GDT blocks at 50182-50437
-  Block bitmap at 51107 (+930), Inode bitmap at 51108 (+931)
-  Inode table at 50438-50469 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 50470-51106, 51109-51200
+  Block bitmap at 51139 (+962), Inode bitmap at 51140 (+963)
+  Inode table at 50438-50501 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 50502-51138, 51141-51200
   Free inodes: 12545-12800
 Group 50: (Blocks 51201-52224)
-  Block bitmap at 51883 (+682), Inode bitmap at 51884 (+683)
-  Inode table at 51201-51232
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 51233-51882, 51885-52224
+  Block bitmap at 51915 (+714), Inode bitmap at 51916 (+715)
+  Inode table at 51201-51264
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 51265-51914, 51917-52224
   Free inodes: 12801-13056
 Group 51: (Blocks 52225-53248)
-  Block bitmap at 52920 (+695), Inode bitmap at 52921 (+696)
-  Inode table at 52225-52256
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 52257-52919, 52922-53248
+  Block bitmap at 52952 (+727), Inode bitmap at 52953 (+728)
+  Inode table at 52225-52288
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 52289-52951, 52954-53248
   Free inodes: 13057-13312
 Group 52: (Blocks 53249-54272)
-  Block bitmap at 53957 (+708), Inode bitmap at 53958 (+709)
-  Inode table at 53249-53280
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 53281-53956, 53959-54272
+  Block bitmap at 53989 (+740), Inode bitmap at 53990 (+741)
+  Inode table at 53249-53312
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 53313-53988, 53991-54272
   Free inodes: 13313-13568
 Group 53: (Blocks 54273-55296)
-  Block bitmap at 54994 (+721), Inode bitmap at 54995 (+722)
-  Inode table at 54273-54304
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 54305-54993, 54996-55296
+  Block bitmap at 55026 (+753), Inode bitmap at 55027 (+754)
+  Inode table at 54273-54336
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 54337-55025, 55028-55296
   Free inodes: 13569-13824
 Group 54: (Blocks 55297-56320)
-  Block bitmap at 56031 (+734), Inode bitmap at 56032 (+735)
-  Inode table at 55297-55328
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 55329-56030, 56033-56320
+  Block bitmap at 56063 (+766), Inode bitmap at 56064 (+767)
+  Inode table at 55297-55360
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 55361-56062, 56065-56320
   Free inodes: 13825-14080
 Group 55: (Blocks 56321-57344)
-  Block bitmap at 57068 (+747), Inode bitmap at 57069 (+748)
-  Inode table at 56321-56352
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 56353-57067, 57070-57344
+  Block bitmap at 57100 (+779), Inode bitmap at 57101 (+780)
+  Inode table at 56321-56384
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 56385-57099, 57102-57344
   Free inodes: 14081-14336
 Group 56: (Blocks 57345-58368)
-  Block bitmap at 58105 (+760), Inode bitmap at 58106 (+761)
-  Inode table at 57345-57376
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 57377-58104, 58107-58368
+  Block bitmap at 58137 (+792), Inode bitmap at 58138 (+793)
+  Inode table at 57345-57408
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 57409-58136, 58139-58368
   Free inodes: 14337-14592
 Group 57: (Blocks 58369-59392)
-  Block bitmap at 59142 (+773), Inode bitmap at 59143 (+774)
-  Inode table at 58369-58400
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 58401-59141, 59144-59392
+  Block bitmap at 59174 (+805), Inode bitmap at 59175 (+806)
+  Inode table at 58369-58432
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 58433-59173, 59176-59392
   Free inodes: 14593-14848
 Group 58: (Blocks 59393-60416)
-  Block bitmap at 60179 (+786), Inode bitmap at 60180 (+787)
-  Inode table at 59393-59424
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 59425-60178, 60181-60416
+  Block bitmap at 60211 (+818), Inode bitmap at 60212 (+819)
+  Inode table at 59393-59456
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 59457-60210, 60213-60416
   Free inodes: 14849-15104
 Group 59: (Blocks 60417-61440)
-  Block bitmap at 61216 (+799), Inode bitmap at 61217 (+800)
-  Inode table at 60417-60448
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 60449-61215, 61218-61440
+  Block bitmap at 61248 (+831), Inode bitmap at 61249 (+832)
+  Inode table at 60417-60480
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 60481-61247, 61250-61440
   Free inodes: 15105-15360
 Group 60: (Blocks 61441-62464)
-  Block bitmap at 62253 (+812), Inode bitmap at 62254 (+813)
-  Inode table at 61441-61472
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 61473-62252, 62255-62464
+  Block bitmap at 62285 (+844), Inode bitmap at 62286 (+845)
+  Inode table at 61441-61504
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 61505-62284, 62287-62464
   Free inodes: 15361-15616
 Group 61: (Blocks 62465-63488)
-  Block bitmap at 63290 (+825), Inode bitmap at 63291 (+826)
-  Inode table at 62465-62496
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 62497-63289, 63292-63488
+  Block bitmap at 63322 (+857), Inode bitmap at 63323 (+858)
+  Inode table at 62465-62528
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 62529-63321, 63324-63488
   Free inodes: 15617-15872
 Group 62: (Blocks 63489-64512)
-  Block bitmap at 64327 (+838), Inode bitmap at 64328 (+839)
-  Inode table at 63489-63520
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 63521-64326, 64329-64512
+  Block bitmap at 64359 (+870), Inode bitmap at 64360 (+871)
+  Inode table at 63489-63552
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 63553-64358, 64361-64512
   Free inodes: 15873-16128
 Group 63: (Blocks 64513-65536)
-  Block bitmap at 65364 (+851), Inode bitmap at 65365 (+852)
-  Inode table at 64513-64544
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 64545-65363, 65366-65536
+  Block bitmap at 65396 (+883), Inode bitmap at 65397 (+884)
+  Inode table at 64513-64576
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 64577-65395, 65398-65536
   Free inodes: 16129-16384
 Group 64: (Blocks 65537-66560)
-  Block bitmap at 66401 (+864), Inode bitmap at 66402 (+865)
-  Inode table at 65537-65568
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 65569-66400, 66403-66560
+  Block bitmap at 66433 (+896), Inode bitmap at 66434 (+897)
+  Inode table at 65537-65600
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 65601-66432, 66435-66560
   Free inodes: 16385-16640
 Group 65: (Blocks 66561-67584)
-  Block bitmap at 67438 (+877), Inode bitmap at 67439 (+878)
-  Inode table at 66561-66592
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 66593-67437, 67440-67584
+  Block bitmap at 67470 (+909), Inode bitmap at 67471 (+910)
+  Inode table at 66561-66624
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 66625-67469, 67472-67584
   Free inodes: 16641-16896
 Group 66: (Blocks 67585-68608)
-  Block bitmap at 68475 (+890), Inode bitmap at 68476 (+891)
-  Inode table at 67585-67616
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 67617-68474, 68477-68608
+  Block bitmap at 68507 (+922), Inode bitmap at 68508 (+923)
+  Inode table at 67585-67648
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 67649-68506, 68509-68608
   Free inodes: 16897-17152
 Group 67: (Blocks 68609-69632)
-  Block bitmap at 69512 (+903), Inode bitmap at 69513 (+904)
-  Inode table at 68609-68640
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 68641-69511, 69514-69632
+  Block bitmap at 69544 (+935), Inode bitmap at 69545 (+936)
+  Inode table at 68609-68672
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 68673-69543, 69546-69632
   Free inodes: 17153-17408
 Group 68: (Blocks 69633-70656)
-  Block bitmap at 70549 (+916), Inode bitmap at 70550 (+917)
-  Inode table at 69633-69664
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 69665-70548, 70551-70656
+  Block bitmap at 70581 (+948), Inode bitmap at 70582 (+949)
+  Inode table at 69633-69696
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 69697-70580, 70583-70656
   Free inodes: 17409-17664
 Group 69: (Blocks 70657-71680)
-  Block bitmap at 71586 (+929), Inode bitmap at 71587 (+930)
-  Inode table at 70657-70688
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 70689-71585, 71588-71680
+  Block bitmap at 71618 (+961), Inode bitmap at 71619 (+962)
+  Inode table at 70657-70720
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 70721-71617, 71620-71680
   Free inodes: 17665-17920
 Group 70: (Blocks 71681-72704)
-  Block bitmap at 72623 (+942), Inode bitmap at 72624 (+943)
-  Inode table at 71681-71712
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 71713-72622, 72625-72704
+  Block bitmap at 72655 (+974), Inode bitmap at 72656 (+975)
+  Inode table at 71681-71744
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 71745-72654, 72657-72704
   Free inodes: 17921-18176
 Group 71: (Blocks 72705-73728)
-  Block bitmap at 73660 (+955), Inode bitmap at 73661 (+956)
-  Inode table at 72705-72736
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 72737-73659, 73662-73728
+  Block bitmap at 73692 (+987), Inode bitmap at 73693 (+988)
+  Inode table at 72705-72768
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 72769-73691, 73694-73728
   Free inodes: 18177-18432
 Group 72: (Blocks 73729-74752)
-  Block bitmap at 74697 (+968), Inode bitmap at 74698 (+969)
-  Inode table at 73729-73760
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 73761-74696, 74699-74752
+  Block bitmap at 74729 (+1000), Inode bitmap at 74730 (+1001)
+  Inode table at 73729-73792
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 73793-74728, 74731-74752
   Free inodes: 18433-18688
 Group 73: (Blocks 74753-75776)
-  Block bitmap at 75734 (+981), Inode bitmap at 75735 (+982)
-  Inode table at 74753-74784
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 74785-75733, 75736-75776
+  Block bitmap at 75766 (+1013), Inode bitmap at 75767 (+1014)
+  Inode table at 74753-74816
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 74817-75765, 75768-75776
   Free inodes: 18689-18944
 Group 74: (Blocks 75777-76800)
-  Block bitmap at 76771 (+994), Inode bitmap at 76772 (+995)
-  Inode table at 75777-75808
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 75809-76770, 76773-76800
+  Block bitmap at 75843 (+66), Inode bitmap at 75844 (+67)
+  Inode table at 75777-75840
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 75841-75842, 75845-76800
   Free inodes: 18945-19200
 Group 75: (Blocks 76801-77824)
-  Block bitmap at 77808 (+1007), Inode bitmap at 77809 (+1008)
-  Inode table at 76801-76832
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 76833-77807, 77810-77824
+  Block bitmap at 76880 (+79), Inode bitmap at 76881 (+80)
+  Inode table at 76801-76864
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 76865-76879, 76882-77824
   Free inodes: 19201-19456
 Group 76: (Blocks 77825-78848)
-  Block bitmap at 78845 (+1020), Inode bitmap at 78846 (+1021)
-  Inode table at 77825-77856
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 77857-78844, 78847-78848
+  Block bitmap at 77917 (+92), Inode bitmap at 77918 (+93)
+  Inode table at 77825-77888
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 77889-77916, 77919-78848
   Free inodes: 19457-19712
 Group 77: (Blocks 78849-79872)
-  Block bitmap at 78890 (+41), Inode bitmap at 78891 (+42)
-  Inode table at 78849-78880
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 78881-78889, 78892-79872
+  Block bitmap at 78954 (+105), Inode bitmap at 78955 (+106)
+  Inode table at 78849-78912
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 78913-78953, 78956-79872
   Free inodes: 19713-19968
 Group 78: (Blocks 79873-80896)
-  Block bitmap at 79927 (+54), Inode bitmap at 79928 (+55)
-  Inode table at 79873-79904
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 79905-79926, 79929-80896
+  Block bitmap at 79991 (+118), Inode bitmap at 79992 (+119)
+  Inode table at 79873-79936
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 79937-79990, 79993-80896
   Free inodes: 19969-20224
 Group 79: (Blocks 80897-81920)
-  Block bitmap at 80964 (+67), Inode bitmap at 80965 (+68)
-  Inode table at 80897-80928
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 80929-80963, 80966-81920
+  Block bitmap at 81028 (+131), Inode bitmap at 81029 (+132)
+  Inode table at 80897-80960
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 80961-81027, 81030-81920
   Free inodes: 20225-20480
 Group 80: (Blocks 81921-82944)
-  Block bitmap at 82001 (+80), Inode bitmap at 82002 (+81)
-  Inode table at 81921-81952
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 81953-82000, 82003-82944
+  Block bitmap at 82065 (+144), Inode bitmap at 82066 (+145)
+  Inode table at 81921-81984
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 81985-82064, 82067-82944
   Free inodes: 20481-20736
 Group 81: (Blocks 82945-83968)
   Backup superblock at 82945, Group descriptors at 82946-82949
   Reserved GDT blocks at 82950-83205
-  Block bitmap at 83560 (+615), Inode bitmap at 83561 (+616)
-  Inode table at 83206-83237 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 83238-83559, 83562-83968
+  Block bitmap at 83624 (+679), Inode bitmap at 83625 (+680)
+  Inode table at 83206-83269 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 83270-83623, 83626-83968
   Free inodes: 20737-20992
 Group 82: (Blocks 83969-84992)
-  Block bitmap at 84075 (+106), Inode bitmap at 84076 (+107)
-  Inode table at 83969-84000
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 84001-84074, 84077-84992
+  Block bitmap at 84139 (+170), Inode bitmap at 84140 (+171)
+  Inode table at 83969-84032
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 84033-84138, 84141-84992
   Free inodes: 20993-21248
 Group 83: (Blocks 84993-86016)
-  Block bitmap at 85112 (+119), Inode bitmap at 85113 (+120)
-  Inode table at 84993-85024
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 85025-85111, 85114-86016
+  Block bitmap at 85176 (+183), Inode bitmap at 85177 (+184)
+  Inode table at 84993-85056
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 85057-85175, 85178-86016
   Free inodes: 21249-21504
 Group 84: (Blocks 86017-87040)
-  Block bitmap at 86149 (+132), Inode bitmap at 86150 (+133)
-  Inode table at 86017-86048
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 86049-86148, 86151-87040
+  Block bitmap at 86213 (+196), Inode bitmap at 86214 (+197)
+  Inode table at 86017-86080
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 86081-86212, 86215-87040
   Free inodes: 21505-21760
 Group 85: (Blocks 87041-88064)
-  Block bitmap at 87186 (+145), Inode bitmap at 87187 (+146)
-  Inode table at 87041-87072
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 87073-87185, 87188-88064
+  Block bitmap at 87250 (+209), Inode bitmap at 87251 (+210)
+  Inode table at 87041-87104
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 87105-87249, 87252-88064
   Free inodes: 21761-22016
 Group 86: (Blocks 88065-89088)
-  Block bitmap at 88223 (+158), Inode bitmap at 88224 (+159)
-  Inode table at 88065-88096
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 88097-88222, 88225-89088
+  Block bitmap at 88287 (+222), Inode bitmap at 88288 (+223)
+  Inode table at 88065-88128
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 88129-88286, 88289-89088
   Free inodes: 22017-22272
 Group 87: (Blocks 89089-90112)
-  Block bitmap at 89260 (+171), Inode bitmap at 89261 (+172)
-  Inode table at 89089-89120
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 89121-89259, 89262-90112
+  Block bitmap at 89324 (+235), Inode bitmap at 89325 (+236)
+  Inode table at 89089-89152
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 89153-89323, 89326-90112
   Free inodes: 22273-22528
 Group 88: (Blocks 90113-91136)
-  Block bitmap at 90297 (+184), Inode bitmap at 90298 (+185)
-  Inode table at 90113-90144
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 90145-90296, 90299-91136
+  Block bitmap at 90361 (+248), Inode bitmap at 90362 (+249)
+  Inode table at 90113-90176
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 90177-90360, 90363-91136
   Free inodes: 22529-22784
 Group 89: (Blocks 91137-92160)
-  Block bitmap at 91334 (+197), Inode bitmap at 91335 (+198)
-  Inode table at 91137-91168
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 91169-91333, 91336-92160
+  Block bitmap at 91398 (+261), Inode bitmap at 91399 (+262)
+  Inode table at 91137-91200
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 91201-91397, 91400-92160
   Free inodes: 22785-23040
 Group 90: (Blocks 92161-93184)
-  Block bitmap at 92371 (+210), Inode bitmap at 92372 (+211)
-  Inode table at 92161-92192
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 92193-92370, 92373-93184
+  Block bitmap at 92435 (+274), Inode bitmap at 92436 (+275)
+  Inode table at 92161-92224
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 92225-92434, 92437-93184
   Free inodes: 23041-23296
 Group 91: (Blocks 93185-94208)
-  Block bitmap at 93408 (+223), Inode bitmap at 93409 (+224)
-  Inode table at 93185-93216
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 93217-93407, 93410-94208
+  Block bitmap at 93472 (+287), Inode bitmap at 93473 (+288)
+  Inode table at 93185-93248
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 93249-93471, 93474-94208
   Free inodes: 23297-23552
 Group 92: (Blocks 94209-95232)
-  Block bitmap at 94445 (+236), Inode bitmap at 94446 (+237)
-  Inode table at 94209-94240
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 94241-94444, 94447-95232
+  Block bitmap at 94509 (+300), Inode bitmap at 94510 (+301)
+  Inode table at 94209-94272
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 94273-94508, 94511-95232
   Free inodes: 23553-23808
 Group 93: (Blocks 95233-96256)
-  Block bitmap at 95482 (+249), Inode bitmap at 95483 (+250)
-  Inode table at 95233-95264
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 95265-95481, 95484-96256
+  Block bitmap at 95546 (+313), Inode bitmap at 95547 (+314)
+  Inode table at 95233-95296
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 95297-95545, 95548-96256
   Free inodes: 23809-24064
 Group 94: (Blocks 96257-97280)
-  Block bitmap at 96519 (+262), Inode bitmap at 96520 (+263)
-  Inode table at 96257-96288
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 96289-96518, 96521-97280
+  Block bitmap at 96583 (+326), Inode bitmap at 96584 (+327)
+  Inode table at 96257-96320
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 96321-96582, 96585-97280
   Free inodes: 24065-24320
 Group 95: (Blocks 97281-98304)
-  Block bitmap at 97556 (+275), Inode bitmap at 97557 (+276)
-  Inode table at 97281-97312
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 97313-97555, 97558-98304
+  Block bitmap at 97620 (+339), Inode bitmap at 97621 (+340)
+  Inode table at 97281-97344
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 97345-97619, 97622-98304
   Free inodes: 24321-24576
 Group 96: (Blocks 98305-99328)
-  Block bitmap at 98593 (+288), Inode bitmap at 98594 (+289)
-  Inode table at 98305-98336
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 98337-98592, 98595-99328
+  Block bitmap at 98657 (+352), Inode bitmap at 98658 (+353)
+  Inode table at 98305-98368
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 98369-98656, 98659-99328
   Free inodes: 24577-24832
 Group 97: (Blocks 99329-100352)
-  Block bitmap at 99630 (+301), Inode bitmap at 99631 (+302)
-  Inode table at 99329-99360
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 99361-99629, 99632-100352
+  Block bitmap at 99694 (+365), Inode bitmap at 99695 (+366)
+  Inode table at 99329-99392
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 99393-99693, 99696-100352
   Free inodes: 24833-25088
 Group 98: (Blocks 100353-101376)
-  Block bitmap at 100667 (+314), Inode bitmap at 100668 (+315)
-  Inode table at 100353-100384
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 100385-100666, 100669-101376
+  Block bitmap at 100731 (+378), Inode bitmap at 100732 (+379)
+  Inode table at 100353-100416
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 100417-100730, 100733-101376
   Free inodes: 25089-25344
 Group 99: (Blocks 101377-102400)
-  Block bitmap at 101704 (+327), Inode bitmap at 101705 (+328)
-  Inode table at 101377-101408
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 101409-101703, 101706-102400
+  Block bitmap at 101768 (+391), Inode bitmap at 101769 (+392)
+  Inode table at 101377-101440
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 101441-101767, 101770-102400
   Free inodes: 25345-25600
 Group 100: (Blocks 102401-103424)
-  Block bitmap at 102741 (+340), Inode bitmap at 102742 (+341)
-  Inode table at 102401-102432
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 102433-102740, 102743-103424
+  Block bitmap at 102805 (+404), Inode bitmap at 102806 (+405)
+  Inode table at 102401-102464
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 102465-102804, 102807-103424
   Free inodes: 25601-25856
 Group 101: (Blocks 103425-104448)
-  Block bitmap at 103778 (+353), Inode bitmap at 103779 (+354)
-  Inode table at 103425-103456
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 103457-103777, 103780-104448
+  Block bitmap at 103842 (+417), Inode bitmap at 103843 (+418)
+  Inode table at 103425-103488
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 103489-103841, 103844-104448
   Free inodes: 25857-26112
 Group 102: (Blocks 104449-105472)
-  Block bitmap at 104815 (+366), Inode bitmap at 104816 (+367)
-  Inode table at 104449-104480
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 104481-104814, 104817-105472
+  Block bitmap at 104879 (+430), Inode bitmap at 104880 (+431)
+  Inode table at 104449-104512
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 104513-104878, 104881-105472
   Free inodes: 26113-26368
 Group 103: (Blocks 105473-106496)
-  Block bitmap at 105852 (+379), Inode bitmap at 105853 (+380)
-  Inode table at 105473-105504
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 105505-105851, 105854-106496
+  Block bitmap at 105916 (+443), Inode bitmap at 105917 (+444)
+  Inode table at 105473-105536
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 105537-105915, 105918-106496
   Free inodes: 26369-26624
 Group 104: (Blocks 106497-107520)
-  Block bitmap at 106889 (+392), Inode bitmap at 106890 (+393)
-  Inode table at 106497-106528
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 106529-106888, 106891-107520
+  Block bitmap at 106953 (+456), Inode bitmap at 106954 (+457)
+  Inode table at 106497-106560
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 106561-106952, 106955-107520
   Free inodes: 26625-26880
 Group 105: (Blocks 107521-108544)
-  Block bitmap at 107926 (+405), Inode bitmap at 107927 (+406)
-  Inode table at 107521-107552
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 107553-107925, 107928-108544
+  Block bitmap at 107990 (+469), Inode bitmap at 107991 (+470)
+  Inode table at 107521-107584
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 107585-107989, 107992-108544
   Free inodes: 26881-27136
 Group 106: (Blocks 108545-109568)
-  Block bitmap at 108963 (+418), Inode bitmap at 108964 (+419)
-  Inode table at 108545-108576
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 108577-108962, 108965-109568
+  Block bitmap at 109027 (+482), Inode bitmap at 109028 (+483)
+  Inode table at 108545-108608
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 108609-109026, 109029-109568
   Free inodes: 27137-27392
 Group 107: (Blocks 109569-110592)
-  Block bitmap at 110000 (+431), Inode bitmap at 110001 (+432)
-  Inode table at 109569-109600
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 109601-109999, 110002-110592
+  Block bitmap at 110064 (+495), Inode bitmap at 110065 (+496)
+  Inode table at 109569-109632
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 109633-110063, 110066-110592
   Free inodes: 27393-27648
 Group 108: (Blocks 110593-111616)
-  Block bitmap at 111037 (+444), Inode bitmap at 111038 (+445)
-  Inode table at 110593-110624
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 110625-111036, 111039-111616
+  Block bitmap at 111101 (+508), Inode bitmap at 111102 (+509)
+  Inode table at 110593-110656
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 110657-111100, 111103-111616
   Free inodes: 27649-27904
 Group 109: (Blocks 111617-112640)
-  Block bitmap at 112074 (+457), Inode bitmap at 112075 (+458)
-  Inode table at 111617-111648
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 111649-112073, 112076-112640
+  Block bitmap at 112138 (+521), Inode bitmap at 112139 (+522)
+  Inode table at 111617-111680
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 111681-112137, 112140-112640
   Free inodes: 27905-28160
 Group 110: (Blocks 112641-113664)
-  Block bitmap at 113111 (+470), Inode bitmap at 113112 (+471)
-  Inode table at 112641-112672
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 112673-113110, 113113-113664
+  Block bitmap at 113175 (+534), Inode bitmap at 113176 (+535)
+  Inode table at 112641-112704
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 112705-113174, 113177-113664
   Free inodes: 28161-28416
 Group 111: (Blocks 113665-114688)
-  Block bitmap at 114148 (+483), Inode bitmap at 114149 (+484)
-  Inode table at 113665-113696
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 113697-114147, 114150-114688
+  Block bitmap at 114212 (+547), Inode bitmap at 114213 (+548)
+  Inode table at 113665-113728
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 113729-114211, 114214-114688
   Free inodes: 28417-28672
 Group 112: (Blocks 114689-115712)
-  Block bitmap at 115185 (+496), Inode bitmap at 115186 (+497)
-  Inode table at 114689-114720
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 114721-115184, 115187-115712
+  Block bitmap at 115249 (+560), Inode bitmap at 115250 (+561)
+  Inode table at 114689-114752
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 114753-115248, 115251-115712
   Free inodes: 28673-28928
 Group 113: (Blocks 115713-116736)
-  Block bitmap at 116222 (+509), Inode bitmap at 116223 (+510)
-  Inode table at 115713-115744
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 115745-116221, 116224-116736
+  Block bitmap at 116286 (+573), Inode bitmap at 116287 (+574)
+  Inode table at 115713-115776
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 115777-116285, 116288-116736
   Free inodes: 28929-29184
 Group 114: (Blocks 116737-117760)
-  Block bitmap at 117259 (+522), Inode bitmap at 117260 (+523)
-  Inode table at 116737-116768
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 116769-117258, 117261-117760
+  Block bitmap at 117323 (+586), Inode bitmap at 117324 (+587)
+  Inode table at 116737-116800
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 116801-117322, 117325-117760
   Free inodes: 29185-29440
 Group 115: (Blocks 117761-118784)
-  Block bitmap at 118296 (+535), Inode bitmap at 118297 (+536)
-  Inode table at 117761-117792
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 117793-118295, 118298-118784
+  Block bitmap at 118360 (+599), Inode bitmap at 118361 (+600)
+  Inode table at 117761-117824
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 117825-118359, 118362-118784
   Free inodes: 29441-29696
 Group 116: (Blocks 118785-119808)
-  Block bitmap at 119333 (+548), Inode bitmap at 119334 (+549)
-  Inode table at 118785-118816
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 118817-119332, 119335-119808
+  Block bitmap at 119397 (+612), Inode bitmap at 119398 (+613)
+  Inode table at 118785-118848
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 118849-119396, 119399-119808
   Free inodes: 29697-29952
 Group 117: (Blocks 119809-120832)
-  Block bitmap at 120370 (+561), Inode bitmap at 120371 (+562)
-  Inode table at 119809-119840
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 119841-120369, 120372-120832
+  Block bitmap at 120434 (+625), Inode bitmap at 120435 (+626)
+  Inode table at 119809-119872
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 119873-120433, 120436-120832
   Free inodes: 29953-30208
 Group 118: (Blocks 120833-121856)
-  Block bitmap at 121407 (+574), Inode bitmap at 121408 (+575)
-  Inode table at 120833-120864
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 120865-121406, 121409-121856
+  Block bitmap at 121471 (+638), Inode bitmap at 121472 (+639)
+  Inode table at 120833-120896
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 120897-121470, 121473-121856
   Free inodes: 30209-30464
 Group 119: (Blocks 121857-122880)
-  Block bitmap at 122444 (+587), Inode bitmap at 122445 (+588)
-  Inode table at 121857-121888
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 121889-122443, 122446-122880
+  Block bitmap at 122508 (+651), Inode bitmap at 122509 (+652)
+  Inode table at 121857-121920
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 121921-122507, 122510-122880
   Free inodes: 30465-30720
 Group 120: (Blocks 122881-123904)
-  Block bitmap at 123481 (+600), Inode bitmap at 123482 (+601)
-  Inode table at 122881-122912
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 122913-123480, 123483-123904
+  Block bitmap at 123545 (+664), Inode bitmap at 123546 (+665)
+  Inode table at 122881-122944
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 122945-123544, 123547-123904
   Free inodes: 30721-30976
 Group 121: (Blocks 123905-124928)
-  Block bitmap at 124518 (+613), Inode bitmap at 124519 (+614)
-  Inode table at 123905-123936
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 123937-124517, 124520-124928
+  Block bitmap at 124582 (+677), Inode bitmap at 124583 (+678)
+  Inode table at 123905-123968
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 123969-124581, 124584-124928
   Free inodes: 30977-31232
 Group 122: (Blocks 124929-125952)
-  Block bitmap at 125555 (+626), Inode bitmap at 125556 (+627)
-  Inode table at 124929-124960
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 124961-125554, 125557-125952
+  Block bitmap at 125619 (+690), Inode bitmap at 125620 (+691)
+  Inode table at 124929-124992
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 124993-125618, 125621-125952
   Free inodes: 31233-31488
 Group 123: (Blocks 125953-126976)
-  Block bitmap at 126592 (+639), Inode bitmap at 126593 (+640)
-  Inode table at 125953-125984
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 125985-126591, 126594-126976
+  Block bitmap at 126656 (+703), Inode bitmap at 126657 (+704)
+  Inode table at 125953-126016
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 126017-126655, 126658-126976
   Free inodes: 31489-31744
 Group 124: (Blocks 126977-128000)
-  Block bitmap at 127629 (+652), Inode bitmap at 127630 (+653)
-  Inode table at 126977-127008
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 127009-127628, 127631-128000
+  Block bitmap at 127693 (+716), Inode bitmap at 127694 (+717)
+  Inode table at 126977-127040
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 127041-127692, 127695-128000
   Free inodes: 31745-32000
 Group 125: (Blocks 128001-129024)
   Backup superblock at 128001, Group descriptors at 128002-128005
   Reserved GDT blocks at 128006-128261
-  Block bitmap at 128457 (+456), Inode bitmap at 128458 (+457)
-  Inode table at 128262-128293 (+261)
-  729 free blocks, 256 free inodes, 0 directories
-  Free blocks: 128294-128456, 128459-129024
+  Block bitmap at 128553 (+552), Inode bitmap at 128554 (+553)
+  Inode table at 128262-128325 (+261)
+  697 free blocks, 256 free inodes, 0 directories
+  Free blocks: 128326-128552, 128555-129024
   Free inodes: 32001-32256
 Group 126: (Blocks 129025-130048)
-  Block bitmap at 129703 (+678), Inode bitmap at 129704 (+679)
-  Inode table at 129025-129056
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 129057-129702, 129705-130048
+  Block bitmap at 129767 (+742), Inode bitmap at 129768 (+743)
+  Inode table at 129025-129088
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 129089-129766, 129769-130048
   Free inodes: 32257-32512
 Group 127: (Blocks 130049-131071)
-  Block bitmap at 130741 (+692), Inode bitmap at 130742 (+693)
-  Inode table at 130049-130080
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 130081-130740, 130743-131071
+  Block bitmap at 130805 (+756), Inode bitmap at 130806 (+757)
+  Inode table at 130049-130112
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 130113-130804, 130807-131071
   Free inodes: 32513-32768
diff --git a/tests/m_root_owner/expect.1 b/tests/m_root_owner/expect.1
index 9c978b0..3b9e3ee 100644
--- a/tests/m_root_owner/expect.1
+++ b/tests/m_root_owner/expect.1
@@ -10,7 +10,7 @@
 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), 38/1024 blocks
+test_filesys: 11/128 files (0.0% non-contiguous), 54/1024 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -24,8 +24,8 @@
 Inode count:              128
 Block count:              1024
 Reserved block count:     51
-Overhead clusters:        24
-Free blocks:              986
+Overhead clusters:        40
+Free blocks:              970
 Free inodes:              117
 First block:              1
 Block size:               1024
@@ -34,13 +34,15 @@
 Blocks per group:         8192
 Fragments per group:      8192
 Inodes per group:         128
-Inode blocks per group:   16
+Inode blocks per group:   32
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -49,7 +51,7 @@
   Reserved GDT blocks at 3-5
   Block bitmap at 6 (+5)
   Inode bitmap at 7 (+6)
-  Inode table at 8-23 (+7)
-  986 free blocks, 117 free inodes, 2 directories
-  Free blocks: 38-1023
+  Inode table at 8-39 (+7)
+  970 free blocks, 117 free inodes, 2 directories
+  Free blocks: 54-1023
   Free inodes: 12-128
diff --git a/tests/m_rootdir_acl/expect b/tests/m_rootdir_acl/expect
index babd802..57f03e5 100644
--- a/tests/m_rootdir_acl/expect
+++ b/tests/m_rootdir_acl/expect
@@ -10,8 +10,8 @@
 Inode count:              1024
 Block count:              16384
 Reserved block count:     819
-Overhead clusters:        1543
-Free blocks:              14788
+Overhead clusters:        1799
+Free blocks:              14533
 Free inodes:              1003
 First block:              1
 Block size:               1024
@@ -21,14 +21,14 @@
 Blocks per group:         8192
 Fragments per group:      8192
 Inodes per group:         512
-Inode blocks per group:   128
+Inode blocks per group:   256
 Flex block group size:    16
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          256
+Inode size:	          512
 Required extra isize:     32
 Desired extra isize:      32
 Journal inode:            8
@@ -49,16 +49,16 @@
   Reserved GDT blocks at 3-129
   Block bitmap at 130 (+129)
   Inode bitmap at 132 (+131)
-  Inode table at 134-261 (+133)
-  7750 free blocks, 491 free inodes, 5 directories, 491 unused inodes
-  Free blocks: 443-8192
+  Inode table at 134-389 (+133)
+  7495 free blocks, 491 free inodes, 5 directories, 491 unused inodes
+  Free blocks: 698-8192
   Free inodes: 22-512
 Group 1: (Blocks 8193-16383) [INODE_UNINIT]
   Backup superblock at 8193, Group descriptors at 8194-8194
   Reserved GDT blocks at 8195-8321
   Block bitmap at 131 (bg #0 + 130)
   Inode bitmap at 133 (bg #0 + 132)
-  Inode table at 262-389 (bg #0 + 261)
+  Inode table at 390-645 (bg #0 + 389)
   7038 free blocks, 512 free inodes, 0 directories, 512 unused inodes
   Free blocks: 9346-16383
   Free inodes: 513-1024
@@ -116,4 +116,4 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test.img: 21/1024 files (0.0% non-contiguous), 1596/16384 blocks
+test.img: 21/1024 files (0.0% non-contiguous), 1851/16384 blocks
diff --git a/tests/m_rootdir_acl/script b/tests/m_rootdir_acl/script
index 2a2a4c6..a00e4c4 100644
--- a/tests/m_rootdir_acl/script
+++ b/tests/m_rootdir_acl/script
@@ -9,12 +9,17 @@
 	return 0
 fi
 
-MKFS_DIR=$TMPFILE.dir
+os=$(uname -s)
+if [ "$os" = "GNU" ]; then
+	# requires Posix ACL support
+	echo "$test_name: $test_description: skipped for $os"
+	return 0
+fi
+
+MKFS_DIR=$(mktemp -d ./$test_name-XXXXXX.tmp)
 OUT=$test_name.log
 EXP=$test_dir/expect
 
-rm -rf $MKFS_DIR
-mkdir -p $MKFS_DIR
 touch $MKFS_DIR/emptyfile
 dd if=/dev/zero bs=1024 count=32 2> /dev/null | tr '\0' 'a' > $MKFS_DIR/bigfile
 echo "M" | dd of=$MKFS_DIR/sparsefile bs=1 count=1 seek=1024 2> /dev/null
@@ -53,7 +58,14 @@
 other::r-x
 EOF
 
-$MKE2FS -q -F -o Linux -T ext4 -O metadata_csum,inline_data,64bit -E lazy_itable_init=1 -b 1024 -d $MKFS_DIR $TMPFILE 16384 > $OUT 2>&1
+if ! getfattr -d -m - $MKFS_DIR/acl_dir | grep -q posix_acl; then
+	echo "$test_name: $test_description: skipped (no posix_acl xattrs)"
+	rm -rf $MKFS_DIR
+	return 0
+fi
+
+# use 512-byte inodes so with/out security.selinux xattr doesn't fail
+$MKE2FS -q -F -o Linux -T ext4 -I 512 -O metadata_csum,inline_data,64bit -E lazy_itable_init=1 -b 1024 -d $MKFS_DIR $TMPFILE 16384 > $OUT 2>&1
 
 $DUMPE2FS $TMPFILE >> $OUT 2>&1
 cat > $TMPFILE.cmd << ENDL
diff --git a/tests/m_std/expect.1 b/tests/m_std/expect.1
index a11cb9b..e1d1845 100644
--- a/tests/m_std/expect.1
+++ b/tests/m_std/expect.1
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/16384 files (0.0% non-contiguous), 3364/65536 blocks
+test_filesys: 11/16384 files (0.0% non-contiguous), 5412/65536 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -26,8 +26,8 @@
 Inode count:              16384
 Block count:              65536
 Reserved block count:     3276
-Overhead clusters:        3350
-Free blocks:              62172
+Overhead clusters:        5398
+Free blocks:              60124
 Free inodes:              16373
 First block:              1
 Block size:               1024
@@ -36,13 +36,15 @@
 Blocks per group:         8192
 Fragments per group:      8192
 Inodes per group:         2048
-Inode blocks per group:   256
+Inode blocks per group:   512
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -50,57 +52,57 @@
   Primary superblock at 1, Group descriptors at 2-2
   Reserved GDT blocks at 3-257
   Block bitmap at 258 (+257), Inode bitmap at 259 (+258)
-  Inode table at 260-515 (+259)
-  7663 free blocks, 2037 free inodes, 2 directories
-  Free blocks: 530-8192
+  Inode table at 260-771 (+259)
+  7407 free blocks, 2037 free inodes, 2 directories
+  Free blocks: 786-8192
   Free inodes: 12-2048
 Group 1: (Blocks 8193-16384)
   Backup superblock at 8193, Group descriptors at 8194-8194
   Reserved GDT blocks at 8195-8449
   Block bitmap at 8450 (+257), Inode bitmap at 8451 (+258)
-  Inode table at 8452-8707 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 8708-16384
+  Inode table at 8452-8963 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 8964-16384
   Free inodes: 2049-4096
 Group 2: (Blocks 16385-24576)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16642 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 16643-24576
+  Inode table at 16387-16898 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 16899-24576
   Free inodes: 4097-6144
 Group 3: (Blocks 24577-32768)
   Backup superblock at 24577, Group descriptors at 24578-24578
   Reserved GDT blocks at 24579-24833
   Block bitmap at 24834 (+257), Inode bitmap at 24835 (+258)
-  Inode table at 24836-25091 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 25092-32768
+  Inode table at 24836-25347 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 25348-32768
   Free inodes: 6145-8192
 Group 4: (Blocks 32769-40960)
   Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
-  Inode table at 32771-33026 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 33027-40960
+  Inode table at 32771-33282 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 33283-40960
   Free inodes: 8193-10240
 Group 5: (Blocks 40961-49152)
   Backup superblock at 40961, Group descriptors at 40962-40962
   Reserved GDT blocks at 40963-41217
   Block bitmap at 41218 (+257), Inode bitmap at 41219 (+258)
-  Inode table at 41220-41475 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 41476-49152
+  Inode table at 41220-41731 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 41732-49152
   Free inodes: 10241-12288
 Group 6: (Blocks 49153-57344)
   Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
-  Inode table at 49155-49410 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 49411-57344
+  Inode table at 49155-49666 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 49667-57344
   Free inodes: 12289-14336
 Group 7: (Blocks 57345-65535)
   Backup superblock at 57345, Group descriptors at 57346-57346
   Reserved GDT blocks at 57347-57601
   Block bitmap at 57602 (+257), Inode bitmap at 57603 (+258)
-  Inode table at 57604-57859 (+259)
-  7676 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 57860-65535
+  Inode table at 57604-58115 (+259)
+  7420 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 58116-65535
   Free inodes: 14337-16384
diff --git a/tests/m_uninit/expect.1 b/tests/m_uninit/expect.1
index b60e8cc..3c28755 100644
--- a/tests/m_uninit/expect.1
+++ b/tests/m_uninit/expect.1
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/32768 files (0.0% non-contiguous), 5691/131072 blocks
+test_filesys: 11/32768 files (0.0% non-contiguous), 9787/131072 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -26,8 +26,8 @@
 Inode count:              32768
 Block count:              131072
 Reserved block count:     6553
-Overhead clusters:        5677
-Free blocks:              125381
+Overhead clusters:        9773
+Free blocks:              121285
 Free inodes:              32757
 First block:              1
 Block size:               1024
@@ -36,13 +36,15 @@
 Blocks per group:         8192
 Fragments per group:      8192
 Inodes per group:         2048
-Inode blocks per group:   256
+Inode blocks per group:   512
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -50,107 +52,107 @@
   Primary superblock at 1, Group descriptors at 2-2
   Reserved GDT blocks at 3-258
   Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
-  Inode table at 261-516 (+260)
-  7662 free blocks, 2037 free inodes, 2 directories, 2037 unused inodes
-  Free blocks: 531-8192
+  Inode table at 261-772 (+260)
+  7406 free blocks, 2037 free inodes, 2 directories, 2037 unused inodes
+  Free blocks: 787-8192
   Free inodes: 12-2048
 Group 1: (Blocks 8193-16384) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Backup superblock at 8193, Group descriptors at 8194-8194
   Reserved GDT blocks at 8195-8450
   Block bitmap at 8451 (+258), Inode bitmap at 8452 (+259)
-  Inode table at 8453-8708 (+260)
-  7676 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 8709-16384
+  Inode table at 8453-8964 (+260)
+  7420 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 8965-16384
   Free inodes: 2049-4096
 Group 2: (Blocks 16385-24576) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16642 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 16643-24576
+  Inode table at 16387-16898 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 16899-24576
   Free inodes: 4097-6144
 Group 3: (Blocks 24577-32768) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Backup superblock at 24577, Group descriptors at 24578-24578
   Reserved GDT blocks at 24579-24834
   Block bitmap at 24835 (+258), Inode bitmap at 24836 (+259)
-  Inode table at 24837-25092 (+260)
-  7676 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 25093-32768
+  Inode table at 24837-25348 (+260)
+  7420 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 25349-32768
   Free inodes: 6145-8192
 Group 4: (Blocks 32769-40960) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
-  Inode table at 32771-33026 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 33027-40960
+  Inode table at 32771-33282 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 33283-40960
   Free inodes: 8193-10240
 Group 5: (Blocks 40961-49152) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Backup superblock at 40961, Group descriptors at 40962-40962
   Reserved GDT blocks at 40963-41218
   Block bitmap at 41219 (+258), Inode bitmap at 41220 (+259)
-  Inode table at 41221-41476 (+260)
-  7676 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 41477-49152
+  Inode table at 41221-41732 (+260)
+  7420 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 41733-49152
   Free inodes: 10241-12288
 Group 6: (Blocks 49153-57344) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
-  Inode table at 49155-49410 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 49411-57344
+  Inode table at 49155-49666 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 49667-57344
   Free inodes: 12289-14336
 Group 7: (Blocks 57345-65536) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Backup superblock at 57345, Group descriptors at 57346-57346
   Reserved GDT blocks at 57347-57602
   Block bitmap at 57603 (+258), Inode bitmap at 57604 (+259)
-  Inode table at 57605-57860 (+260)
-  7676 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 57861-65536
+  Inode table at 57605-58116 (+260)
+  7420 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 58117-65536
   Free inodes: 14337-16384
 Group 8: (Blocks 65537-73728) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
-  Inode table at 65539-65794 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 65795-73728
+  Inode table at 65539-66050 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 66051-73728
   Free inodes: 16385-18432
 Group 9: (Blocks 73729-81920) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Backup superblock at 73729, Group descriptors at 73730-73730
   Reserved GDT blocks at 73731-73986
   Block bitmap at 73987 (+258), Inode bitmap at 73988 (+259)
-  Inode table at 73989-74244 (+260)
-  7676 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 74245-81920
+  Inode table at 73989-74500 (+260)
+  7420 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 74501-81920
   Free inodes: 18433-20480
 Group 10: (Blocks 81921-90112) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
-  Inode table at 81923-82178 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 82179-90112
+  Inode table at 81923-82434 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 82435-90112
   Free inodes: 20481-22528
 Group 11: (Blocks 90113-98304) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
-  Inode table at 90115-90370 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 90371-98304
+  Inode table at 90115-90626 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 90627-98304
   Free inodes: 22529-24576
 Group 12: (Blocks 98305-106496) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
-  Inode table at 98307-98562 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 98563-106496
+  Inode table at 98307-98818 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 98819-106496
   Free inodes: 24577-26624
 Group 13: (Blocks 106497-114688) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
-  Inode table at 106499-106754 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 106755-114688
+  Inode table at 106499-107010 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 107011-114688
   Free inodes: 26625-28672
 Group 14: (Blocks 114689-122880) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
   Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
-  Inode table at 114691-114946 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 114947-122880
+  Inode table at 114691-115202 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 115203-122880
   Free inodes: 28673-30720
 Group 15: (Blocks 122881-131071) [INODE_UNINIT, ITABLE_ZEROED]
   Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
-  Inode table at 122883-123138 (+2)
-  7933 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
-  Free blocks: 123139-131071
+  Inode table at 122883-123394 (+2)
+  7677 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
+  Free blocks: 123395-131071
   Free inodes: 30721-32768
diff --git a/tests/mke2fs.conf.in b/tests/mke2fs.conf.in
index ee246ba..9075c6c 100644
--- a/tests/mke2fs.conf.in
+++ b/tests/mke2fs.conf.in
@@ -8,6 +8,7 @@
 	lazy_itable_init = false
 	no_discard = true
 	default_mntopts = ^acl
+	creator_os = Linux
 
 [fs_types]
 	ext3 = {
@@ -15,16 +16,13 @@
 	}
 	ext4 = {
 		features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
-		inode_size = 256
 	}
 	small = {
 		blocksize = 1024
-		inode_size = 128
 		inode_ratio = 4096
 	}
 	floppy = {
 		blocksize = 1024
-		inode_size = 128
 		inode_ratio = 8192
 	}
 	news = {
@@ -41,4 +39,5 @@
 	hurd = {
 	     blocksize = 4096
 	     inode_size = 128
+	     warn_y2038_dates = 0
 	}
diff --git a/tests/progs/crcsum.c b/tests/progs/crcsum.c
index 9794e10..193bf0a 100644
--- a/tests/progs/crcsum.c
+++ b/tests/progs/crcsum.c
@@ -57,11 +57,10 @@
 
 	while (!feof(f)) {
 		unsigned char buf[4096];
+		int cnt = fread(buf, 1, sizeof(buf), f);
 
-		int c = fread(buf, 1, sizeof(buf), f);
-
-		if (c)
-			crc = csum_func(crc, buf, c);
+		if (cnt)
+			crc = csum_func(crc, buf, cnt);
 	}
 	printf("%u\n", crc);
 	return 0;
diff --git a/tests/progs/test_icount.c b/tests/progs/test_icount.c
index 8b01ea4..6ebb100 100644
--- a/tests/progs/test_icount.c
+++ b/tests/progs/test_icount.c
@@ -109,13 +109,12 @@
 void do_fetch(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)),
 		    void *infop EXT2FS_ATTR((unused)))
 {
-	const char	*usage = "usage: %s inode\n";
 	errcode_t	retval;
 	ext2_ino_t	ino;
 	__u16		count;
 
 	if (argc < 2) {
-		printf(usage, argv[0]);
+		printf("usage: %s inode\n", argv[0]);
 		return;
 	}
 	if (check_icount(argv[0]))
@@ -133,13 +132,12 @@
 void do_increment(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)),
 		    void *infop EXT2FS_ATTR((unused)))
 {
-	const char	*usage = "usage: %s inode\n";
 	errcode_t	retval;
 	ext2_ino_t	ino;
 	__u16		count;
 
 	if (argc < 2) {
-		printf(usage, argv[0]);
+		printf("usage: %s inode\n", argv[0]);
 		return;
 	}
 	if (check_icount(argv[0]))
@@ -158,13 +156,12 @@
 void do_decrement(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)),
 		    void *infop EXT2FS_ATTR((unused)))
 {
-	const char	*usage = "usage: %s inode\n";
 	errcode_t	retval;
 	ext2_ino_t	ino;
 	__u16		count;
 
 	if (argc < 2) {
-		printf(usage, argv[0]);
+		printf("usage: %s inode\n", argv[0]);
 		return;
 	}
 	if (check_icount(argv[0]))
@@ -183,13 +180,12 @@
 void do_store(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)),
 		    void *infop EXT2FS_ATTR((unused)))
 {
-	const char	*usage = "usage: %s inode count\n";
 	errcode_t	retval;
 	ext2_ino_t	ino;
 	ext2_ino_t	count;
 
 	if (argc < 3) {
-		printf(usage, argv[0]);
+		printf("usage: %s inode count\n", argv[0]);
 		return;
 	}
 	if (check_icount(argv[0]))
diff --git a/tests/r_32to64bit/script b/tests/r_32to64bit/script
index 47ca9ea..40b8088 100644
--- a/tests/r_32to64bit/script
+++ b/tests/r_32to64bit/script
@@ -26,7 +26,7 @@
 
 echo "resize2fs test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/r_32to64bit_meta/script b/tests/r_32to64bit_meta/script
index 5bf649f..20106fd 100644
--- a/tests/r_32to64bit_meta/script
+++ b/tests/r_32to64bit_meta/script
@@ -26,7 +26,7 @@
 
 echo "resize2fs test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/r_32to64bit_move_itable/script b/tests/r_32to64bit_move_itable/script
index c0b3e94..0748986 100644
--- a/tests/r_32to64bit_move_itable/script
+++ b/tests/r_32to64bit_move_itable/script
@@ -26,7 +26,7 @@
 
 echo "resize2fs test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 786432 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 786432 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/r_64bit_big_expand/script b/tests/r_64bit_big_expand/script
index 3e5bdf2..d1bf8cd 100644
--- a/tests/r_64bit_big_expand/script
+++ b/tests/r_64bit_big_expand/script
@@ -10,9 +10,10 @@
 LOG=$test_name.log
 E2FSCK=../e2fsck/e2fsck
 
-if [ $(uname -s) = "FreeBSD" ]; then
+os=$(uname -s)
+if [ "$os" = "Darwin" -o "$os" = "GNU" -o "FreeBSD" ]; then
 	# creates a 2TB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for FreeBSD"
+	echo "$test_name: $test_description: skipped for $os"
 	return 0
 fi
 
diff --git a/tests/r_64to32bit/script b/tests/r_64to32bit/script
index a981835..df2b545 100644
--- a/tests/r_64to32bit/script
+++ b/tests/r_64to32bit/script
@@ -26,7 +26,7 @@
 
 echo "resize2fs test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/r_64to32bit_meta/script b/tests/r_64to32bit_meta/script
index 9553e32..5ee9f02 100644
--- a/tests/r_64to32bit_meta/script
+++ b/tests/r_64to32bit_meta/script
@@ -26,7 +26,7 @@
 
 echo "resize2fs test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/r_bigalloc_big_expand/script b/tests/r_bigalloc_big_expand/script
index ac29e92..101aafb 100644
--- a/tests/r_bigalloc_big_expand/script
+++ b/tests/r_bigalloc_big_expand/script
@@ -11,9 +11,10 @@
 E2FSCK=../e2fsck/e2fsck
 RESIZE2FS_OPTS=-f
 
-if [ $(uname -s) = "FreeBSD" ]; then
+os=$(uname -s)
+if [ "$os" = "Darwin" -o "$os" = "GNU" -o "FreeBSD" ]; then
 	# creates a 2TB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for FreeBSD"
+	echo "$test_name: $test_description: skipped for $os"
 	return 0
 fi
 
diff --git a/tests/r_corrupt_fs/expect b/tests/r_corrupt_fs/expect
new file mode 100644
index 0000000..fe0f2bc
--- /dev/null
+++ b/tests/r_corrupt_fs/expect
@@ -0,0 +1,4 @@
+mke2fs -q -F -t ext4 -o Linux -b 1024 test.img 32M
+debugfs -w -R "set_bg 1 free_blocks_count 65536" /tmp/foo.img
+resize2fs -P /tmp/foo.img
+Estimated minimum size of the filesystem: 6604
diff --git a/tests/r_corrupt_fs/name b/tests/r_corrupt_fs/name
new file mode 100644
index 0000000..ed62741
--- /dev/null
+++ b/tests/r_corrupt_fs/name
@@ -0,0 +1 @@
+resize2fs -P of a corrupted file system
diff --git a/tests/r_corrupt_fs/script b/tests/r_corrupt_fs/script
new file mode 100644
index 0000000..f6d3a89
--- /dev/null
+++ b/tests/r_corrupt_fs/script
@@ -0,0 +1,45 @@
+if ! test -x $RESIZE2FS_EXE -o ! -x $DEBUGFS_EXE; then
+	echo "$test_name: $test_description: skipped (no debugfs/resize2fs)"
+	return 0
+fi
+
+OUT=$test_name.log
+if [ -f $test_dir/expect.gz ]; then
+	EXP=$test_name.tmp
+	gunzip < $test_dir/expect.gz > $EXP1
+else
+	EXP=$test_dir/expect
+fi
+
+echo mke2fs -q -F -t ext4 -o Linux -b 1024 test.img 32M > $OUT.new
+$MKE2FS -q -F -t ext4 -o Linux -b 1024 $TMPFILE 32M >> $OUT.new 2>&1
+
+echo debugfs -w -R \"set_bg 1 free_blocks_count 65536\" /tmp/foo.img >> $OUT.new
+$DEBUGFS -w -R "set_bg 1 free_blocks_count 65536" $TMPFILE > /dev/null 2>&1
+
+if timeout -v 1s true > /dev/null 2>&1 ; then
+   TIMEOUT="timeout -v 30s"
+else
+   TIMEOUT=
+fi
+
+echo resize2fs -P /tmp/foo.img >> $OUT.new
+$TIMEOUT $RESIZE2FS -P $TMPFILE  >> $OUT.new 2>&1
+
+sed -f $cmd_dir/filter.sed < $OUT.new > $OUT
+
+rm -f $TMPFILE $OUT.new
+
+cmp -s $OUT $EXP
+status=$?
+
+if [ "$status" = 0 ] ; then
+	echo "$test_name: $test_description: ok"
+	touch $test_name.ok
+else
+	echo "$test_name: $test_description: failed"
+	diff $DIFF_OPTS $EXP $OUT > $test_name.failed
+	rm -f $test_name.tmp
+fi
+
+unset IMAGE OUT EXP TIMEOUT
diff --git a/tests/r_ext4_big_expand/script b/tests/r_ext4_big_expand/script
index c081d44..a49e4c3 100644
--- a/tests/r_ext4_big_expand/script
+++ b/tests/r_ext4_big_expand/script
@@ -10,9 +10,10 @@
 LOG=$test_name.log
 E2FSCK=../e2fsck/e2fsck
 
-if [ $(uname -s) = "FreeBSD" ]; then
+os=$(uname -s)
+if [ "$os" = "Darwin" -o "$os" = "GNU" -o "FreeBSD" ]; then
 	# creates a 2TB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for FreeBSD"
+	echo "$test_name: $test_description: skipped for FreeBSD"
 	return 0
 fi
 
diff --git a/tests/r_fixup_lastbg/script b/tests/r_fixup_lastbg/script
index 9fc0ec5..2a54aa7 100755
--- a/tests/r_fixup_lastbg/script
+++ b/tests/r_fixup_lastbg/script
@@ -8,7 +8,7 @@
 OUT=$test_name.log
 E2FSCK=../e2fsck/e2fsck
 
-$MKE2FS -T ext4 -b 1024 -F -U 56d3ee50-8532-4f29-8181-d7c6ea4a94a6 $TMPFILE 20000 > $OUT 2>&1
+$MKE2FS -T ext4 -o Linux -b 1024 -F -U 56d3ee50-8532-4f29-8181-d7c6ea4a94a6 $TMPFILE 20000 > $OUT 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | grep -A10 '^Group 2:' >> $OUT
 $DEBUGFS -R "set_bg 2 itable_unused 0" -w $TMPFILE > /dev/null 2>&1
 $DEBUGFS -R "set_bg 2 flags 0" -w $TMPFILE > /dev/null 2>&1
diff --git a/tests/r_fixup_lastbg_big/script b/tests/r_fixup_lastbg_big/script
index ea169e6..c13f731 100755
--- a/tests/r_fixup_lastbg_big/script
+++ b/tests/r_fixup_lastbg_big/script
@@ -8,7 +8,7 @@
 OUT=$test_name.log
 E2FSCK=../e2fsck/e2fsck
 
-$MKE2FS -T ext4 -b 1024 -F -U 56d3ee50-8532-4f29-8181-d7c6ea4a94a6 $TMPFILE 20000 > $OUT 2>&1
+$MKE2FS -T ext4 -o Linux -b 1024 -F -U 56d3ee50-8532-4f29-8181-d7c6ea4a94a6 $TMPFILE 20000 > $OUT 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | grep -A10 '^Group 2:' >> $OUT
 $DEBUGFS -R "set_bg 2 itable_unused 0" -w $TMPFILE > /dev/null 2>&1
 $DEBUGFS -R "set_bg 2 flags 0" -w $TMPFILE > /dev/null 2>&1
diff --git a/tests/r_move_itable/expect b/tests/r_move_itable/expect
index cec0038..74a00fe 100644
--- a/tests/r_move_itable/expect
+++ b/tests/r_move_itable/expect
@@ -1,8 +1,73 @@
-mke2fs -q -F -o Linux -b 1024 -g 256 test.img 1024
+mke2fs -q -F -o Linux -b 1024 -g 256 -O ^resize_inode test.img 1024
+dumpe2fs test.img
+Filesystem volume name:   <none>
+Last mounted on:          <not available>
+Filesystem magic number:  0xEF53
+Filesystem revision #:    1 (dynamic)
+Filesystem features:      ext_attr dir_index filetype sparse_super
+Default mount options:    (none)
+Filesystem state:         clean
+Errors behavior:          Continue
+Filesystem OS type:       Linux
+Inode count:              128
+Block count:              1024
+Reserved block count:     51
+Overhead clusters:        47
+Free blocks:              964
+Free inodes:              117
+First block:              1
+Block size:               1024
+Fragment size:            1024
+Blocks per group:         256
+Fragments per group:      256
+Inodes per group:         32
+Inode blocks per group:   8
+Mount count:              0
+Check interval:           15552000 (6 months)
+Reserved blocks uid:      0
+Reserved blocks gid:      0
+First inode:              11
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
+Default directory hash:   half_md4
+
+
+Group 0: (Blocks 1-256)
+  Primary superblock at 1, Group descriptors at 2-2
+  Block bitmap at 3 (+2), Inode bitmap at 4 (+3)
+  Inode table at 5-12 (+4)
+  231 free blocks, 21 free inodes, 2 directories
+  Free blocks: 26-256
+  Free inodes: 12-32
+Group 1: (Blocks 257-512)
+  Backup superblock at 257, Group descriptors at 258-258
+  Block bitmap at 259 (+2), Inode bitmap at 260 (+3)
+  Inode table at 261-268 (+4)
+  244 free blocks, 32 free inodes, 0 directories
+  Free blocks: 269-512
+  Free inodes: 33-64
+Group 2: (Blocks 513-768)
+  Block bitmap at 513 (+0), Inode bitmap at 514 (+1)
+  Inode table at 515-522 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 523-768
+  Free inodes: 65-96
+Group 3: (Blocks 769-1023)
+  Backup superblock at 769, Group descriptors at 770-770
+  Block bitmap at 771 (+2), Inode bitmap at 772 (+3)
+  Inode table at 773-780 (+4)
+  243 free blocks, 32 free inodes, 0 directories
+  Free blocks: 781-1023
+  Free inodes: 97-128
 resize2fs -p test.img 10000
-Resizing the filesystem on test.img to 10000 (1k) blocks.
+Resizing the filesystem on test.img to 9985 (1k) blocks.
 Begin pass 1 (max = 35)
 Extending the inode table     ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Begin pass 2 (max = 1)
+Relocating blocks             ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Begin pass 3 (max = 4)
+Scanning inode table          ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 The filesystem on test.img is now 9985 (1k) blocks long.
 
 Pass 1: Checking inodes, blocks, and sizes
@@ -10,14 +75,14 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/1248 files (0.0% non-contiguous), 1281/9985 blocks
+test_filesys: 11/1248 files (0.0% non-contiguous), 428/9985 blocks
 Exit status is 0
 dumpe2fs test.img
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
 Filesystem magic number:  0xEF53
 Filesystem revision #:    1 (dynamic)
-Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
+Filesystem features:      ext_attr dir_index filetype sparse_super
 Default mount options:    (none)
 Filesystem state:         clean
 Errors behavior:          Continue
@@ -25,280 +90,277 @@
 Inode count:              1248
 Block count:              9985
 Reserved block count:     497
-Free blocks:              8704
+Free blocks:              9557
 Free inodes:              1237
 First block:              1
 Block size:               1024
 Fragment size:            1024
-Reserved GDT blocks:      126
 Blocks per group:         256
 Fragments per group:      256
 Inodes per group:         32
-Inode blocks per group:   4
+Inode blocks per group:   8
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
 Group 0: (Blocks 1-256)
   Primary superblock at 1, Group descriptors at 2-3
-  Reserved GDT blocks at 4-129
-  Block bitmap at 130 (+129), Inode bitmap at 131 (+130)
-  Inode table at 132-135 (+131)
-  107 free blocks, 21 free inodes, 2 directories
-  Free blocks: 150-256
+  Block bitmap at 13 (+12), Inode bitmap at 4 (+3)
+  Inode table at 5-12 (+4)
+  230 free blocks, 21 free inodes, 2 directories
+  Free blocks: 27-256
   Free inodes: 12-32
 Group 1: (Blocks 257-512)
   Backup superblock at 257, Group descriptors at 258-259
-  Reserved GDT blocks at 260-385
-  Block bitmap at 386 (+129), Inode bitmap at 387 (+130)
-  Inode table at 388-391 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 392-512
+  Block bitmap at 269 (+12), Inode bitmap at 260 (+3)
+  Inode table at 261-268 (+4)
+  243 free blocks, 32 free inodes, 0 directories
+  Free blocks: 270-512
   Free inodes: 33-64
 Group 2: (Blocks 513-768)
   Block bitmap at 513 (+0), Inode bitmap at 514 (+1)
-  Inode table at 515-518 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 519-768
+  Inode table at 515-522 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 523-768
   Free inodes: 65-96
 Group 3: (Blocks 769-1024)
   Backup superblock at 769, Group descriptors at 770-771
-  Reserved GDT blocks at 772-897
-  Block bitmap at 898 (+129), Inode bitmap at 899 (+130)
-  Inode table at 900-903 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 904-1024
+  Block bitmap at 781 (+12), Inode bitmap at 772 (+3)
+  Inode table at 773-780 (+4)
+  243 free blocks, 32 free inodes, 0 directories
+  Free blocks: 782-1024
   Free inodes: 97-128
 Group 4: (Blocks 1025-1280)
   Block bitmap at 1025 (+0), Inode bitmap at 1026 (+1)
-  Inode table at 1027-1030 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1031-1280
+  Inode table at 1027-1034 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1035-1280
   Free inodes: 129-160
 Group 5: (Blocks 1281-1536)
   Backup superblock at 1281, Group descriptors at 1282-1283
-  Reserved GDT blocks at 1284-1409
-  Block bitmap at 1410 (+129), Inode bitmap at 1411 (+130)
-  Inode table at 1412-1415 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1416-1536
+  Block bitmap at 1284 (+3), Inode bitmap at 1285 (+4)
+  Inode table at 1286-1293 (+5)
+  243 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1294-1536
   Free inodes: 161-192
 Group 6: (Blocks 1537-1792)
   Block bitmap at 1537 (+0), Inode bitmap at 1538 (+1)
-  Inode table at 1539-1542 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1543-1792
+  Inode table at 1539-1546 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1547-1792
   Free inodes: 193-224
 Group 7: (Blocks 1793-2048)
   Backup superblock at 1793, Group descriptors at 1794-1795
-  Reserved GDT blocks at 1796-1921
-  Block bitmap at 1922 (+129), Inode bitmap at 1923 (+130)
-  Inode table at 1924-1927 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1928-2048
+  Block bitmap at 1796 (+3), Inode bitmap at 1797 (+4)
+  Inode table at 1798-1805 (+5)
+  243 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1806-2048
   Free inodes: 225-256
 Group 8: (Blocks 2049-2304)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2054 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2055-2304
+  Inode table at 2051-2058 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2059-2304
   Free inodes: 257-288
 Group 9: (Blocks 2305-2560)
   Backup superblock at 2305, Group descriptors at 2306-2307
-  Reserved GDT blocks at 2308-2433
-  Block bitmap at 2434 (+129), Inode bitmap at 2435 (+130)
-  Inode table at 2436-2439 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2440-2560
+  Block bitmap at 2308 (+3), Inode bitmap at 2309 (+4)
+  Inode table at 2310-2317 (+5)
+  243 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2318-2560
   Free inodes: 289-320
 Group 10: (Blocks 2561-2816)
   Block bitmap at 2561 (+0), Inode bitmap at 2562 (+1)
-  Inode table at 2563-2566 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2567-2816
+  Inode table at 2563-2570 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2571-2816
   Free inodes: 321-352
 Group 11: (Blocks 2817-3072)
   Block bitmap at 2817 (+0), Inode bitmap at 2818 (+1)
-  Inode table at 2819-2822 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2823-3072
+  Inode table at 2819-2826 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2827-3072
   Free inodes: 353-384
 Group 12: (Blocks 3073-3328)
   Block bitmap at 3073 (+0), Inode bitmap at 3074 (+1)
-  Inode table at 3075-3078 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3079-3328
+  Inode table at 3075-3082 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3083-3328
   Free inodes: 385-416
 Group 13: (Blocks 3329-3584)
   Block bitmap at 3329 (+0), Inode bitmap at 3330 (+1)
-  Inode table at 3331-3334 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3335-3584
+  Inode table at 3331-3338 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3339-3584
   Free inodes: 417-448
 Group 14: (Blocks 3585-3840)
   Block bitmap at 3585 (+0), Inode bitmap at 3586 (+1)
-  Inode table at 3587-3590 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3591-3840
+  Inode table at 3587-3594 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3595-3840
   Free inodes: 449-480
 Group 15: (Blocks 3841-4096)
   Block bitmap at 3841 (+0), Inode bitmap at 3842 (+1)
-  Inode table at 3843-3846 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3847-4096
+  Inode table at 3843-3850 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3851-4096
   Free inodes: 481-512
 Group 16: (Blocks 4097-4352)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4102 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4103-4352
+  Inode table at 4099-4106 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4107-4352
   Free inodes: 513-544
 Group 17: (Blocks 4353-4608)
   Block bitmap at 4353 (+0), Inode bitmap at 4354 (+1)
-  Inode table at 4355-4358 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4359-4608
+  Inode table at 4355-4362 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4363-4608
   Free inodes: 545-576
 Group 18: (Blocks 4609-4864)
   Block bitmap at 4609 (+0), Inode bitmap at 4610 (+1)
-  Inode table at 4611-4614 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4615-4864
+  Inode table at 4611-4618 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4619-4864
   Free inodes: 577-608
 Group 19: (Blocks 4865-5120)
   Block bitmap at 4865 (+0), Inode bitmap at 4866 (+1)
-  Inode table at 4867-4870 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4871-5120
+  Inode table at 4867-4874 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4875-5120
   Free inodes: 609-640
 Group 20: (Blocks 5121-5376)
   Block bitmap at 5121 (+0), Inode bitmap at 5122 (+1)
-  Inode table at 5123-5126 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5127-5376
+  Inode table at 5123-5130 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5131-5376
   Free inodes: 641-672
 Group 21: (Blocks 5377-5632)
   Block bitmap at 5377 (+0), Inode bitmap at 5378 (+1)
-  Inode table at 5379-5382 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5383-5632
+  Inode table at 5379-5386 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5387-5632
   Free inodes: 673-704
 Group 22: (Blocks 5633-5888)
   Block bitmap at 5633 (+0), Inode bitmap at 5634 (+1)
-  Inode table at 5635-5638 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5639-5888
+  Inode table at 5635-5642 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5643-5888
   Free inodes: 705-736
 Group 23: (Blocks 5889-6144)
   Block bitmap at 5889 (+0), Inode bitmap at 5890 (+1)
-  Inode table at 5891-5894 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5895-6144
+  Inode table at 5891-5898 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5899-6144
   Free inodes: 737-768
 Group 24: (Blocks 6145-6400)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6150 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6151-6400
+  Inode table at 6147-6154 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6155-6400
   Free inodes: 769-800
 Group 25: (Blocks 6401-6656)
   Backup superblock at 6401, Group descriptors at 6402-6403
-  Reserved GDT blocks at 6404-6529
-  Block bitmap at 6530 (+129), Inode bitmap at 6531 (+130)
-  Inode table at 6532-6535 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6536-6656
+  Block bitmap at 6404 (+3), Inode bitmap at 6405 (+4)
+  Inode table at 6406-6413 (+5)
+  243 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6414-6656
   Free inodes: 801-832
 Group 26: (Blocks 6657-6912)
   Block bitmap at 6657 (+0), Inode bitmap at 6658 (+1)
-  Inode table at 6659-6662 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6663-6912
+  Inode table at 6659-6666 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6667-6912
   Free inodes: 833-864
 Group 27: (Blocks 6913-7168)
   Backup superblock at 6913, Group descriptors at 6914-6915
-  Reserved GDT blocks at 6916-7041
-  Block bitmap at 7042 (+129), Inode bitmap at 7043 (+130)
-  Inode table at 7044-7047 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7048-7168
+  Block bitmap at 6916 (+3), Inode bitmap at 6917 (+4)
+  Inode table at 6918-6925 (+5)
+  243 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6926-7168
   Free inodes: 865-896
 Group 28: (Blocks 7169-7424)
   Block bitmap at 7169 (+0), Inode bitmap at 7170 (+1)
-  Inode table at 7171-7174 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7175-7424
+  Inode table at 7171-7178 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7179-7424
   Free inodes: 897-928
 Group 29: (Blocks 7425-7680)
   Block bitmap at 7425 (+0), Inode bitmap at 7426 (+1)
-  Inode table at 7427-7430 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7431-7680
+  Inode table at 7427-7434 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7435-7680
   Free inodes: 929-960
 Group 30: (Blocks 7681-7936)
   Block bitmap at 7681 (+0), Inode bitmap at 7682 (+1)
-  Inode table at 7683-7686 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7687-7936
+  Inode table at 7683-7690 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7691-7936
   Free inodes: 961-992
 Group 31: (Blocks 7937-8192)
   Block bitmap at 7937 (+0), Inode bitmap at 7938 (+1)
-  Inode table at 7939-7942 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7943-8192
+  Inode table at 7939-7946 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7947-8192
   Free inodes: 993-1024
 Group 32: (Blocks 8193-8448)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8198 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8199-8448
+  Inode table at 8195-8202 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8203-8448
   Free inodes: 1025-1056
 Group 33: (Blocks 8449-8704)
   Block bitmap at 8449 (+0), Inode bitmap at 8450 (+1)
-  Inode table at 8451-8454 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8455-8704
+  Inode table at 8451-8458 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8459-8704
   Free inodes: 1057-1088
 Group 34: (Blocks 8705-8960)
   Block bitmap at 8705 (+0), Inode bitmap at 8706 (+1)
-  Inode table at 8707-8710 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8711-8960
+  Inode table at 8707-8714 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8715-8960
   Free inodes: 1089-1120
 Group 35: (Blocks 8961-9216)
   Block bitmap at 8961 (+0), Inode bitmap at 8962 (+1)
-  Inode table at 8963-8966 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8967-9216
+  Inode table at 8963-8970 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8971-9216
   Free inodes: 1121-1152
 Group 36: (Blocks 9217-9472)
   Block bitmap at 9217 (+0), Inode bitmap at 9218 (+1)
-  Inode table at 9219-9222 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9223-9472
+  Inode table at 9219-9226 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9227-9472
   Free inodes: 1153-1184
 Group 37: (Blocks 9473-9728)
   Block bitmap at 9473 (+0), Inode bitmap at 9474 (+1)
-  Inode table at 9475-9478 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9479-9728
+  Inode table at 9475-9482 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9483-9728
   Free inodes: 1185-1216
 Group 38: (Blocks 9729-9984)
   Block bitmap at 9729 (+0), Inode bitmap at 9730 (+1)
-  Inode table at 9731-9734 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9735-9984
+  Inode table at 9731-9738 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9739-9984
   Free inodes: 1217-1248
 --------------------------------
 resize2fs -p test.img 20000
-Resizing the filesystem on test.img to 20000 (1k) blocks.
+Resizing the filesystem on test.img to 19969 (1k) blocks.
 Begin pass 1 (max = 39)
 Extending the inode table     ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Begin pass 2 (max = 1)
+Relocating blocks             ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Begin pass 3 (max = 39)
+Scanning inode table          ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 The filesystem on test.img is now 19969 (1k) blocks long.
 
 Filesystem did not have a UUID; generating one.
@@ -308,14 +370,14 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/2496 files (0.0% non-contiguous), 1644/19969 blocks
+test_filesys: 11/2496 files (9.1% non-contiguous), 830/19969 blocks
 Exit status is 0
 dumpe2fs test.img
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
 Filesystem magic number:  0xEF53
 Filesystem revision #:    1 (dynamic)
-Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
+Filesystem features:      ext_attr dir_index filetype sparse_super
 Default mount options:    (none)
 Filesystem state:         clean
 Errors behavior:          Continue
@@ -323,516 +385,514 @@
 Inode count:              2496
 Block count:              19969
 Reserved block count:     993
-Free blocks:              18325
+Free blocks:              19139
 Free inodes:              2485
 First block:              1
 Block size:               1024
 Fragment size:            1024
-Reserved GDT blocks:      125
 Blocks per group:         256
 Fragments per group:      256
 Inodes per group:         32
-Inode blocks per group:   4
+Inode blocks per group:   8
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
 Group 0: (Blocks 1-256)
   Primary superblock at 1, Group descriptors at 2-4
-  Reserved GDT blocks at 5-129
-  Block bitmap at 130 (+129), Inode bitmap at 131 (+130)
-  Inode table at 132-135 (+131)
-  107 free blocks, 21 free inodes, 2 directories
-  Free blocks: 150-256
+  Block bitmap at 13 (+12), Inode bitmap at 14 (+13)
+  Inode table at 5-12 (+4)
+  229 free blocks, 21 free inodes, 2 directories
+  Free blocks: 28-256
   Free inodes: 12-32
 Group 1: (Blocks 257-512)
   Backup superblock at 257, Group descriptors at 258-260
-  Reserved GDT blocks at 261-385
-  Block bitmap at 386 (+129), Inode bitmap at 387 (+130)
-  Inode table at 388-391 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 392-512
+  Block bitmap at 269 (+12), Inode bitmap at 270 (+13)
+  Inode table at 261-268 (+4)
+  242 free blocks, 32 free inodes, 0 directories
+  Free blocks: 271-512
   Free inodes: 33-64
 Group 2: (Blocks 513-768)
   Block bitmap at 513 (+0), Inode bitmap at 514 (+1)
-  Inode table at 515-518 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 519-768
+  Inode table at 515-522 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 523-768
   Free inodes: 65-96
 Group 3: (Blocks 769-1024)
   Backup superblock at 769, Group descriptors at 770-772
-  Reserved GDT blocks at 773-897
-  Block bitmap at 898 (+129), Inode bitmap at 899 (+130)
-  Inode table at 900-903 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 904-1024
+  Block bitmap at 781 (+12), Inode bitmap at 782 (+13)
+  Inode table at 773-780 (+4)
+  242 free blocks, 32 free inodes, 0 directories
+  Free blocks: 783-1024
   Free inodes: 97-128
 Group 4: (Blocks 1025-1280)
   Block bitmap at 1025 (+0), Inode bitmap at 1026 (+1)
-  Inode table at 1027-1030 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1031-1280
+  Inode table at 1027-1034 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1035-1280
   Free inodes: 129-160
 Group 5: (Blocks 1281-1536)
   Backup superblock at 1281, Group descriptors at 1282-1284
-  Reserved GDT blocks at 1285-1409
-  Block bitmap at 1410 (+129), Inode bitmap at 1411 (+130)
-  Inode table at 1412-1415 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1416-1536
+  Block bitmap at 1294 (+13), Inode bitmap at 1285 (+4)
+  Inode table at 1286-1293 (+5)
+  242 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1295-1536
   Free inodes: 161-192
 Group 6: (Blocks 1537-1792)
   Block bitmap at 1537 (+0), Inode bitmap at 1538 (+1)
-  Inode table at 1539-1542 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1543-1792
+  Inode table at 1539-1546 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1547-1792
   Free inodes: 193-224
 Group 7: (Blocks 1793-2048)
   Backup superblock at 1793, Group descriptors at 1794-1796
-  Reserved GDT blocks at 1797-1921
-  Block bitmap at 1922 (+129), Inode bitmap at 1923 (+130)
-  Inode table at 1924-1927 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1928-2048
+  Block bitmap at 1806 (+13), Inode bitmap at 1797 (+4)
+  Inode table at 1798-1805 (+5)
+  242 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1807-2048
   Free inodes: 225-256
 Group 8: (Blocks 2049-2304)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2054 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2055-2304
+  Inode table at 2051-2058 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2059-2304
   Free inodes: 257-288
 Group 9: (Blocks 2305-2560)
   Backup superblock at 2305, Group descriptors at 2306-2308
-  Reserved GDT blocks at 2309-2433
-  Block bitmap at 2434 (+129), Inode bitmap at 2435 (+130)
-  Inode table at 2436-2439 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2440-2560
+  Block bitmap at 2318 (+13), Inode bitmap at 2309 (+4)
+  Inode table at 2310-2317 (+5)
+  242 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2319-2560
   Free inodes: 289-320
 Group 10: (Blocks 2561-2816)
   Block bitmap at 2561 (+0), Inode bitmap at 2562 (+1)
-  Inode table at 2563-2566 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2567-2816
+  Inode table at 2563-2570 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2571-2816
   Free inodes: 321-352
 Group 11: (Blocks 2817-3072)
   Block bitmap at 2817 (+0), Inode bitmap at 2818 (+1)
-  Inode table at 2819-2822 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2823-3072
+  Inode table at 2819-2826 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2827-3072
   Free inodes: 353-384
 Group 12: (Blocks 3073-3328)
   Block bitmap at 3073 (+0), Inode bitmap at 3074 (+1)
-  Inode table at 3075-3078 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3079-3328
+  Inode table at 3075-3082 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3083-3328
   Free inodes: 385-416
 Group 13: (Blocks 3329-3584)
   Block bitmap at 3329 (+0), Inode bitmap at 3330 (+1)
-  Inode table at 3331-3334 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3335-3584
+  Inode table at 3331-3338 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3339-3584
   Free inodes: 417-448
 Group 14: (Blocks 3585-3840)
   Block bitmap at 3585 (+0), Inode bitmap at 3586 (+1)
-  Inode table at 3587-3590 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3591-3840
+  Inode table at 3587-3594 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3595-3840
   Free inodes: 449-480
 Group 15: (Blocks 3841-4096)
   Block bitmap at 3841 (+0), Inode bitmap at 3842 (+1)
-  Inode table at 3843-3846 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3847-4096
+  Inode table at 3843-3850 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3851-4096
   Free inodes: 481-512
 Group 16: (Blocks 4097-4352)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4102 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4103-4352
+  Inode table at 4099-4106 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4107-4352
   Free inodes: 513-544
 Group 17: (Blocks 4353-4608)
   Block bitmap at 4353 (+0), Inode bitmap at 4354 (+1)
-  Inode table at 4355-4358 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4359-4608
+  Inode table at 4355-4362 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4363-4608
   Free inodes: 545-576
 Group 18: (Blocks 4609-4864)
   Block bitmap at 4609 (+0), Inode bitmap at 4610 (+1)
-  Inode table at 4611-4614 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4615-4864
+  Inode table at 4611-4618 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4619-4864
   Free inodes: 577-608
 Group 19: (Blocks 4865-5120)
   Block bitmap at 4865 (+0), Inode bitmap at 4866 (+1)
-  Inode table at 4867-4870 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4871-5120
+  Inode table at 4867-4874 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4875-5120
   Free inodes: 609-640
 Group 20: (Blocks 5121-5376)
   Block bitmap at 5121 (+0), Inode bitmap at 5122 (+1)
-  Inode table at 5123-5126 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5127-5376
+  Inode table at 5123-5130 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5131-5376
   Free inodes: 641-672
 Group 21: (Blocks 5377-5632)
   Block bitmap at 5377 (+0), Inode bitmap at 5378 (+1)
-  Inode table at 5379-5382 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5383-5632
+  Inode table at 5379-5386 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5387-5632
   Free inodes: 673-704
 Group 22: (Blocks 5633-5888)
   Block bitmap at 5633 (+0), Inode bitmap at 5634 (+1)
-  Inode table at 5635-5638 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5639-5888
+  Inode table at 5635-5642 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5643-5888
   Free inodes: 705-736
 Group 23: (Blocks 5889-6144)
   Block bitmap at 5889 (+0), Inode bitmap at 5890 (+1)
-  Inode table at 5891-5894 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5895-6144
+  Inode table at 5891-5898 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5899-6144
   Free inodes: 737-768
 Group 24: (Blocks 6145-6400)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6150 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6151-6400
+  Inode table at 6147-6154 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6155-6400
   Free inodes: 769-800
 Group 25: (Blocks 6401-6656)
   Backup superblock at 6401, Group descriptors at 6402-6404
-  Reserved GDT blocks at 6405-6529
-  Block bitmap at 6530 (+129), Inode bitmap at 6531 (+130)
-  Inode table at 6532-6535 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6536-6656
+  Block bitmap at 6414 (+13), Inode bitmap at 6405 (+4)
+  Inode table at 6406-6413 (+5)
+  242 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6415-6656
   Free inodes: 801-832
 Group 26: (Blocks 6657-6912)
   Block bitmap at 6657 (+0), Inode bitmap at 6658 (+1)
-  Inode table at 6659-6662 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6663-6912
+  Inode table at 6659-6666 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6667-6912
   Free inodes: 833-864
 Group 27: (Blocks 6913-7168)
   Backup superblock at 6913, Group descriptors at 6914-6916
-  Reserved GDT blocks at 6917-7041
-  Block bitmap at 7042 (+129), Inode bitmap at 7043 (+130)
-  Inode table at 7044-7047 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7048-7168
+  Block bitmap at 6926 (+13), Inode bitmap at 6917 (+4)
+  Inode table at 6918-6925 (+5)
+  242 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6927-7168
   Free inodes: 865-896
 Group 28: (Blocks 7169-7424)
   Block bitmap at 7169 (+0), Inode bitmap at 7170 (+1)
-  Inode table at 7171-7174 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7175-7424
+  Inode table at 7171-7178 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7179-7424
   Free inodes: 897-928
 Group 29: (Blocks 7425-7680)
   Block bitmap at 7425 (+0), Inode bitmap at 7426 (+1)
-  Inode table at 7427-7430 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7431-7680
+  Inode table at 7427-7434 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7435-7680
   Free inodes: 929-960
 Group 30: (Blocks 7681-7936)
   Block bitmap at 7681 (+0), Inode bitmap at 7682 (+1)
-  Inode table at 7683-7686 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7687-7936
+  Inode table at 7683-7690 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7691-7936
   Free inodes: 961-992
 Group 31: (Blocks 7937-8192)
   Block bitmap at 7937 (+0), Inode bitmap at 7938 (+1)
-  Inode table at 7939-7942 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7943-8192
+  Inode table at 7939-7946 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7947-8192
   Free inodes: 993-1024
 Group 32: (Blocks 8193-8448)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8198 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8199-8448
+  Inode table at 8195-8202 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8203-8448
   Free inodes: 1025-1056
 Group 33: (Blocks 8449-8704)
   Block bitmap at 8449 (+0), Inode bitmap at 8450 (+1)
-  Inode table at 8451-8454 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8455-8704
+  Inode table at 8451-8458 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8459-8704
   Free inodes: 1057-1088
 Group 34: (Blocks 8705-8960)
   Block bitmap at 8705 (+0), Inode bitmap at 8706 (+1)
-  Inode table at 8707-8710 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8711-8960
+  Inode table at 8707-8714 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8715-8960
   Free inodes: 1089-1120
 Group 35: (Blocks 8961-9216)
   Block bitmap at 8961 (+0), Inode bitmap at 8962 (+1)
-  Inode table at 8963-8966 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8967-9216
+  Inode table at 8963-8970 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8971-9216
   Free inodes: 1121-1152
 Group 36: (Blocks 9217-9472)
   Block bitmap at 9217 (+0), Inode bitmap at 9218 (+1)
-  Inode table at 9219-9222 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9223-9472
+  Inode table at 9219-9226 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9227-9472
   Free inodes: 1153-1184
 Group 37: (Blocks 9473-9728)
   Block bitmap at 9473 (+0), Inode bitmap at 9474 (+1)
-  Inode table at 9475-9478 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9479-9728
+  Inode table at 9475-9482 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9483-9728
   Free inodes: 1185-1216
 Group 38: (Blocks 9729-9984)
   Block bitmap at 9729 (+0), Inode bitmap at 9730 (+1)
-  Inode table at 9731-9734 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9735-9984
+  Inode table at 9731-9738 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9739-9984
   Free inodes: 1217-1248
 Group 39: (Blocks 9985-10240)
   Block bitmap at 9985 (+0), Inode bitmap at 9986 (+1)
-  Inode table at 9987-9990 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9991-10240
+  Inode table at 9987-9994 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9995-10240
   Free inodes: 1249-1280
 Group 40: (Blocks 10241-10496)
   Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
-  Inode table at 10243-10246 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10247-10496
+  Inode table at 10243-10250 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10251-10496
   Free inodes: 1281-1312
 Group 41: (Blocks 10497-10752)
   Block bitmap at 10497 (+0), Inode bitmap at 10498 (+1)
-  Inode table at 10499-10502 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10503-10752
+  Inode table at 10499-10506 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10507-10752
   Free inodes: 1313-1344
 Group 42: (Blocks 10753-11008)
   Block bitmap at 10753 (+0), Inode bitmap at 10754 (+1)
-  Inode table at 10755-10758 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10759-11008
+  Inode table at 10755-10762 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10763-11008
   Free inodes: 1345-1376
 Group 43: (Blocks 11009-11264)
   Block bitmap at 11009 (+0), Inode bitmap at 11010 (+1)
-  Inode table at 11011-11014 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11015-11264
+  Inode table at 11011-11018 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11019-11264
   Free inodes: 1377-1408
 Group 44: (Blocks 11265-11520)
   Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
-  Inode table at 11267-11270 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11271-11520
+  Inode table at 11267-11274 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11275-11520
   Free inodes: 1409-1440
 Group 45: (Blocks 11521-11776)
   Block bitmap at 11521 (+0), Inode bitmap at 11522 (+1)
-  Inode table at 11523-11526 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11527-11776
+  Inode table at 11523-11530 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11531-11776
   Free inodes: 1441-1472
 Group 46: (Blocks 11777-12032)
   Block bitmap at 11777 (+0), Inode bitmap at 11778 (+1)
-  Inode table at 11779-11782 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11783-12032
+  Inode table at 11779-11786 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11787-12032
   Free inodes: 1473-1504
 Group 47: (Blocks 12033-12288)
   Block bitmap at 12033 (+0), Inode bitmap at 12034 (+1)
-  Inode table at 12035-12038 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12039-12288
+  Inode table at 12035-12042 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12043-12288
   Free inodes: 1505-1536
 Group 48: (Blocks 12289-12544)
   Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
-  Inode table at 12291-12294 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12295-12544
+  Inode table at 12291-12298 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12299-12544
   Free inodes: 1537-1568
 Group 49: (Blocks 12545-12800)
   Backup superblock at 12545, Group descriptors at 12546-12548
-  Reserved GDT blocks at 12549-12673
-  Block bitmap at 12674 (+129), Inode bitmap at 12675 (+130)
-  Inode table at 12676-12679 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12680-12800
+  Block bitmap at 12549 (+4), Inode bitmap at 12550 (+5)
+  Inode table at 12551-12558 (+6)
+  242 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12559-12800
   Free inodes: 1569-1600
 Group 50: (Blocks 12801-13056)
   Block bitmap at 12801 (+0), Inode bitmap at 12802 (+1)
-  Inode table at 12803-12806 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12807-13056
+  Inode table at 12803-12810 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12811-13056
   Free inodes: 1601-1632
 Group 51: (Blocks 13057-13312)
   Block bitmap at 13057 (+0), Inode bitmap at 13058 (+1)
-  Inode table at 13059-13062 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13063-13312
+  Inode table at 13059-13066 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13067-13312
   Free inodes: 1633-1664
 Group 52: (Blocks 13313-13568)
   Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
-  Inode table at 13315-13318 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13319-13568
+  Inode table at 13315-13322 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13323-13568
   Free inodes: 1665-1696
 Group 53: (Blocks 13569-13824)
   Block bitmap at 13569 (+0), Inode bitmap at 13570 (+1)
-  Inode table at 13571-13574 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13575-13824
+  Inode table at 13571-13578 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13579-13824
   Free inodes: 1697-1728
 Group 54: (Blocks 13825-14080)
   Block bitmap at 13825 (+0), Inode bitmap at 13826 (+1)
-  Inode table at 13827-13830 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13831-14080
+  Inode table at 13827-13834 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13835-14080
   Free inodes: 1729-1760
 Group 55: (Blocks 14081-14336)
   Block bitmap at 14081 (+0), Inode bitmap at 14082 (+1)
-  Inode table at 14083-14086 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14087-14336
+  Inode table at 14083-14090 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14091-14336
   Free inodes: 1761-1792
 Group 56: (Blocks 14337-14592)
   Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
-  Inode table at 14339-14342 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14343-14592
+  Inode table at 14339-14346 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14347-14592
   Free inodes: 1793-1824
 Group 57: (Blocks 14593-14848)
   Block bitmap at 14593 (+0), Inode bitmap at 14594 (+1)
-  Inode table at 14595-14598 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14599-14848
+  Inode table at 14595-14602 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14603-14848
   Free inodes: 1825-1856
 Group 58: (Blocks 14849-15104)
   Block bitmap at 14849 (+0), Inode bitmap at 14850 (+1)
-  Inode table at 14851-14854 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14855-15104
+  Inode table at 14851-14858 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14859-15104
   Free inodes: 1857-1888
 Group 59: (Blocks 15105-15360)
   Block bitmap at 15105 (+0), Inode bitmap at 15106 (+1)
-  Inode table at 15107-15110 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15111-15360
+  Inode table at 15107-15114 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15115-15360
   Free inodes: 1889-1920
 Group 60: (Blocks 15361-15616)
   Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
-  Inode table at 15363-15366 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15367-15616
+  Inode table at 15363-15370 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15371-15616
   Free inodes: 1921-1952
 Group 61: (Blocks 15617-15872)
   Block bitmap at 15617 (+0), Inode bitmap at 15618 (+1)
-  Inode table at 15619-15622 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15623-15872
+  Inode table at 15619-15626 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15627-15872
   Free inodes: 1953-1984
 Group 62: (Blocks 15873-16128)
   Block bitmap at 15873 (+0), Inode bitmap at 15874 (+1)
-  Inode table at 15875-15878 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15879-16128
+  Inode table at 15875-15882 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15883-16128
   Free inodes: 1985-2016
 Group 63: (Blocks 16129-16384)
   Block bitmap at 16129 (+0), Inode bitmap at 16130 (+1)
-  Inode table at 16131-16134 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16135-16384
+  Inode table at 16131-16138 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16139-16384
   Free inodes: 2017-2048
 Group 64: (Blocks 16385-16640)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16390 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16391-16640
+  Inode table at 16387-16394 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16395-16640
   Free inodes: 2049-2080
 Group 65: (Blocks 16641-16896)
   Block bitmap at 16641 (+0), Inode bitmap at 16642 (+1)
-  Inode table at 16643-16646 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16647-16896
+  Inode table at 16643-16650 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16651-16896
   Free inodes: 2081-2112
 Group 66: (Blocks 16897-17152)
   Block bitmap at 16897 (+0), Inode bitmap at 16898 (+1)
-  Inode table at 16899-16902 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16903-17152
+  Inode table at 16899-16906 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16907-17152
   Free inodes: 2113-2144
 Group 67: (Blocks 17153-17408)
   Block bitmap at 17153 (+0), Inode bitmap at 17154 (+1)
-  Inode table at 17155-17158 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17159-17408
+  Inode table at 17155-17162 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17163-17408
   Free inodes: 2145-2176
 Group 68: (Blocks 17409-17664)
   Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
-  Inode table at 17411-17414 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17415-17664
+  Inode table at 17411-17418 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17419-17664
   Free inodes: 2177-2208
 Group 69: (Blocks 17665-17920)
   Block bitmap at 17665 (+0), Inode bitmap at 17666 (+1)
-  Inode table at 17667-17670 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17671-17920
+  Inode table at 17667-17674 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17675-17920
   Free inodes: 2209-2240
 Group 70: (Blocks 17921-18176)
   Block bitmap at 17921 (+0), Inode bitmap at 17922 (+1)
-  Inode table at 17923-17926 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17927-18176
+  Inode table at 17923-17930 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17931-18176
   Free inodes: 2241-2272
 Group 71: (Blocks 18177-18432)
   Block bitmap at 18177 (+0), Inode bitmap at 18178 (+1)
-  Inode table at 18179-18182 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18183-18432
+  Inode table at 18179-18186 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18187-18432
   Free inodes: 2273-2304
 Group 72: (Blocks 18433-18688)
   Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
-  Inode table at 18435-18438 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18439-18688
+  Inode table at 18435-18442 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18443-18688
   Free inodes: 2305-2336
 Group 73: (Blocks 18689-18944)
   Block bitmap at 18689 (+0), Inode bitmap at 18690 (+1)
-  Inode table at 18691-18694 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18695-18944
+  Inode table at 18691-18698 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18699-18944
   Free inodes: 2337-2368
 Group 74: (Blocks 18945-19200)
   Block bitmap at 18945 (+0), Inode bitmap at 18946 (+1)
-  Inode table at 18947-18950 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18951-19200
+  Inode table at 18947-18954 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18955-19200
   Free inodes: 2369-2400
 Group 75: (Blocks 19201-19456)
   Block bitmap at 19201 (+0), Inode bitmap at 19202 (+1)
-  Inode table at 19203-19206 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19207-19456
+  Inode table at 19203-19210 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19211-19456
   Free inodes: 2401-2432
 Group 76: (Blocks 19457-19712)
   Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
-  Inode table at 19459-19462 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19463-19712
+  Inode table at 19459-19466 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19467-19712
   Free inodes: 2433-2464
 Group 77: (Blocks 19713-19968)
   Block bitmap at 19713 (+0), Inode bitmap at 19714 (+1)
-  Inode table at 19715-19718 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19719-19968
+  Inode table at 19715-19722 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19723-19968
   Free inodes: 2465-2496
 --------------------------------
 resize2fs -p test.img 30000
-Resizing the filesystem on test.img to 30000 (1k) blocks.
+Resizing the filesystem on test.img to 29953 (1k) blocks.
 Begin pass 1 (max = 39)
 Extending the inode table     ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Begin pass 2 (max = 8)
+Relocating blocks             ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Begin pass 3 (max = 78)
+Scanning inode table          ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Begin pass 5 (max = 3)
+Moving inode table            ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 The filesystem on test.img is now 29953 (1k) blocks long.
 
 Filesystem did not have a UUID; generating one.
@@ -842,14 +902,14 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/3744 files (0.0% non-contiguous), 2007/29953 blocks
+test_filesys: 11/3744 files (9.1% non-contiguous), 1234/29953 blocks
 Exit status is 0
 dumpe2fs test.img
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
 Filesystem magic number:  0xEF53
 Filesystem revision #:    1 (dynamic)
-Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
+Filesystem features:      ext_attr dir_index filetype sparse_super
 Default mount options:    (none)
 Filesystem state:         clean
 Errors behavior:          Continue
@@ -857,752 +917,745 @@
 Inode count:              3744
 Block count:              29953
 Reserved block count:     1489
-Free blocks:              27946
+Free blocks:              28719
 Free inodes:              3733
 First block:              1
 Block size:               1024
 Fragment size:            1024
-Reserved GDT blocks:      124
 Blocks per group:         256
 Fragments per group:      256
 Inodes per group:         32
-Inode blocks per group:   4
+Inode blocks per group:   8
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
 Group 0: (Blocks 1-256)
   Primary superblock at 1, Group descriptors at 2-5
-  Reserved GDT blocks at 6-129
-  Block bitmap at 130 (+129), Inode bitmap at 131 (+130)
-  Inode table at 132-135 (+131)
-  107 free blocks, 21 free inodes, 2 directories
-  Free blocks: 150-256
+  Block bitmap at 13 (+12), Inode bitmap at 14 (+13)
+  Inode table at 15-22 (+14)
+  228 free blocks, 21 free inodes, 2 directories
+  Free blocks: 6-12, 36-256
   Free inodes: 12-32
 Group 1: (Blocks 257-512)
   Backup superblock at 257, Group descriptors at 258-261
-  Reserved GDT blocks at 262-385
-  Block bitmap at 386 (+129), Inode bitmap at 387 (+130)
-  Inode table at 388-391 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 392-512
+  Block bitmap at 269 (+12), Inode bitmap at 270 (+13)
+  Inode table at 271-278 (+14)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 262-268, 279-512
   Free inodes: 33-64
 Group 2: (Blocks 513-768)
   Block bitmap at 513 (+0), Inode bitmap at 514 (+1)
-  Inode table at 515-518 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 519-768
+  Inode table at 515-522 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 523-768
   Free inodes: 65-96
 Group 3: (Blocks 769-1024)
   Backup superblock at 769, Group descriptors at 770-773
-  Reserved GDT blocks at 774-897
-  Block bitmap at 898 (+129), Inode bitmap at 899 (+130)
-  Inode table at 900-903 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 904-1024
+  Block bitmap at 781 (+12), Inode bitmap at 782 (+13)
+  Inode table at 783-790 (+14)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 774-780, 791-1024
   Free inodes: 97-128
 Group 4: (Blocks 1025-1280)
   Block bitmap at 1025 (+0), Inode bitmap at 1026 (+1)
-  Inode table at 1027-1030 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1031-1280
+  Inode table at 1027-1034 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1035-1280
   Free inodes: 129-160
 Group 5: (Blocks 1281-1536)
   Backup superblock at 1281, Group descriptors at 1282-1285
-  Reserved GDT blocks at 1286-1409
-  Block bitmap at 1410 (+129), Inode bitmap at 1411 (+130)
-  Inode table at 1412-1415 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1416-1536
+  Block bitmap at 1294 (+13), Inode bitmap at 1295 (+14)
+  Inode table at 1286-1293 (+5)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1296-1536
   Free inodes: 161-192
 Group 6: (Blocks 1537-1792)
   Block bitmap at 1537 (+0), Inode bitmap at 1538 (+1)
-  Inode table at 1539-1542 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1543-1792
+  Inode table at 1539-1546 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1547-1792
   Free inodes: 193-224
 Group 7: (Blocks 1793-2048)
   Backup superblock at 1793, Group descriptors at 1794-1797
-  Reserved GDT blocks at 1798-1921
-  Block bitmap at 1922 (+129), Inode bitmap at 1923 (+130)
-  Inode table at 1924-1927 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1928-2048
+  Block bitmap at 1806 (+13), Inode bitmap at 1807 (+14)
+  Inode table at 1798-1805 (+5)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1808-2048
   Free inodes: 225-256
 Group 8: (Blocks 2049-2304)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2054 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2055-2304
+  Inode table at 2051-2058 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2059-2304
   Free inodes: 257-288
 Group 9: (Blocks 2305-2560)
   Backup superblock at 2305, Group descriptors at 2306-2309
-  Reserved GDT blocks at 2310-2433
-  Block bitmap at 2434 (+129), Inode bitmap at 2435 (+130)
-  Inode table at 2436-2439 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2440-2560
+  Block bitmap at 2318 (+13), Inode bitmap at 2319 (+14)
+  Inode table at 2310-2317 (+5)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2320-2560
   Free inodes: 289-320
 Group 10: (Blocks 2561-2816)
   Block bitmap at 2561 (+0), Inode bitmap at 2562 (+1)
-  Inode table at 2563-2566 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2567-2816
+  Inode table at 2563-2570 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2571-2816
   Free inodes: 321-352
 Group 11: (Blocks 2817-3072)
   Block bitmap at 2817 (+0), Inode bitmap at 2818 (+1)
-  Inode table at 2819-2822 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2823-3072
+  Inode table at 2819-2826 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2827-3072
   Free inodes: 353-384
 Group 12: (Blocks 3073-3328)
   Block bitmap at 3073 (+0), Inode bitmap at 3074 (+1)
-  Inode table at 3075-3078 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3079-3328
+  Inode table at 3075-3082 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3083-3328
   Free inodes: 385-416
 Group 13: (Blocks 3329-3584)
   Block bitmap at 3329 (+0), Inode bitmap at 3330 (+1)
-  Inode table at 3331-3334 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3335-3584
+  Inode table at 3331-3338 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3339-3584
   Free inodes: 417-448
 Group 14: (Blocks 3585-3840)
   Block bitmap at 3585 (+0), Inode bitmap at 3586 (+1)
-  Inode table at 3587-3590 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3591-3840
+  Inode table at 3587-3594 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3595-3840
   Free inodes: 449-480
 Group 15: (Blocks 3841-4096)
   Block bitmap at 3841 (+0), Inode bitmap at 3842 (+1)
-  Inode table at 3843-3846 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3847-4096
+  Inode table at 3843-3850 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3851-4096
   Free inodes: 481-512
 Group 16: (Blocks 4097-4352)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4102 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4103-4352
+  Inode table at 4099-4106 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4107-4352
   Free inodes: 513-544
 Group 17: (Blocks 4353-4608)
   Block bitmap at 4353 (+0), Inode bitmap at 4354 (+1)
-  Inode table at 4355-4358 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4359-4608
+  Inode table at 4355-4362 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4363-4608
   Free inodes: 545-576
 Group 18: (Blocks 4609-4864)
   Block bitmap at 4609 (+0), Inode bitmap at 4610 (+1)
-  Inode table at 4611-4614 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4615-4864
+  Inode table at 4611-4618 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4619-4864
   Free inodes: 577-608
 Group 19: (Blocks 4865-5120)
   Block bitmap at 4865 (+0), Inode bitmap at 4866 (+1)
-  Inode table at 4867-4870 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4871-5120
+  Inode table at 4867-4874 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4875-5120
   Free inodes: 609-640
 Group 20: (Blocks 5121-5376)
   Block bitmap at 5121 (+0), Inode bitmap at 5122 (+1)
-  Inode table at 5123-5126 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5127-5376
+  Inode table at 5123-5130 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5131-5376
   Free inodes: 641-672
 Group 21: (Blocks 5377-5632)
   Block bitmap at 5377 (+0), Inode bitmap at 5378 (+1)
-  Inode table at 5379-5382 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5383-5632
+  Inode table at 5379-5386 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5387-5632
   Free inodes: 673-704
 Group 22: (Blocks 5633-5888)
   Block bitmap at 5633 (+0), Inode bitmap at 5634 (+1)
-  Inode table at 5635-5638 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5639-5888
+  Inode table at 5635-5642 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5643-5888
   Free inodes: 705-736
 Group 23: (Blocks 5889-6144)
   Block bitmap at 5889 (+0), Inode bitmap at 5890 (+1)
-  Inode table at 5891-5894 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5895-6144
+  Inode table at 5891-5898 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5899-6144
   Free inodes: 737-768
 Group 24: (Blocks 6145-6400)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6150 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6151-6400
+  Inode table at 6147-6154 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6155-6400
   Free inodes: 769-800
 Group 25: (Blocks 6401-6656)
   Backup superblock at 6401, Group descriptors at 6402-6405
-  Reserved GDT blocks at 6406-6529
-  Block bitmap at 6530 (+129), Inode bitmap at 6531 (+130)
-  Inode table at 6532-6535 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6536-6656
+  Block bitmap at 6414 (+13), Inode bitmap at 6415 (+14)
+  Inode table at 6406-6413 (+5)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6416-6656
   Free inodes: 801-832
 Group 26: (Blocks 6657-6912)
   Block bitmap at 6657 (+0), Inode bitmap at 6658 (+1)
-  Inode table at 6659-6662 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6663-6912
+  Inode table at 6659-6666 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6667-6912
   Free inodes: 833-864
 Group 27: (Blocks 6913-7168)
   Backup superblock at 6913, Group descriptors at 6914-6917
-  Reserved GDT blocks at 6918-7041
-  Block bitmap at 7042 (+129), Inode bitmap at 7043 (+130)
-  Inode table at 7044-7047 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7048-7168
+  Block bitmap at 6926 (+13), Inode bitmap at 6927 (+14)
+  Inode table at 6918-6925 (+5)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6928-7168
   Free inodes: 865-896
 Group 28: (Blocks 7169-7424)
   Block bitmap at 7169 (+0), Inode bitmap at 7170 (+1)
-  Inode table at 7171-7174 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7175-7424
+  Inode table at 7171-7178 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7179-7424
   Free inodes: 897-928
 Group 29: (Blocks 7425-7680)
   Block bitmap at 7425 (+0), Inode bitmap at 7426 (+1)
-  Inode table at 7427-7430 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7431-7680
+  Inode table at 7427-7434 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7435-7680
   Free inodes: 929-960
 Group 30: (Blocks 7681-7936)
   Block bitmap at 7681 (+0), Inode bitmap at 7682 (+1)
-  Inode table at 7683-7686 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7687-7936
+  Inode table at 7683-7690 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7691-7936
   Free inodes: 961-992
 Group 31: (Blocks 7937-8192)
   Block bitmap at 7937 (+0), Inode bitmap at 7938 (+1)
-  Inode table at 7939-7942 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7943-8192
+  Inode table at 7939-7946 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7947-8192
   Free inodes: 993-1024
 Group 32: (Blocks 8193-8448)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8198 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8199-8448
+  Inode table at 8195-8202 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8203-8448
   Free inodes: 1025-1056
 Group 33: (Blocks 8449-8704)
   Block bitmap at 8449 (+0), Inode bitmap at 8450 (+1)
-  Inode table at 8451-8454 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8455-8704
+  Inode table at 8451-8458 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8459-8704
   Free inodes: 1057-1088
 Group 34: (Blocks 8705-8960)
   Block bitmap at 8705 (+0), Inode bitmap at 8706 (+1)
-  Inode table at 8707-8710 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8711-8960
+  Inode table at 8707-8714 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8715-8960
   Free inodes: 1089-1120
 Group 35: (Blocks 8961-9216)
   Block bitmap at 8961 (+0), Inode bitmap at 8962 (+1)
-  Inode table at 8963-8966 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8967-9216
+  Inode table at 8963-8970 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8971-9216
   Free inodes: 1121-1152
 Group 36: (Blocks 9217-9472)
   Block bitmap at 9217 (+0), Inode bitmap at 9218 (+1)
-  Inode table at 9219-9222 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9223-9472
+  Inode table at 9219-9226 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9227-9472
   Free inodes: 1153-1184
 Group 37: (Blocks 9473-9728)
   Block bitmap at 9473 (+0), Inode bitmap at 9474 (+1)
-  Inode table at 9475-9478 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9479-9728
+  Inode table at 9475-9482 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9483-9728
   Free inodes: 1185-1216
 Group 38: (Blocks 9729-9984)
   Block bitmap at 9729 (+0), Inode bitmap at 9730 (+1)
-  Inode table at 9731-9734 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9735-9984
+  Inode table at 9731-9738 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9739-9984
   Free inodes: 1217-1248
 Group 39: (Blocks 9985-10240)
   Block bitmap at 9985 (+0), Inode bitmap at 9986 (+1)
-  Inode table at 9987-9990 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9991-10240
+  Inode table at 9987-9994 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9995-10240
   Free inodes: 1249-1280
 Group 40: (Blocks 10241-10496)
   Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
-  Inode table at 10243-10246 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10247-10496
+  Inode table at 10243-10250 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10251-10496
   Free inodes: 1281-1312
 Group 41: (Blocks 10497-10752)
   Block bitmap at 10497 (+0), Inode bitmap at 10498 (+1)
-  Inode table at 10499-10502 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10503-10752
+  Inode table at 10499-10506 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10507-10752
   Free inodes: 1313-1344
 Group 42: (Blocks 10753-11008)
   Block bitmap at 10753 (+0), Inode bitmap at 10754 (+1)
-  Inode table at 10755-10758 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10759-11008
+  Inode table at 10755-10762 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10763-11008
   Free inodes: 1345-1376
 Group 43: (Blocks 11009-11264)
   Block bitmap at 11009 (+0), Inode bitmap at 11010 (+1)
-  Inode table at 11011-11014 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11015-11264
+  Inode table at 11011-11018 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11019-11264
   Free inodes: 1377-1408
 Group 44: (Blocks 11265-11520)
   Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
-  Inode table at 11267-11270 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11271-11520
+  Inode table at 11267-11274 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11275-11520
   Free inodes: 1409-1440
 Group 45: (Blocks 11521-11776)
   Block bitmap at 11521 (+0), Inode bitmap at 11522 (+1)
-  Inode table at 11523-11526 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11527-11776
+  Inode table at 11523-11530 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11531-11776
   Free inodes: 1441-1472
 Group 46: (Blocks 11777-12032)
   Block bitmap at 11777 (+0), Inode bitmap at 11778 (+1)
-  Inode table at 11779-11782 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11783-12032
+  Inode table at 11779-11786 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11787-12032
   Free inodes: 1473-1504
 Group 47: (Blocks 12033-12288)
   Block bitmap at 12033 (+0), Inode bitmap at 12034 (+1)
-  Inode table at 12035-12038 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12039-12288
+  Inode table at 12035-12042 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12043-12288
   Free inodes: 1505-1536
 Group 48: (Blocks 12289-12544)
   Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
-  Inode table at 12291-12294 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12295-12544
+  Inode table at 12291-12298 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12299-12544
   Free inodes: 1537-1568
 Group 49: (Blocks 12545-12800)
   Backup superblock at 12545, Group descriptors at 12546-12549
-  Reserved GDT blocks at 12550-12673
-  Block bitmap at 12674 (+129), Inode bitmap at 12675 (+130)
-  Inode table at 12676-12679 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12680-12800
+  Block bitmap at 12559 (+14), Inode bitmap at 12550 (+5)
+  Inode table at 12551-12558 (+6)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12560-12800
   Free inodes: 1569-1600
 Group 50: (Blocks 12801-13056)
   Block bitmap at 12801 (+0), Inode bitmap at 12802 (+1)
-  Inode table at 12803-12806 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12807-13056
+  Inode table at 12803-12810 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12811-13056
   Free inodes: 1601-1632
 Group 51: (Blocks 13057-13312)
   Block bitmap at 13057 (+0), Inode bitmap at 13058 (+1)
-  Inode table at 13059-13062 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13063-13312
+  Inode table at 13059-13066 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13067-13312
   Free inodes: 1633-1664
 Group 52: (Blocks 13313-13568)
   Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
-  Inode table at 13315-13318 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13319-13568
+  Inode table at 13315-13322 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13323-13568
   Free inodes: 1665-1696
 Group 53: (Blocks 13569-13824)
   Block bitmap at 13569 (+0), Inode bitmap at 13570 (+1)
-  Inode table at 13571-13574 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13575-13824
+  Inode table at 13571-13578 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13579-13824
   Free inodes: 1697-1728
 Group 54: (Blocks 13825-14080)
   Block bitmap at 13825 (+0), Inode bitmap at 13826 (+1)
-  Inode table at 13827-13830 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13831-14080
+  Inode table at 13827-13834 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13835-14080
   Free inodes: 1729-1760
 Group 55: (Blocks 14081-14336)
   Block bitmap at 14081 (+0), Inode bitmap at 14082 (+1)
-  Inode table at 14083-14086 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14087-14336
+  Inode table at 14083-14090 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14091-14336
   Free inodes: 1761-1792
 Group 56: (Blocks 14337-14592)
   Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
-  Inode table at 14339-14342 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14343-14592
+  Inode table at 14339-14346 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14347-14592
   Free inodes: 1793-1824
 Group 57: (Blocks 14593-14848)
   Block bitmap at 14593 (+0), Inode bitmap at 14594 (+1)
-  Inode table at 14595-14598 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14599-14848
+  Inode table at 14595-14602 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14603-14848
   Free inodes: 1825-1856
 Group 58: (Blocks 14849-15104)
   Block bitmap at 14849 (+0), Inode bitmap at 14850 (+1)
-  Inode table at 14851-14854 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14855-15104
+  Inode table at 14851-14858 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14859-15104
   Free inodes: 1857-1888
 Group 59: (Blocks 15105-15360)
   Block bitmap at 15105 (+0), Inode bitmap at 15106 (+1)
-  Inode table at 15107-15110 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15111-15360
+  Inode table at 15107-15114 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15115-15360
   Free inodes: 1889-1920
 Group 60: (Blocks 15361-15616)
   Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
-  Inode table at 15363-15366 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15367-15616
+  Inode table at 15363-15370 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15371-15616
   Free inodes: 1921-1952
 Group 61: (Blocks 15617-15872)
   Block bitmap at 15617 (+0), Inode bitmap at 15618 (+1)
-  Inode table at 15619-15622 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15623-15872
+  Inode table at 15619-15626 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15627-15872
   Free inodes: 1953-1984
 Group 62: (Blocks 15873-16128)
   Block bitmap at 15873 (+0), Inode bitmap at 15874 (+1)
-  Inode table at 15875-15878 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15879-16128
+  Inode table at 15875-15882 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15883-16128
   Free inodes: 1985-2016
 Group 63: (Blocks 16129-16384)
   Block bitmap at 16129 (+0), Inode bitmap at 16130 (+1)
-  Inode table at 16131-16134 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16135-16384
+  Inode table at 16131-16138 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16139-16384
   Free inodes: 2017-2048
 Group 64: (Blocks 16385-16640)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16390 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16391-16640
+  Inode table at 16387-16394 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16395-16640
   Free inodes: 2049-2080
 Group 65: (Blocks 16641-16896)
   Block bitmap at 16641 (+0), Inode bitmap at 16642 (+1)
-  Inode table at 16643-16646 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16647-16896
+  Inode table at 16643-16650 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16651-16896
   Free inodes: 2081-2112
 Group 66: (Blocks 16897-17152)
   Block bitmap at 16897 (+0), Inode bitmap at 16898 (+1)
-  Inode table at 16899-16902 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16903-17152
+  Inode table at 16899-16906 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16907-17152
   Free inodes: 2113-2144
 Group 67: (Blocks 17153-17408)
   Block bitmap at 17153 (+0), Inode bitmap at 17154 (+1)
-  Inode table at 17155-17158 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17159-17408
+  Inode table at 17155-17162 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17163-17408
   Free inodes: 2145-2176
 Group 68: (Blocks 17409-17664)
   Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
-  Inode table at 17411-17414 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17415-17664
+  Inode table at 17411-17418 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17419-17664
   Free inodes: 2177-2208
 Group 69: (Blocks 17665-17920)
   Block bitmap at 17665 (+0), Inode bitmap at 17666 (+1)
-  Inode table at 17667-17670 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17671-17920
+  Inode table at 17667-17674 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17675-17920
   Free inodes: 2209-2240
 Group 70: (Blocks 17921-18176)
   Block bitmap at 17921 (+0), Inode bitmap at 17922 (+1)
-  Inode table at 17923-17926 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17927-18176
+  Inode table at 17923-17930 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17931-18176
   Free inodes: 2241-2272
 Group 71: (Blocks 18177-18432)
   Block bitmap at 18177 (+0), Inode bitmap at 18178 (+1)
-  Inode table at 18179-18182 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18183-18432
+  Inode table at 18179-18186 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18187-18432
   Free inodes: 2273-2304
 Group 72: (Blocks 18433-18688)
   Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
-  Inode table at 18435-18438 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18439-18688
+  Inode table at 18435-18442 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18443-18688
   Free inodes: 2305-2336
 Group 73: (Blocks 18689-18944)
   Block bitmap at 18689 (+0), Inode bitmap at 18690 (+1)
-  Inode table at 18691-18694 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18695-18944
+  Inode table at 18691-18698 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18699-18944
   Free inodes: 2337-2368
 Group 74: (Blocks 18945-19200)
   Block bitmap at 18945 (+0), Inode bitmap at 18946 (+1)
-  Inode table at 18947-18950 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18951-19200
+  Inode table at 18947-18954 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18955-19200
   Free inodes: 2369-2400
 Group 75: (Blocks 19201-19456)
   Block bitmap at 19201 (+0), Inode bitmap at 19202 (+1)
-  Inode table at 19203-19206 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19207-19456
+  Inode table at 19203-19210 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19211-19456
   Free inodes: 2401-2432
 Group 76: (Blocks 19457-19712)
   Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
-  Inode table at 19459-19462 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19463-19712
+  Inode table at 19459-19466 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19467-19712
   Free inodes: 2433-2464
 Group 77: (Blocks 19713-19968)
   Block bitmap at 19713 (+0), Inode bitmap at 19714 (+1)
-  Inode table at 19715-19718 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19719-19968
+  Inode table at 19715-19722 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19723-19968
   Free inodes: 2465-2496
 Group 78: (Blocks 19969-20224)
   Block bitmap at 19969 (+0), Inode bitmap at 19970 (+1)
-  Inode table at 19971-19974 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19975-20224
+  Inode table at 19971-19978 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19979-20224
   Free inodes: 2497-2528
 Group 79: (Blocks 20225-20480)
   Block bitmap at 20225 (+0), Inode bitmap at 20226 (+1)
-  Inode table at 20227-20230 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 20231-20480
+  Inode table at 20227-20234 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 20235-20480
   Free inodes: 2529-2560
 Group 80: (Blocks 20481-20736)
   Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1)
-  Inode table at 20483-20486 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 20487-20736
+  Inode table at 20483-20490 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 20491-20736
   Free inodes: 2561-2592
 Group 81: (Blocks 20737-20992)
   Backup superblock at 20737, Group descriptors at 20738-20741
-  Reserved GDT blocks at 20742-20865
-  Block bitmap at 20866 (+129), Inode bitmap at 20867 (+130)
-  Inode table at 20868-20871 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 20872-20992
+  Block bitmap at 20742 (+5), Inode bitmap at 20743 (+6)
+  Inode table at 20744-20751 (+7)
+  241 free blocks, 32 free inodes, 0 directories
+  Free blocks: 20752-20992
   Free inodes: 2593-2624
 Group 82: (Blocks 20993-21248)
   Block bitmap at 20993 (+0), Inode bitmap at 20994 (+1)
-  Inode table at 20995-20998 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 20999-21248
+  Inode table at 20995-21002 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 21003-21248
   Free inodes: 2625-2656
 Group 83: (Blocks 21249-21504)
   Block bitmap at 21249 (+0), Inode bitmap at 21250 (+1)
-  Inode table at 21251-21254 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 21255-21504
+  Inode table at 21251-21258 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 21259-21504
   Free inodes: 2657-2688
 Group 84: (Blocks 21505-21760)
   Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1)
-  Inode table at 21507-21510 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 21511-21760
+  Inode table at 21507-21514 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 21515-21760
   Free inodes: 2689-2720
 Group 85: (Blocks 21761-22016)
   Block bitmap at 21761 (+0), Inode bitmap at 21762 (+1)
-  Inode table at 21763-21766 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 21767-22016
+  Inode table at 21763-21770 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 21771-22016
   Free inodes: 2721-2752
 Group 86: (Blocks 22017-22272)
   Block bitmap at 22017 (+0), Inode bitmap at 22018 (+1)
-  Inode table at 22019-22022 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 22023-22272
+  Inode table at 22019-22026 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 22027-22272
   Free inodes: 2753-2784
 Group 87: (Blocks 22273-22528)
   Block bitmap at 22273 (+0), Inode bitmap at 22274 (+1)
-  Inode table at 22275-22278 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 22279-22528
+  Inode table at 22275-22282 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 22283-22528
   Free inodes: 2785-2816
 Group 88: (Blocks 22529-22784)
   Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1)
-  Inode table at 22531-22534 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 22535-22784
+  Inode table at 22531-22538 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 22539-22784
   Free inodes: 2817-2848
 Group 89: (Blocks 22785-23040)
   Block bitmap at 22785 (+0), Inode bitmap at 22786 (+1)
-  Inode table at 22787-22790 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 22791-23040
+  Inode table at 22787-22794 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 22795-23040
   Free inodes: 2849-2880
 Group 90: (Blocks 23041-23296)
   Block bitmap at 23041 (+0), Inode bitmap at 23042 (+1)
-  Inode table at 23043-23046 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 23047-23296
+  Inode table at 23043-23050 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 23051-23296
   Free inodes: 2881-2912
 Group 91: (Blocks 23297-23552)
   Block bitmap at 23297 (+0), Inode bitmap at 23298 (+1)
-  Inode table at 23299-23302 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 23303-23552
+  Inode table at 23299-23306 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 23307-23552
   Free inodes: 2913-2944
 Group 92: (Blocks 23553-23808)
   Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1)
-  Inode table at 23555-23558 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 23559-23808
+  Inode table at 23555-23562 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 23563-23808
   Free inodes: 2945-2976
 Group 93: (Blocks 23809-24064)
   Block bitmap at 23809 (+0), Inode bitmap at 23810 (+1)
-  Inode table at 23811-23814 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 23815-24064
+  Inode table at 23811-23818 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 23819-24064
   Free inodes: 2977-3008
 Group 94: (Blocks 24065-24320)
   Block bitmap at 24065 (+0), Inode bitmap at 24066 (+1)
-  Inode table at 24067-24070 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 24071-24320
+  Inode table at 24067-24074 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 24075-24320
   Free inodes: 3009-3040
 Group 95: (Blocks 24321-24576)
   Block bitmap at 24321 (+0), Inode bitmap at 24322 (+1)
-  Inode table at 24323-24326 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 24327-24576
+  Inode table at 24323-24330 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 24331-24576
   Free inodes: 3041-3072
 Group 96: (Blocks 24577-24832)
   Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1)
-  Inode table at 24579-24582 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 24583-24832
+  Inode table at 24579-24586 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 24587-24832
   Free inodes: 3073-3104
 Group 97: (Blocks 24833-25088)
   Block bitmap at 24833 (+0), Inode bitmap at 24834 (+1)
-  Inode table at 24835-24838 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 24839-25088
+  Inode table at 24835-24842 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 24843-25088
   Free inodes: 3105-3136
 Group 98: (Blocks 25089-25344)
   Block bitmap at 25089 (+0), Inode bitmap at 25090 (+1)
-  Inode table at 25091-25094 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 25095-25344
+  Inode table at 25091-25098 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 25099-25344
   Free inodes: 3137-3168
 Group 99: (Blocks 25345-25600)
   Block bitmap at 25345 (+0), Inode bitmap at 25346 (+1)
-  Inode table at 25347-25350 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 25351-25600
+  Inode table at 25347-25354 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 25355-25600
   Free inodes: 3169-3200
 Group 100: (Blocks 25601-25856)
   Block bitmap at 25601 (+0), Inode bitmap at 25602 (+1)
-  Inode table at 25603-25606 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 25607-25856
+  Inode table at 25603-25610 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 25611-25856
   Free inodes: 3201-3232
 Group 101: (Blocks 25857-26112)
   Block bitmap at 25857 (+0), Inode bitmap at 25858 (+1)
-  Inode table at 25859-25862 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 25863-26112
+  Inode table at 25859-25866 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 25867-26112
   Free inodes: 3233-3264
 Group 102: (Blocks 26113-26368)
   Block bitmap at 26113 (+0), Inode bitmap at 26114 (+1)
-  Inode table at 26115-26118 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 26119-26368
+  Inode table at 26115-26122 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 26123-26368
   Free inodes: 3265-3296
 Group 103: (Blocks 26369-26624)
   Block bitmap at 26369 (+0), Inode bitmap at 26370 (+1)
-  Inode table at 26371-26374 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 26375-26624
+  Inode table at 26371-26378 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 26379-26624
   Free inodes: 3297-3328
 Group 104: (Blocks 26625-26880)
   Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1)
-  Inode table at 26627-26630 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 26631-26880
+  Inode table at 26627-26634 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 26635-26880
   Free inodes: 3329-3360
 Group 105: (Blocks 26881-27136)
   Block bitmap at 26881 (+0), Inode bitmap at 26882 (+1)
-  Inode table at 26883-26886 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 26887-27136
+  Inode table at 26883-26890 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 26891-27136
   Free inodes: 3361-3392
 Group 106: (Blocks 27137-27392)
   Block bitmap at 27137 (+0), Inode bitmap at 27138 (+1)
-  Inode table at 27139-27142 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 27143-27392
+  Inode table at 27139-27146 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 27147-27392
   Free inodes: 3393-3424
 Group 107: (Blocks 27393-27648)
   Block bitmap at 27393 (+0), Inode bitmap at 27394 (+1)
-  Inode table at 27395-27398 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 27399-27648
+  Inode table at 27395-27402 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 27403-27648
   Free inodes: 3425-3456
 Group 108: (Blocks 27649-27904)
   Block bitmap at 27649 (+0), Inode bitmap at 27650 (+1)
-  Inode table at 27651-27654 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 27655-27904
+  Inode table at 27651-27658 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 27659-27904
   Free inodes: 3457-3488
 Group 109: (Blocks 27905-28160)
   Block bitmap at 27905 (+0), Inode bitmap at 27906 (+1)
-  Inode table at 27907-27910 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 27911-28160
+  Inode table at 27907-27914 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 27915-28160
   Free inodes: 3489-3520
 Group 110: (Blocks 28161-28416)
   Block bitmap at 28161 (+0), Inode bitmap at 28162 (+1)
-  Inode table at 28163-28166 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 28167-28416
+  Inode table at 28163-28170 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 28171-28416
   Free inodes: 3521-3552
 Group 111: (Blocks 28417-28672)
   Block bitmap at 28417 (+0), Inode bitmap at 28418 (+1)
-  Inode table at 28419-28422 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 28423-28672
+  Inode table at 28419-28426 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 28427-28672
   Free inodes: 3553-3584
 Group 112: (Blocks 28673-28928)
   Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1)
-  Inode table at 28675-28678 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 28679-28928
+  Inode table at 28675-28682 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 28683-28928
   Free inodes: 3585-3616
 Group 113: (Blocks 28929-29184)
   Block bitmap at 28929 (+0), Inode bitmap at 28930 (+1)
-  Inode table at 28931-28934 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 28935-29184
+  Inode table at 28931-28938 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 28939-29184
   Free inodes: 3617-3648
 Group 114: (Blocks 29185-29440)
   Block bitmap at 29185 (+0), Inode bitmap at 29186 (+1)
-  Inode table at 29187-29190 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 29191-29440
+  Inode table at 29187-29194 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 29195-29440
   Free inodes: 3649-3680
 Group 115: (Blocks 29441-29696)
   Block bitmap at 29441 (+0), Inode bitmap at 29442 (+1)
-  Inode table at 29443-29446 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 29447-29696
+  Inode table at 29443-29450 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 29451-29696
   Free inodes: 3681-3712
 Group 116: (Blocks 29697-29952)
   Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1)
-  Inode table at 29699-29702 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 29703-29952
+  Inode table at 29699-29706 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 29707-29952
   Free inodes: 3713-3744
 --------------------------------
 resize2fs -p test.img 40000
 Resizing the filesystem on test.img to 40000 (1k) blocks.
 Begin pass 1 (max = 40)
 Extending the inode table     ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Begin pass 5 (max = 5)
+Moving inode table            ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 The filesystem on test.img is now 40000 (1k) blocks long.
 
 Filesystem did not have a UUID; generating one.
@@ -1612,14 +1665,14 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/5024 files (0.0% non-contiguous), 2376/40000 blocks
+test_filesys: 11/5024 files (9.1% non-contiguous), 1650/40000 blocks
 Exit status is 0
 dumpe2fs test.img
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
 Filesystem magic number:  0xEF53
 Filesystem revision #:    1 (dynamic)
-Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
+Filesystem features:      ext_attr dir_index filetype sparse_super
 Default mount options:    (none)
 Filesystem state:         clean
 Errors behavior:          Continue
@@ -1627,986 +1680,976 @@
 Inode count:              5024
 Block count:              40000
 Reserved block count:     1988
-Free blocks:              37624
+Free blocks:              38350
 Free inodes:              5013
 First block:              1
 Block size:               1024
 Fragment size:            1024
-Reserved GDT blocks:      123
 Blocks per group:         256
 Fragments per group:      256
 Inodes per group:         32
-Inode blocks per group:   4
+Inode blocks per group:   8
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
 Group 0: (Blocks 1-256)
   Primary superblock at 1, Group descriptors at 2-6
-  Reserved GDT blocks at 7-129
-  Block bitmap at 130 (+129), Inode bitmap at 131 (+130)
-  Inode table at 132-135 (+131)
-  107 free blocks, 21 free inodes, 2 directories
-  Free blocks: 150-256
+  Block bitmap at 13 (+12), Inode bitmap at 14 (+13)
+  Inode table at 15-22 (+14)
+  227 free blocks, 21 free inodes, 2 directories
+  Free blocks: 7-12, 36-256
   Free inodes: 12-32
 Group 1: (Blocks 257-512)
   Backup superblock at 257, Group descriptors at 258-262
-  Reserved GDT blocks at 263-385
-  Block bitmap at 386 (+129), Inode bitmap at 387 (+130)
-  Inode table at 388-391 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 392-512
+  Block bitmap at 269 (+12), Inode bitmap at 270 (+13)
+  Inode table at 271-278 (+14)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 263-268, 279-512
   Free inodes: 33-64
 Group 2: (Blocks 513-768)
   Block bitmap at 513 (+0), Inode bitmap at 514 (+1)
-  Inode table at 515-518 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 519-768
+  Inode table at 515-522 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 523-768
   Free inodes: 65-96
 Group 3: (Blocks 769-1024)
   Backup superblock at 769, Group descriptors at 770-774
-  Reserved GDT blocks at 775-897
-  Block bitmap at 898 (+129), Inode bitmap at 899 (+130)
-  Inode table at 900-903 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 904-1024
+  Block bitmap at 781 (+12), Inode bitmap at 782 (+13)
+  Inode table at 783-790 (+14)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 775-780, 791-1024
   Free inodes: 97-128
 Group 4: (Blocks 1025-1280)
   Block bitmap at 1025 (+0), Inode bitmap at 1026 (+1)
-  Inode table at 1027-1030 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1031-1280
+  Inode table at 1027-1034 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1035-1280
   Free inodes: 129-160
 Group 5: (Blocks 1281-1536)
   Backup superblock at 1281, Group descriptors at 1282-1286
-  Reserved GDT blocks at 1287-1409
-  Block bitmap at 1410 (+129), Inode bitmap at 1411 (+130)
-  Inode table at 1412-1415 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1416-1536
+  Block bitmap at 1294 (+13), Inode bitmap at 1295 (+14)
+  Inode table at 1296-1303 (+15)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1287-1293, 1304-1536
   Free inodes: 161-192
 Group 6: (Blocks 1537-1792)
   Block bitmap at 1537 (+0), Inode bitmap at 1538 (+1)
-  Inode table at 1539-1542 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1543-1792
+  Inode table at 1539-1546 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1547-1792
   Free inodes: 193-224
 Group 7: (Blocks 1793-2048)
   Backup superblock at 1793, Group descriptors at 1794-1798
-  Reserved GDT blocks at 1799-1921
-  Block bitmap at 1922 (+129), Inode bitmap at 1923 (+130)
-  Inode table at 1924-1927 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 1928-2048
+  Block bitmap at 1806 (+13), Inode bitmap at 1807 (+14)
+  Inode table at 1808-1815 (+15)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 1799-1805, 1816-2048
   Free inodes: 225-256
 Group 8: (Blocks 2049-2304)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2054 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2055-2304
+  Inode table at 2051-2058 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2059-2304
   Free inodes: 257-288
 Group 9: (Blocks 2305-2560)
   Backup superblock at 2305, Group descriptors at 2306-2310
-  Reserved GDT blocks at 2311-2433
-  Block bitmap at 2434 (+129), Inode bitmap at 2435 (+130)
-  Inode table at 2436-2439 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2440-2560
+  Block bitmap at 2318 (+13), Inode bitmap at 2319 (+14)
+  Inode table at 2320-2327 (+15)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2311-2317, 2328-2560
   Free inodes: 289-320
 Group 10: (Blocks 2561-2816)
   Block bitmap at 2561 (+0), Inode bitmap at 2562 (+1)
-  Inode table at 2563-2566 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2567-2816
+  Inode table at 2563-2570 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2571-2816
   Free inodes: 321-352
 Group 11: (Blocks 2817-3072)
   Block bitmap at 2817 (+0), Inode bitmap at 2818 (+1)
-  Inode table at 2819-2822 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 2823-3072
+  Inode table at 2819-2826 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 2827-3072
   Free inodes: 353-384
 Group 12: (Blocks 3073-3328)
   Block bitmap at 3073 (+0), Inode bitmap at 3074 (+1)
-  Inode table at 3075-3078 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3079-3328
+  Inode table at 3075-3082 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3083-3328
   Free inodes: 385-416
 Group 13: (Blocks 3329-3584)
   Block bitmap at 3329 (+0), Inode bitmap at 3330 (+1)
-  Inode table at 3331-3334 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3335-3584
+  Inode table at 3331-3338 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3339-3584
   Free inodes: 417-448
 Group 14: (Blocks 3585-3840)
   Block bitmap at 3585 (+0), Inode bitmap at 3586 (+1)
-  Inode table at 3587-3590 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3591-3840
+  Inode table at 3587-3594 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3595-3840
   Free inodes: 449-480
 Group 15: (Blocks 3841-4096)
   Block bitmap at 3841 (+0), Inode bitmap at 3842 (+1)
-  Inode table at 3843-3846 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 3847-4096
+  Inode table at 3843-3850 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 3851-4096
   Free inodes: 481-512
 Group 16: (Blocks 4097-4352)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4102 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4103-4352
+  Inode table at 4099-4106 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4107-4352
   Free inodes: 513-544
 Group 17: (Blocks 4353-4608)
   Block bitmap at 4353 (+0), Inode bitmap at 4354 (+1)
-  Inode table at 4355-4358 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4359-4608
+  Inode table at 4355-4362 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4363-4608
   Free inodes: 545-576
 Group 18: (Blocks 4609-4864)
   Block bitmap at 4609 (+0), Inode bitmap at 4610 (+1)
-  Inode table at 4611-4614 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4615-4864
+  Inode table at 4611-4618 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4619-4864
   Free inodes: 577-608
 Group 19: (Blocks 4865-5120)
   Block bitmap at 4865 (+0), Inode bitmap at 4866 (+1)
-  Inode table at 4867-4870 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 4871-5120
+  Inode table at 4867-4874 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 4875-5120
   Free inodes: 609-640
 Group 20: (Blocks 5121-5376)
   Block bitmap at 5121 (+0), Inode bitmap at 5122 (+1)
-  Inode table at 5123-5126 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5127-5376
+  Inode table at 5123-5130 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5131-5376
   Free inodes: 641-672
 Group 21: (Blocks 5377-5632)
   Block bitmap at 5377 (+0), Inode bitmap at 5378 (+1)
-  Inode table at 5379-5382 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5383-5632
+  Inode table at 5379-5386 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5387-5632
   Free inodes: 673-704
 Group 22: (Blocks 5633-5888)
   Block bitmap at 5633 (+0), Inode bitmap at 5634 (+1)
-  Inode table at 5635-5638 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5639-5888
+  Inode table at 5635-5642 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5643-5888
   Free inodes: 705-736
 Group 23: (Blocks 5889-6144)
   Block bitmap at 5889 (+0), Inode bitmap at 5890 (+1)
-  Inode table at 5891-5894 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 5895-6144
+  Inode table at 5891-5898 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 5899-6144
   Free inodes: 737-768
 Group 24: (Blocks 6145-6400)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6150 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6151-6400
+  Inode table at 6147-6154 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6155-6400
   Free inodes: 769-800
 Group 25: (Blocks 6401-6656)
   Backup superblock at 6401, Group descriptors at 6402-6406
-  Reserved GDT blocks at 6407-6529
-  Block bitmap at 6530 (+129), Inode bitmap at 6531 (+130)
-  Inode table at 6532-6535 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6536-6656
+  Block bitmap at 6414 (+13), Inode bitmap at 6415 (+14)
+  Inode table at 6416-6423 (+15)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6407-6413, 6424-6656
   Free inodes: 801-832
 Group 26: (Blocks 6657-6912)
   Block bitmap at 6657 (+0), Inode bitmap at 6658 (+1)
-  Inode table at 6659-6662 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 6663-6912
+  Inode table at 6659-6666 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6667-6912
   Free inodes: 833-864
 Group 27: (Blocks 6913-7168)
   Backup superblock at 6913, Group descriptors at 6914-6918
-  Reserved GDT blocks at 6919-7041
-  Block bitmap at 7042 (+129), Inode bitmap at 7043 (+130)
-  Inode table at 7044-7047 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7048-7168
+  Block bitmap at 6926 (+13), Inode bitmap at 6927 (+14)
+  Inode table at 6928-6935 (+15)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 6919-6925, 6936-7168
   Free inodes: 865-896
 Group 28: (Blocks 7169-7424)
   Block bitmap at 7169 (+0), Inode bitmap at 7170 (+1)
-  Inode table at 7171-7174 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7175-7424
+  Inode table at 7171-7178 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7179-7424
   Free inodes: 897-928
 Group 29: (Blocks 7425-7680)
   Block bitmap at 7425 (+0), Inode bitmap at 7426 (+1)
-  Inode table at 7427-7430 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7431-7680
+  Inode table at 7427-7434 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7435-7680
   Free inodes: 929-960
 Group 30: (Blocks 7681-7936)
   Block bitmap at 7681 (+0), Inode bitmap at 7682 (+1)
-  Inode table at 7683-7686 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7687-7936
+  Inode table at 7683-7690 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7691-7936
   Free inodes: 961-992
 Group 31: (Blocks 7937-8192)
   Block bitmap at 7937 (+0), Inode bitmap at 7938 (+1)
-  Inode table at 7939-7942 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 7943-8192
+  Inode table at 7939-7946 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 7947-8192
   Free inodes: 993-1024
 Group 32: (Blocks 8193-8448)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8198 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8199-8448
+  Inode table at 8195-8202 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8203-8448
   Free inodes: 1025-1056
 Group 33: (Blocks 8449-8704)
   Block bitmap at 8449 (+0), Inode bitmap at 8450 (+1)
-  Inode table at 8451-8454 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8455-8704
+  Inode table at 8451-8458 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8459-8704
   Free inodes: 1057-1088
 Group 34: (Blocks 8705-8960)
   Block bitmap at 8705 (+0), Inode bitmap at 8706 (+1)
-  Inode table at 8707-8710 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8711-8960
+  Inode table at 8707-8714 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8715-8960
   Free inodes: 1089-1120
 Group 35: (Blocks 8961-9216)
   Block bitmap at 8961 (+0), Inode bitmap at 8962 (+1)
-  Inode table at 8963-8966 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 8967-9216
+  Inode table at 8963-8970 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 8971-9216
   Free inodes: 1121-1152
 Group 36: (Blocks 9217-9472)
   Block bitmap at 9217 (+0), Inode bitmap at 9218 (+1)
-  Inode table at 9219-9222 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9223-9472
+  Inode table at 9219-9226 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9227-9472
   Free inodes: 1153-1184
 Group 37: (Blocks 9473-9728)
   Block bitmap at 9473 (+0), Inode bitmap at 9474 (+1)
-  Inode table at 9475-9478 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9479-9728
+  Inode table at 9475-9482 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9483-9728
   Free inodes: 1185-1216
 Group 38: (Blocks 9729-9984)
   Block bitmap at 9729 (+0), Inode bitmap at 9730 (+1)
-  Inode table at 9731-9734 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9735-9984
+  Inode table at 9731-9738 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9739-9984
   Free inodes: 1217-1248
 Group 39: (Blocks 9985-10240)
   Block bitmap at 9985 (+0), Inode bitmap at 9986 (+1)
-  Inode table at 9987-9990 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 9991-10240
+  Inode table at 9987-9994 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 9995-10240
   Free inodes: 1249-1280
 Group 40: (Blocks 10241-10496)
   Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
-  Inode table at 10243-10246 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10247-10496
+  Inode table at 10243-10250 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10251-10496
   Free inodes: 1281-1312
 Group 41: (Blocks 10497-10752)
   Block bitmap at 10497 (+0), Inode bitmap at 10498 (+1)
-  Inode table at 10499-10502 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10503-10752
+  Inode table at 10499-10506 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10507-10752
   Free inodes: 1313-1344
 Group 42: (Blocks 10753-11008)
   Block bitmap at 10753 (+0), Inode bitmap at 10754 (+1)
-  Inode table at 10755-10758 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 10759-11008
+  Inode table at 10755-10762 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 10763-11008
   Free inodes: 1345-1376
 Group 43: (Blocks 11009-11264)
   Block bitmap at 11009 (+0), Inode bitmap at 11010 (+1)
-  Inode table at 11011-11014 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11015-11264
+  Inode table at 11011-11018 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11019-11264
   Free inodes: 1377-1408
 Group 44: (Blocks 11265-11520)
   Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
-  Inode table at 11267-11270 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11271-11520
+  Inode table at 11267-11274 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11275-11520
   Free inodes: 1409-1440
 Group 45: (Blocks 11521-11776)
   Block bitmap at 11521 (+0), Inode bitmap at 11522 (+1)
-  Inode table at 11523-11526 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11527-11776
+  Inode table at 11523-11530 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11531-11776
   Free inodes: 1441-1472
 Group 46: (Blocks 11777-12032)
   Block bitmap at 11777 (+0), Inode bitmap at 11778 (+1)
-  Inode table at 11779-11782 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 11783-12032
+  Inode table at 11779-11786 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 11787-12032
   Free inodes: 1473-1504
 Group 47: (Blocks 12033-12288)
   Block bitmap at 12033 (+0), Inode bitmap at 12034 (+1)
-  Inode table at 12035-12038 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12039-12288
+  Inode table at 12035-12042 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12043-12288
   Free inodes: 1505-1536
 Group 48: (Blocks 12289-12544)
   Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
-  Inode table at 12291-12294 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12295-12544
+  Inode table at 12291-12298 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12299-12544
   Free inodes: 1537-1568
 Group 49: (Blocks 12545-12800)
   Backup superblock at 12545, Group descriptors at 12546-12550
-  Reserved GDT blocks at 12551-12673
-  Block bitmap at 12674 (+129), Inode bitmap at 12675 (+130)
-  Inode table at 12676-12679 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12680-12800
+  Block bitmap at 12559 (+14), Inode bitmap at 12560 (+15)
+  Inode table at 12551-12558 (+6)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12561-12800
   Free inodes: 1569-1600
 Group 50: (Blocks 12801-13056)
   Block bitmap at 12801 (+0), Inode bitmap at 12802 (+1)
-  Inode table at 12803-12806 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 12807-13056
+  Inode table at 12803-12810 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 12811-13056
   Free inodes: 1601-1632
 Group 51: (Blocks 13057-13312)
   Block bitmap at 13057 (+0), Inode bitmap at 13058 (+1)
-  Inode table at 13059-13062 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13063-13312
+  Inode table at 13059-13066 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13067-13312
   Free inodes: 1633-1664
 Group 52: (Blocks 13313-13568)
   Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
-  Inode table at 13315-13318 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13319-13568
+  Inode table at 13315-13322 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13323-13568
   Free inodes: 1665-1696
 Group 53: (Blocks 13569-13824)
   Block bitmap at 13569 (+0), Inode bitmap at 13570 (+1)
-  Inode table at 13571-13574 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13575-13824
+  Inode table at 13571-13578 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13579-13824
   Free inodes: 1697-1728
 Group 54: (Blocks 13825-14080)
   Block bitmap at 13825 (+0), Inode bitmap at 13826 (+1)
-  Inode table at 13827-13830 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 13831-14080
+  Inode table at 13827-13834 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 13835-14080
   Free inodes: 1729-1760
 Group 55: (Blocks 14081-14336)
   Block bitmap at 14081 (+0), Inode bitmap at 14082 (+1)
-  Inode table at 14083-14086 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14087-14336
+  Inode table at 14083-14090 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14091-14336
   Free inodes: 1761-1792
 Group 56: (Blocks 14337-14592)
   Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
-  Inode table at 14339-14342 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14343-14592
+  Inode table at 14339-14346 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14347-14592
   Free inodes: 1793-1824
 Group 57: (Blocks 14593-14848)
   Block bitmap at 14593 (+0), Inode bitmap at 14594 (+1)
-  Inode table at 14595-14598 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14599-14848
+  Inode table at 14595-14602 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14603-14848
   Free inodes: 1825-1856
 Group 58: (Blocks 14849-15104)
   Block bitmap at 14849 (+0), Inode bitmap at 14850 (+1)
-  Inode table at 14851-14854 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 14855-15104
+  Inode table at 14851-14858 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 14859-15104
   Free inodes: 1857-1888
 Group 59: (Blocks 15105-15360)
   Block bitmap at 15105 (+0), Inode bitmap at 15106 (+1)
-  Inode table at 15107-15110 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15111-15360
+  Inode table at 15107-15114 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15115-15360
   Free inodes: 1889-1920
 Group 60: (Blocks 15361-15616)
   Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
-  Inode table at 15363-15366 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15367-15616
+  Inode table at 15363-15370 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15371-15616
   Free inodes: 1921-1952
 Group 61: (Blocks 15617-15872)
   Block bitmap at 15617 (+0), Inode bitmap at 15618 (+1)
-  Inode table at 15619-15622 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15623-15872
+  Inode table at 15619-15626 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15627-15872
   Free inodes: 1953-1984
 Group 62: (Blocks 15873-16128)
   Block bitmap at 15873 (+0), Inode bitmap at 15874 (+1)
-  Inode table at 15875-15878 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 15879-16128
+  Inode table at 15875-15882 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 15883-16128
   Free inodes: 1985-2016
 Group 63: (Blocks 16129-16384)
   Block bitmap at 16129 (+0), Inode bitmap at 16130 (+1)
-  Inode table at 16131-16134 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16135-16384
+  Inode table at 16131-16138 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16139-16384
   Free inodes: 2017-2048
 Group 64: (Blocks 16385-16640)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16390 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16391-16640
+  Inode table at 16387-16394 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16395-16640
   Free inodes: 2049-2080
 Group 65: (Blocks 16641-16896)
   Block bitmap at 16641 (+0), Inode bitmap at 16642 (+1)
-  Inode table at 16643-16646 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16647-16896
+  Inode table at 16643-16650 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16651-16896
   Free inodes: 2081-2112
 Group 66: (Blocks 16897-17152)
   Block bitmap at 16897 (+0), Inode bitmap at 16898 (+1)
-  Inode table at 16899-16902 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 16903-17152
+  Inode table at 16899-16906 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 16907-17152
   Free inodes: 2113-2144
 Group 67: (Blocks 17153-17408)
   Block bitmap at 17153 (+0), Inode bitmap at 17154 (+1)
-  Inode table at 17155-17158 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17159-17408
+  Inode table at 17155-17162 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17163-17408
   Free inodes: 2145-2176
 Group 68: (Blocks 17409-17664)
   Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
-  Inode table at 17411-17414 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17415-17664
+  Inode table at 17411-17418 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17419-17664
   Free inodes: 2177-2208
 Group 69: (Blocks 17665-17920)
   Block bitmap at 17665 (+0), Inode bitmap at 17666 (+1)
-  Inode table at 17667-17670 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17671-17920
+  Inode table at 17667-17674 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17675-17920
   Free inodes: 2209-2240
 Group 70: (Blocks 17921-18176)
   Block bitmap at 17921 (+0), Inode bitmap at 17922 (+1)
-  Inode table at 17923-17926 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 17927-18176
+  Inode table at 17923-17930 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 17931-18176
   Free inodes: 2241-2272
 Group 71: (Blocks 18177-18432)
   Block bitmap at 18177 (+0), Inode bitmap at 18178 (+1)
-  Inode table at 18179-18182 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18183-18432
+  Inode table at 18179-18186 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18187-18432
   Free inodes: 2273-2304
 Group 72: (Blocks 18433-18688)
   Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
-  Inode table at 18435-18438 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18439-18688
+  Inode table at 18435-18442 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18443-18688
   Free inodes: 2305-2336
 Group 73: (Blocks 18689-18944)
   Block bitmap at 18689 (+0), Inode bitmap at 18690 (+1)
-  Inode table at 18691-18694 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18695-18944
+  Inode table at 18691-18698 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18699-18944
   Free inodes: 2337-2368
 Group 74: (Blocks 18945-19200)
   Block bitmap at 18945 (+0), Inode bitmap at 18946 (+1)
-  Inode table at 18947-18950 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 18951-19200
+  Inode table at 18947-18954 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 18955-19200
   Free inodes: 2369-2400
 Group 75: (Blocks 19201-19456)
   Block bitmap at 19201 (+0), Inode bitmap at 19202 (+1)
-  Inode table at 19203-19206 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19207-19456
+  Inode table at 19203-19210 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19211-19456
   Free inodes: 2401-2432
 Group 76: (Blocks 19457-19712)
   Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
-  Inode table at 19459-19462 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19463-19712
+  Inode table at 19459-19466 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19467-19712
   Free inodes: 2433-2464
 Group 77: (Blocks 19713-19968)
   Block bitmap at 19713 (+0), Inode bitmap at 19714 (+1)
-  Inode table at 19715-19718 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19719-19968
+  Inode table at 19715-19722 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19723-19968
   Free inodes: 2465-2496
 Group 78: (Blocks 19969-20224)
   Block bitmap at 19969 (+0), Inode bitmap at 19970 (+1)
-  Inode table at 19971-19974 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 19975-20224
+  Inode table at 19971-19978 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 19979-20224
   Free inodes: 2497-2528
 Group 79: (Blocks 20225-20480)
   Block bitmap at 20225 (+0), Inode bitmap at 20226 (+1)
-  Inode table at 20227-20230 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 20231-20480
+  Inode table at 20227-20234 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 20235-20480
   Free inodes: 2529-2560
 Group 80: (Blocks 20481-20736)
   Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1)
-  Inode table at 20483-20486 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 20487-20736
+  Inode table at 20483-20490 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 20491-20736
   Free inodes: 2561-2592
 Group 81: (Blocks 20737-20992)
   Backup superblock at 20737, Group descriptors at 20738-20742
-  Reserved GDT blocks at 20743-20865
-  Block bitmap at 20866 (+129), Inode bitmap at 20867 (+130)
-  Inode table at 20868-20871 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 20872-20992
+  Block bitmap at 20752 (+15), Inode bitmap at 20743 (+6)
+  Inode table at 20744-20751 (+7)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 20753-20992
   Free inodes: 2593-2624
 Group 82: (Blocks 20993-21248)
   Block bitmap at 20993 (+0), Inode bitmap at 20994 (+1)
-  Inode table at 20995-20998 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 20999-21248
+  Inode table at 20995-21002 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 21003-21248
   Free inodes: 2625-2656
 Group 83: (Blocks 21249-21504)
   Block bitmap at 21249 (+0), Inode bitmap at 21250 (+1)
-  Inode table at 21251-21254 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 21255-21504
+  Inode table at 21251-21258 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 21259-21504
   Free inodes: 2657-2688
 Group 84: (Blocks 21505-21760)
   Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1)
-  Inode table at 21507-21510 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 21511-21760
+  Inode table at 21507-21514 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 21515-21760
   Free inodes: 2689-2720
 Group 85: (Blocks 21761-22016)
   Block bitmap at 21761 (+0), Inode bitmap at 21762 (+1)
-  Inode table at 21763-21766 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 21767-22016
+  Inode table at 21763-21770 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 21771-22016
   Free inodes: 2721-2752
 Group 86: (Blocks 22017-22272)
   Block bitmap at 22017 (+0), Inode bitmap at 22018 (+1)
-  Inode table at 22019-22022 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 22023-22272
+  Inode table at 22019-22026 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 22027-22272
   Free inodes: 2753-2784
 Group 87: (Blocks 22273-22528)
   Block bitmap at 22273 (+0), Inode bitmap at 22274 (+1)
-  Inode table at 22275-22278 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 22279-22528
+  Inode table at 22275-22282 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 22283-22528
   Free inodes: 2785-2816
 Group 88: (Blocks 22529-22784)
   Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1)
-  Inode table at 22531-22534 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 22535-22784
+  Inode table at 22531-22538 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 22539-22784
   Free inodes: 2817-2848
 Group 89: (Blocks 22785-23040)
   Block bitmap at 22785 (+0), Inode bitmap at 22786 (+1)
-  Inode table at 22787-22790 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 22791-23040
+  Inode table at 22787-22794 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 22795-23040
   Free inodes: 2849-2880
 Group 90: (Blocks 23041-23296)
   Block bitmap at 23041 (+0), Inode bitmap at 23042 (+1)
-  Inode table at 23043-23046 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 23047-23296
+  Inode table at 23043-23050 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 23051-23296
   Free inodes: 2881-2912
 Group 91: (Blocks 23297-23552)
   Block bitmap at 23297 (+0), Inode bitmap at 23298 (+1)
-  Inode table at 23299-23302 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 23303-23552
+  Inode table at 23299-23306 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 23307-23552
   Free inodes: 2913-2944
 Group 92: (Blocks 23553-23808)
   Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1)
-  Inode table at 23555-23558 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 23559-23808
+  Inode table at 23555-23562 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 23563-23808
   Free inodes: 2945-2976
 Group 93: (Blocks 23809-24064)
   Block bitmap at 23809 (+0), Inode bitmap at 23810 (+1)
-  Inode table at 23811-23814 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 23815-24064
+  Inode table at 23811-23818 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 23819-24064
   Free inodes: 2977-3008
 Group 94: (Blocks 24065-24320)
   Block bitmap at 24065 (+0), Inode bitmap at 24066 (+1)
-  Inode table at 24067-24070 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 24071-24320
+  Inode table at 24067-24074 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 24075-24320
   Free inodes: 3009-3040
 Group 95: (Blocks 24321-24576)
   Block bitmap at 24321 (+0), Inode bitmap at 24322 (+1)
-  Inode table at 24323-24326 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 24327-24576
+  Inode table at 24323-24330 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 24331-24576
   Free inodes: 3041-3072
 Group 96: (Blocks 24577-24832)
   Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1)
-  Inode table at 24579-24582 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 24583-24832
+  Inode table at 24579-24586 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 24587-24832
   Free inodes: 3073-3104
 Group 97: (Blocks 24833-25088)
   Block bitmap at 24833 (+0), Inode bitmap at 24834 (+1)
-  Inode table at 24835-24838 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 24839-25088
+  Inode table at 24835-24842 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 24843-25088
   Free inodes: 3105-3136
 Group 98: (Blocks 25089-25344)
   Block bitmap at 25089 (+0), Inode bitmap at 25090 (+1)
-  Inode table at 25091-25094 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 25095-25344
+  Inode table at 25091-25098 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 25099-25344
   Free inodes: 3137-3168
 Group 99: (Blocks 25345-25600)
   Block bitmap at 25345 (+0), Inode bitmap at 25346 (+1)
-  Inode table at 25347-25350 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 25351-25600
+  Inode table at 25347-25354 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 25355-25600
   Free inodes: 3169-3200
 Group 100: (Blocks 25601-25856)
   Block bitmap at 25601 (+0), Inode bitmap at 25602 (+1)
-  Inode table at 25603-25606 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 25607-25856
+  Inode table at 25603-25610 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 25611-25856
   Free inodes: 3201-3232
 Group 101: (Blocks 25857-26112)
   Block bitmap at 25857 (+0), Inode bitmap at 25858 (+1)
-  Inode table at 25859-25862 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 25863-26112
+  Inode table at 25859-25866 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 25867-26112
   Free inodes: 3233-3264
 Group 102: (Blocks 26113-26368)
   Block bitmap at 26113 (+0), Inode bitmap at 26114 (+1)
-  Inode table at 26115-26118 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 26119-26368
+  Inode table at 26115-26122 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 26123-26368
   Free inodes: 3265-3296
 Group 103: (Blocks 26369-26624)
   Block bitmap at 26369 (+0), Inode bitmap at 26370 (+1)
-  Inode table at 26371-26374 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 26375-26624
+  Inode table at 26371-26378 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 26379-26624
   Free inodes: 3297-3328
 Group 104: (Blocks 26625-26880)
   Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1)
-  Inode table at 26627-26630 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 26631-26880
+  Inode table at 26627-26634 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 26635-26880
   Free inodes: 3329-3360
 Group 105: (Blocks 26881-27136)
   Block bitmap at 26881 (+0), Inode bitmap at 26882 (+1)
-  Inode table at 26883-26886 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 26887-27136
+  Inode table at 26883-26890 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 26891-27136
   Free inodes: 3361-3392
 Group 106: (Blocks 27137-27392)
   Block bitmap at 27137 (+0), Inode bitmap at 27138 (+1)
-  Inode table at 27139-27142 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 27143-27392
+  Inode table at 27139-27146 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 27147-27392
   Free inodes: 3393-3424
 Group 107: (Blocks 27393-27648)
   Block bitmap at 27393 (+0), Inode bitmap at 27394 (+1)
-  Inode table at 27395-27398 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 27399-27648
+  Inode table at 27395-27402 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 27403-27648
   Free inodes: 3425-3456
 Group 108: (Blocks 27649-27904)
   Block bitmap at 27649 (+0), Inode bitmap at 27650 (+1)
-  Inode table at 27651-27654 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 27655-27904
+  Inode table at 27651-27658 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 27659-27904
   Free inodes: 3457-3488
 Group 109: (Blocks 27905-28160)
   Block bitmap at 27905 (+0), Inode bitmap at 27906 (+1)
-  Inode table at 27907-27910 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 27911-28160
+  Inode table at 27907-27914 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 27915-28160
   Free inodes: 3489-3520
 Group 110: (Blocks 28161-28416)
   Block bitmap at 28161 (+0), Inode bitmap at 28162 (+1)
-  Inode table at 28163-28166 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 28167-28416
+  Inode table at 28163-28170 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 28171-28416
   Free inodes: 3521-3552
 Group 111: (Blocks 28417-28672)
   Block bitmap at 28417 (+0), Inode bitmap at 28418 (+1)
-  Inode table at 28419-28422 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 28423-28672
+  Inode table at 28419-28426 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 28427-28672
   Free inodes: 3553-3584
 Group 112: (Blocks 28673-28928)
   Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1)
-  Inode table at 28675-28678 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 28679-28928
+  Inode table at 28675-28682 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 28683-28928
   Free inodes: 3585-3616
 Group 113: (Blocks 28929-29184)
   Block bitmap at 28929 (+0), Inode bitmap at 28930 (+1)
-  Inode table at 28931-28934 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 28935-29184
+  Inode table at 28931-28938 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 28939-29184
   Free inodes: 3617-3648
 Group 114: (Blocks 29185-29440)
   Block bitmap at 29185 (+0), Inode bitmap at 29186 (+1)
-  Inode table at 29187-29190 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 29191-29440
+  Inode table at 29187-29194 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 29195-29440
   Free inodes: 3649-3680
 Group 115: (Blocks 29441-29696)
   Block bitmap at 29441 (+0), Inode bitmap at 29442 (+1)
-  Inode table at 29443-29446 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 29447-29696
+  Inode table at 29443-29450 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 29451-29696
   Free inodes: 3681-3712
 Group 116: (Blocks 29697-29952)
   Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1)
-  Inode table at 29699-29702 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 29703-29952
+  Inode table at 29699-29706 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 29707-29952
   Free inodes: 3713-3744
 Group 117: (Blocks 29953-30208)
   Block bitmap at 29953 (+0), Inode bitmap at 29954 (+1)
-  Inode table at 29955-29958 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 29959-30208
+  Inode table at 29955-29962 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 29963-30208
   Free inodes: 3745-3776
 Group 118: (Blocks 30209-30464)
   Block bitmap at 30209 (+0), Inode bitmap at 30210 (+1)
-  Inode table at 30211-30214 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 30215-30464
+  Inode table at 30211-30218 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 30219-30464
   Free inodes: 3777-3808
 Group 119: (Blocks 30465-30720)
   Block bitmap at 30465 (+0), Inode bitmap at 30466 (+1)
-  Inode table at 30467-30470 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 30471-30720
+  Inode table at 30467-30474 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 30475-30720
   Free inodes: 3809-3840
 Group 120: (Blocks 30721-30976)
   Block bitmap at 30721 (+0), Inode bitmap at 30722 (+1)
-  Inode table at 30723-30726 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 30727-30976
+  Inode table at 30723-30730 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 30731-30976
   Free inodes: 3841-3872
 Group 121: (Blocks 30977-31232)
   Block bitmap at 30977 (+0), Inode bitmap at 30978 (+1)
-  Inode table at 30979-30982 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 30983-31232
+  Inode table at 30979-30986 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 30987-31232
   Free inodes: 3873-3904
 Group 122: (Blocks 31233-31488)
   Block bitmap at 31233 (+0), Inode bitmap at 31234 (+1)
-  Inode table at 31235-31238 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 31239-31488
+  Inode table at 31235-31242 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 31243-31488
   Free inodes: 3905-3936
 Group 123: (Blocks 31489-31744)
   Block bitmap at 31489 (+0), Inode bitmap at 31490 (+1)
-  Inode table at 31491-31494 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 31495-31744
+  Inode table at 31491-31498 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 31499-31744
   Free inodes: 3937-3968
 Group 124: (Blocks 31745-32000)
   Block bitmap at 31745 (+0), Inode bitmap at 31746 (+1)
-  Inode table at 31747-31750 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 31751-32000
+  Inode table at 31747-31754 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 31755-32000
   Free inodes: 3969-4000
 Group 125: (Blocks 32001-32256)
   Backup superblock at 32001, Group descriptors at 32002-32006
-  Reserved GDT blocks at 32007-32129
-  Block bitmap at 32130 (+129), Inode bitmap at 32131 (+130)
-  Inode table at 32132-32135 (+131)
-  121 free blocks, 32 free inodes, 0 directories
-  Free blocks: 32136-32256
+  Block bitmap at 32007 (+6), Inode bitmap at 32008 (+7)
+  Inode table at 32009-32016 (+8)
+  240 free blocks, 32 free inodes, 0 directories
+  Free blocks: 32017-32256
   Free inodes: 4001-4032
 Group 126: (Blocks 32257-32512)
   Block bitmap at 32257 (+0), Inode bitmap at 32258 (+1)
-  Inode table at 32259-32262 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 32263-32512
+  Inode table at 32259-32266 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 32267-32512
   Free inodes: 4033-4064
 Group 127: (Blocks 32513-32768)
   Block bitmap at 32513 (+0), Inode bitmap at 32514 (+1)
-  Inode table at 32515-32518 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 32519-32768
+  Inode table at 32515-32522 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 32523-32768
   Free inodes: 4065-4096
 Group 128: (Blocks 32769-33024)
   Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
-  Inode table at 32771-32774 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 32775-33024
+  Inode table at 32771-32778 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 32779-33024
   Free inodes: 4097-4128
 Group 129: (Blocks 33025-33280)
   Block bitmap at 33025 (+0), Inode bitmap at 33026 (+1)
-  Inode table at 33027-33030 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 33031-33280
+  Inode table at 33027-33034 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 33035-33280
   Free inodes: 4129-4160
 Group 130: (Blocks 33281-33536)
   Block bitmap at 33281 (+0), Inode bitmap at 33282 (+1)
-  Inode table at 33283-33286 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 33287-33536
+  Inode table at 33283-33290 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 33291-33536
   Free inodes: 4161-4192
 Group 131: (Blocks 33537-33792)
   Block bitmap at 33537 (+0), Inode bitmap at 33538 (+1)
-  Inode table at 33539-33542 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 33543-33792
+  Inode table at 33539-33546 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 33547-33792
   Free inodes: 4193-4224
 Group 132: (Blocks 33793-34048)
   Block bitmap at 33793 (+0), Inode bitmap at 33794 (+1)
-  Inode table at 33795-33798 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 33799-34048
+  Inode table at 33795-33802 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 33803-34048
   Free inodes: 4225-4256
 Group 133: (Blocks 34049-34304)
   Block bitmap at 34049 (+0), Inode bitmap at 34050 (+1)
-  Inode table at 34051-34054 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 34055-34304
+  Inode table at 34051-34058 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 34059-34304
   Free inodes: 4257-4288
 Group 134: (Blocks 34305-34560)
   Block bitmap at 34305 (+0), Inode bitmap at 34306 (+1)
-  Inode table at 34307-34310 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 34311-34560
+  Inode table at 34307-34314 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 34315-34560
   Free inodes: 4289-4320
 Group 135: (Blocks 34561-34816)
   Block bitmap at 34561 (+0), Inode bitmap at 34562 (+1)
-  Inode table at 34563-34566 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 34567-34816
+  Inode table at 34563-34570 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 34571-34816
   Free inodes: 4321-4352
 Group 136: (Blocks 34817-35072)
   Block bitmap at 34817 (+0), Inode bitmap at 34818 (+1)
-  Inode table at 34819-34822 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 34823-35072
+  Inode table at 34819-34826 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 34827-35072
   Free inodes: 4353-4384
 Group 137: (Blocks 35073-35328)
   Block bitmap at 35073 (+0), Inode bitmap at 35074 (+1)
-  Inode table at 35075-35078 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 35079-35328
+  Inode table at 35075-35082 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 35083-35328
   Free inodes: 4385-4416
 Group 138: (Blocks 35329-35584)
   Block bitmap at 35329 (+0), Inode bitmap at 35330 (+1)
-  Inode table at 35331-35334 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 35335-35584
+  Inode table at 35331-35338 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 35339-35584
   Free inodes: 4417-4448
 Group 139: (Blocks 35585-35840)
   Block bitmap at 35585 (+0), Inode bitmap at 35586 (+1)
-  Inode table at 35587-35590 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 35591-35840
+  Inode table at 35587-35594 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 35595-35840
   Free inodes: 4449-4480
 Group 140: (Blocks 35841-36096)
   Block bitmap at 35841 (+0), Inode bitmap at 35842 (+1)
-  Inode table at 35843-35846 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 35847-36096
+  Inode table at 35843-35850 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 35851-36096
   Free inodes: 4481-4512
 Group 141: (Blocks 36097-36352)
   Block bitmap at 36097 (+0), Inode bitmap at 36098 (+1)
-  Inode table at 36099-36102 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 36103-36352
+  Inode table at 36099-36106 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 36107-36352
   Free inodes: 4513-4544
 Group 142: (Blocks 36353-36608)
   Block bitmap at 36353 (+0), Inode bitmap at 36354 (+1)
-  Inode table at 36355-36358 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 36359-36608
+  Inode table at 36355-36362 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 36363-36608
   Free inodes: 4545-4576
 Group 143: (Blocks 36609-36864)
   Block bitmap at 36609 (+0), Inode bitmap at 36610 (+1)
-  Inode table at 36611-36614 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 36615-36864
+  Inode table at 36611-36618 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 36619-36864
   Free inodes: 4577-4608
 Group 144: (Blocks 36865-37120)
   Block bitmap at 36865 (+0), Inode bitmap at 36866 (+1)
-  Inode table at 36867-36870 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 36871-37120
+  Inode table at 36867-36874 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 36875-37120
   Free inodes: 4609-4640
 Group 145: (Blocks 37121-37376)
   Block bitmap at 37121 (+0), Inode bitmap at 37122 (+1)
-  Inode table at 37123-37126 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 37127-37376
+  Inode table at 37123-37130 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 37131-37376
   Free inodes: 4641-4672
 Group 146: (Blocks 37377-37632)
   Block bitmap at 37377 (+0), Inode bitmap at 37378 (+1)
-  Inode table at 37379-37382 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 37383-37632
+  Inode table at 37379-37386 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 37387-37632
   Free inodes: 4673-4704
 Group 147: (Blocks 37633-37888)
   Block bitmap at 37633 (+0), Inode bitmap at 37634 (+1)
-  Inode table at 37635-37638 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 37639-37888
+  Inode table at 37635-37642 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 37643-37888
   Free inodes: 4705-4736
 Group 148: (Blocks 37889-38144)
   Block bitmap at 37889 (+0), Inode bitmap at 37890 (+1)
-  Inode table at 37891-37894 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 37895-38144
+  Inode table at 37891-37898 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 37899-38144
   Free inodes: 4737-4768
 Group 149: (Blocks 38145-38400)
   Block bitmap at 38145 (+0), Inode bitmap at 38146 (+1)
-  Inode table at 38147-38150 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 38151-38400
+  Inode table at 38147-38154 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 38155-38400
   Free inodes: 4769-4800
 Group 150: (Blocks 38401-38656)
   Block bitmap at 38401 (+0), Inode bitmap at 38402 (+1)
-  Inode table at 38403-38406 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 38407-38656
+  Inode table at 38403-38410 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 38411-38656
   Free inodes: 4801-4832
 Group 151: (Blocks 38657-38912)
   Block bitmap at 38657 (+0), Inode bitmap at 38658 (+1)
-  Inode table at 38659-38662 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 38663-38912
+  Inode table at 38659-38666 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 38667-38912
   Free inodes: 4833-4864
 Group 152: (Blocks 38913-39168)
   Block bitmap at 38913 (+0), Inode bitmap at 38914 (+1)
-  Inode table at 38915-38918 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 38919-39168
+  Inode table at 38915-38922 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 38923-39168
   Free inodes: 4865-4896
 Group 153: (Blocks 39169-39424)
   Block bitmap at 39169 (+0), Inode bitmap at 39170 (+1)
-  Inode table at 39171-39174 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 39175-39424
+  Inode table at 39171-39178 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 39179-39424
   Free inodes: 4897-4928
 Group 154: (Blocks 39425-39680)
   Block bitmap at 39425 (+0), Inode bitmap at 39426 (+1)
-  Inode table at 39427-39430 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 39431-39680
+  Inode table at 39427-39434 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 39435-39680
   Free inodes: 4929-4960
 Group 155: (Blocks 39681-39936)
   Block bitmap at 39681 (+0), Inode bitmap at 39682 (+1)
-  Inode table at 39683-39686 (+2)
-  250 free blocks, 32 free inodes, 0 directories
-  Free blocks: 39687-39936
+  Inode table at 39683-39690 (+2)
+  246 free blocks, 32 free inodes, 0 directories
+  Free blocks: 39691-39936
   Free inodes: 4961-4992
 Group 156: (Blocks 39937-39999)
   Block bitmap at 39937 (+0), Inode bitmap at 39938 (+1)
-  Inode table at 39939-39942 (+2)
-  57 free blocks, 32 free inodes, 0 directories
-  Free blocks: 39943-39999
+  Inode table at 39939-39946 (+2)
+  53 free blocks, 32 free inodes, 0 directories
+  Free blocks: 39947-39999
   Free inodes: 4993-5024
diff --git a/tests/r_move_itable/script b/tests/r_move_itable/script
index 14d918a..6625e82 100644
--- a/tests/r_move_itable/script
+++ b/tests/r_move_itable/script
@@ -14,8 +14,11 @@
 
 dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1
 
-echo mke2fs -q -F -o Linux -b 1024 -g 256 test.img 1024 > $OUT.new
-$MKE2FS -q -F -o Linux -b 1024 -g 256 $TMPFILE 1024 >> $OUT.new 2>&1
+echo mke2fs -q -F -o Linux -b 1024 -g 256 -O ^resize_inode test.img 1024 > $OUT.new
+$MKE2FS -q -F -o Linux -b 1024 -g 256 -O ^resize_inode $TMPFILE 1024 >> $OUT.new 2>&1
+
+echo dumpe2fs test.img >> $OUT.new
+$DUMPE2FS $TMPFILE >> $OUT.new 2>&1
 
 echo resize2fs -p test.img 10000 >> $OUT.new
 $RESIZE2FS -p $TMPFILE 10000 >> $OUT.new 2>&1
diff --git a/tests/r_move_itable_nostride/script b/tests/r_move_itable_nostride/script
index 08940f6..d24df22 100644
--- a/tests/r_move_itable_nostride/script
+++ b/tests/r_move_itable_nostride/script
@@ -1,12 +1,7 @@
-if [ $(uname -s) = "FreeBSD" ]; then
-       # creates a 96GB filesystem
-       echo "$test_name: $DESCRIPTION: skipped for FreeBSD (no sparse files)"
-       return 0
-fi
-
-if [ $(uname -s) = "Darwin" ]; then
+os=$(uname -s)
+if [ "$os" = "Darwin" -o "$os" = "GNU" -o "FreeBSD" ]; then
 	# creates a 96GB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for HFS+ (no sparse files)"
+	echo "$test_name: $test_description: skipped for $os"
 	return 0
 fi
 
diff --git a/tests/r_move_itable_realloc/script b/tests/r_move_itable_realloc/script
index ae875e4..20c26db 100644
--- a/tests/r_move_itable_realloc/script
+++ b/tests/r_move_itable_realloc/script
@@ -1,12 +1,7 @@
-if [ $(uname -s) = "FreeBSD" ]; then
-       # creates a 96GB filesystem
-       echo "$test_name: $DESCRIPTION: skipped for FreeBSD (no sparse files)"
-       return 0
-fi
-
-if [ $(uname -s) = "Darwin" ]; then
+os=$(uname -s)
+if [ "$os" = "Darwin" -o "$os" = "GNU" -o "FreeBSD" ]; then
 	# creates a 96GB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for HFS+ (no sparse files)"
+	echo "$test_name: $test_description: skipped: skipped for $os"
 	return 0
 fi
 
diff --git a/tests/r_resize_inode/expect b/tests/r_resize_inode/expect
index ba1647e..6756580 100644
--- a/tests/r_resize_inode/expect
+++ b/tests/r_resize_inode/expect
@@ -1,6 +1,151 @@
 mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 16384
-resize2fs test.img 65536
+dumpe2fs test.img
+Filesystem volume name:   <none>
+Last mounted on:          <not available>
+Filesystem magic number:  0xEF53
+Filesystem revision #:    1 (dynamic)
+Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
+Default mount options:    (none)
+Filesystem state:         clean
+Errors behavior:          Continue
+Filesystem OS type:       Linux
+Inode count:              4096
+Block count:              16384
+Reserved block count:     819
+Overhead clusters:        2605
+Free blocks:              13765
+Free inodes:              4085
+First block:              1
+Block size:               1024
+Fragment size:            1024
+Reserved GDT blocks:      256
+Blocks per group:         1024
+Fragments per group:      1024
+Inodes per group:         256
+Inode blocks per group:   64
+Mount count:              0
+Check interval:           15552000 (6 months)
+Reserved blocks uid:      0
+Reserved blocks gid:      0
+First inode:              11
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
+Default directory hash:   half_md4
+
+
+Group 0: (Blocks 1-1024)
+  Primary superblock at 1, Group descriptors at 2-2
+  Reserved GDT blocks at 3-258
+  Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
+  Inode table at 261-324 (+260)
+  686 free blocks, 245 free inodes, 2 directories
+  Free blocks: 339-1024
+  Free inodes: 12-256
+Group 1: (Blocks 1025-2048)
+  Backup superblock at 1025, Group descriptors at 1026-1026
+  Reserved GDT blocks at 1027-1282
+  Block bitmap at 1283 (+258), Inode bitmap at 1284 (+259)
+  Inode table at 1285-1348 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 1349-2048
+  Free inodes: 257-512
+Group 2: (Blocks 2049-3072)
+  Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
+  Inode table at 2051-2114 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 2115-3072
+  Free inodes: 513-768
+Group 3: (Blocks 3073-4096)
+  Backup superblock at 3073, Group descriptors at 3074-3074
+  Reserved GDT blocks at 3075-3330
+  Block bitmap at 3331 (+258), Inode bitmap at 3332 (+259)
+  Inode table at 3333-3396 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 3397-4096
+  Free inodes: 769-1024
+Group 4: (Blocks 4097-5120)
+  Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
+  Inode table at 4099-4162 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 4163-5120
+  Free inodes: 1025-1280
+Group 5: (Blocks 5121-6144)
+  Backup superblock at 5121, Group descriptors at 5122-5122
+  Reserved GDT blocks at 5123-5378
+  Block bitmap at 5379 (+258), Inode bitmap at 5380 (+259)
+  Inode table at 5381-5444 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 5445-6144
+  Free inodes: 1281-1536
+Group 6: (Blocks 6145-7168)
+  Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
+  Inode table at 6147-6210 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 6211-7168
+  Free inodes: 1537-1792
+Group 7: (Blocks 7169-8192)
+  Backup superblock at 7169, Group descriptors at 7170-7170
+  Reserved GDT blocks at 7171-7426
+  Block bitmap at 7427 (+258), Inode bitmap at 7428 (+259)
+  Inode table at 7429-7492 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 7493-8192
+  Free inodes: 1793-2048
+Group 8: (Blocks 8193-9216)
+  Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
+  Inode table at 8195-8258 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 8259-9216
+  Free inodes: 2049-2304
+Group 9: (Blocks 9217-10240)
+  Backup superblock at 9217, Group descriptors at 9218-9218
+  Reserved GDT blocks at 9219-9474
+  Block bitmap at 9475 (+258), Inode bitmap at 9476 (+259)
+  Inode table at 9477-9540 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 9541-10240
+  Free inodes: 2305-2560
+Group 10: (Blocks 10241-11264)
+  Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
+  Inode table at 10243-10306 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 10307-11264
+  Free inodes: 2561-2816
+Group 11: (Blocks 11265-12288)
+  Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
+  Inode table at 11267-11330 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 11331-12288
+  Free inodes: 2817-3072
+Group 12: (Blocks 12289-13312)
+  Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
+  Inode table at 12291-12354 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 12355-13312
+  Free inodes: 3073-3328
+Group 13: (Blocks 13313-14336)
+  Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
+  Inode table at 13315-13378 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 13379-14336
+  Free inodes: 3329-3584
+Group 14: (Blocks 14337-15360)
+  Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
+  Inode table at 14339-14402 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 14403-15360
+  Free inodes: 3585-3840
+Group 15: (Blocks 15361-16383)
+  Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
+  Inode table at 15363-15426 (+2)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 15427-16383
+  Free inodes: 3841-4096
+resize2fs -p test.img 65536
 Resizing the filesystem on test.img to 65536 (1k) blocks.
+Begin pass 1 (max = 48)
+Extending the inode table     ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 The filesystem on test.img is now 65536 (1k) blocks long.
 
 Pass 1: Checking inodes, blocks, and sizes
@@ -8,7 +153,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/16384 files (0.0% non-contiguous), 4513/65536 blocks
+test_filesys: 11/16384 files (0.0% non-contiguous), 6561/65536 blocks
 Exit status is 0
 dumpe2fs test.img
 Filesystem volume name:   <none>
@@ -23,7 +168,7 @@
 Inode count:              16384
 Block count:              65536
 Reserved block count:     3276
-Free blocks:              61023
+Free blocks:              58975
 Free inodes:              16373
 First block:              1
 Block size:               1024
@@ -32,13 +177,15 @@
 Blocks per group:         1024
 Fragments per group:      1024
 Inodes per group:         256
-Inode blocks per group:   32
+Inode blocks per group:   64
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -46,408 +193,847 @@
   Primary superblock at 1, Group descriptors at 2-3
   Reserved GDT blocks at 4-258
   Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
-  Inode table at 261-292 (+260)
-  718 free blocks, 245 free inodes, 2 directories
-  Free blocks: 307-1024
+  Inode table at 261-324 (+260)
+  686 free blocks, 245 free inodes, 2 directories
+  Free blocks: 339-1024
   Free inodes: 12-256
 Group 1: (Blocks 1025-2048)
   Backup superblock at 1025, Group descriptors at 1026-1027
   Reserved GDT blocks at 1028-1282
   Block bitmap at 1283 (+258), Inode bitmap at 1284 (+259)
-  Inode table at 1285-1316 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 1317-2048
+  Inode table at 1285-1348 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 1349-2048
   Free inodes: 257-512
 Group 2: (Blocks 2049-3072)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2082 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 2083-3072
+  Inode table at 2051-2114 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 2115-3072
   Free inodes: 513-768
 Group 3: (Blocks 3073-4096)
   Backup superblock at 3073, Group descriptors at 3074-3075
   Reserved GDT blocks at 3076-3330
   Block bitmap at 3331 (+258), Inode bitmap at 3332 (+259)
-  Inode table at 3333-3364 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 3365-4096
+  Inode table at 3333-3396 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 3397-4096
   Free inodes: 769-1024
 Group 4: (Blocks 4097-5120)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4130 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 4131-5120
+  Inode table at 4099-4162 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 4163-5120
   Free inodes: 1025-1280
 Group 5: (Blocks 5121-6144)
   Backup superblock at 5121, Group descriptors at 5122-5123
   Reserved GDT blocks at 5124-5378
   Block bitmap at 5379 (+258), Inode bitmap at 5380 (+259)
-  Inode table at 5381-5412 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 5413-6144
+  Inode table at 5381-5444 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 5445-6144
   Free inodes: 1281-1536
 Group 6: (Blocks 6145-7168)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6178 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 6179-7168
+  Inode table at 6147-6210 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 6211-7168
   Free inodes: 1537-1792
 Group 7: (Blocks 7169-8192)
   Backup superblock at 7169, Group descriptors at 7170-7171
   Reserved GDT blocks at 7172-7426
   Block bitmap at 7427 (+258), Inode bitmap at 7428 (+259)
-  Inode table at 7429-7460 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 7461-8192
+  Inode table at 7429-7492 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 7493-8192
   Free inodes: 1793-2048
 Group 8: (Blocks 8193-9216)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8226 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 8227-9216
+  Inode table at 8195-8258 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 8259-9216
   Free inodes: 2049-2304
 Group 9: (Blocks 9217-10240)
   Backup superblock at 9217, Group descriptors at 9218-9219
   Reserved GDT blocks at 9220-9474
   Block bitmap at 9475 (+258), Inode bitmap at 9476 (+259)
-  Inode table at 9477-9508 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 9509-10240
+  Inode table at 9477-9540 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 9541-10240
   Free inodes: 2305-2560
 Group 10: (Blocks 10241-11264)
   Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
-  Inode table at 10243-10274 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 10275-11264
+  Inode table at 10243-10306 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 10307-11264
   Free inodes: 2561-2816
 Group 11: (Blocks 11265-12288)
   Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
-  Inode table at 11267-11298 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 11299-12288
+  Inode table at 11267-11330 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 11331-12288
   Free inodes: 2817-3072
 Group 12: (Blocks 12289-13312)
   Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
-  Inode table at 12291-12322 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 12323-13312
+  Inode table at 12291-12354 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 12355-13312
   Free inodes: 3073-3328
 Group 13: (Blocks 13313-14336)
   Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
-  Inode table at 13315-13346 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 13347-14336
+  Inode table at 13315-13378 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 13379-14336
   Free inodes: 3329-3584
 Group 14: (Blocks 14337-15360)
   Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
-  Inode table at 14339-14370 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 14371-15360
+  Inode table at 14339-14402 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 14403-15360
   Free inodes: 3585-3840
 Group 15: (Blocks 15361-16384)
   Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
-  Inode table at 15363-15394 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 15395-16384
+  Inode table at 15363-15426 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 15427-16384
   Free inodes: 3841-4096
 Group 16: (Blocks 16385-17408)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16418 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 16419-17408
+  Inode table at 16387-16450 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 16451-17408
   Free inodes: 4097-4352
 Group 17: (Blocks 17409-18432)
   Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
-  Inode table at 17411-17442 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 17443-18432
+  Inode table at 17411-17474 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 17475-18432
   Free inodes: 4353-4608
 Group 18: (Blocks 18433-19456)
   Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
-  Inode table at 18435-18466 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 18467-19456
+  Inode table at 18435-18498 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 18499-19456
   Free inodes: 4609-4864
 Group 19: (Blocks 19457-20480)
   Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
-  Inode table at 19459-19490 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 19491-20480
+  Inode table at 19459-19522 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 19523-20480
   Free inodes: 4865-5120
 Group 20: (Blocks 20481-21504)
   Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1)
-  Inode table at 20483-20514 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 20515-21504
+  Inode table at 20483-20546 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 20547-21504
   Free inodes: 5121-5376
 Group 21: (Blocks 21505-22528)
   Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1)
-  Inode table at 21507-21538 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 21539-22528
+  Inode table at 21507-21570 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 21571-22528
   Free inodes: 5377-5632
 Group 22: (Blocks 22529-23552)
   Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1)
-  Inode table at 22531-22562 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 22563-23552
+  Inode table at 22531-22594 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 22595-23552
   Free inodes: 5633-5888
 Group 23: (Blocks 23553-24576)
   Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1)
-  Inode table at 23555-23586 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 23587-24576
+  Inode table at 23555-23618 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 23619-24576
   Free inodes: 5889-6144
 Group 24: (Blocks 24577-25600)
   Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1)
-  Inode table at 24579-24610 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 24611-25600
+  Inode table at 24579-24642 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 24643-25600
   Free inodes: 6145-6400
 Group 25: (Blocks 25601-26624)
   Backup superblock at 25601, Group descriptors at 25602-25603
   Reserved GDT blocks at 25604-25858
   Block bitmap at 25859 (+258), Inode bitmap at 25860 (+259)
-  Inode table at 25861-25892 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 25893-26624
+  Inode table at 25861-25924 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 25925-26624
   Free inodes: 6401-6656
 Group 26: (Blocks 26625-27648)
   Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1)
-  Inode table at 26627-26658 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 26659-27648
+  Inode table at 26627-26690 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 26691-27648
   Free inodes: 6657-6912
 Group 27: (Blocks 27649-28672)
   Backup superblock at 27649, Group descriptors at 27650-27651
   Reserved GDT blocks at 27652-27906
   Block bitmap at 27907 (+258), Inode bitmap at 27908 (+259)
-  Inode table at 27909-27940 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 27941-28672
+  Inode table at 27909-27972 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 27973-28672
   Free inodes: 6913-7168
 Group 28: (Blocks 28673-29696)
   Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1)
-  Inode table at 28675-28706 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 28707-29696
+  Inode table at 28675-28738 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 28739-29696
   Free inodes: 7169-7424
 Group 29: (Blocks 29697-30720)
   Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1)
-  Inode table at 29699-29730 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 29731-30720
+  Inode table at 29699-29762 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 29763-30720
   Free inodes: 7425-7680
 Group 30: (Blocks 30721-31744)
   Block bitmap at 30721 (+0), Inode bitmap at 30722 (+1)
-  Inode table at 30723-30754 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 30755-31744
+  Inode table at 30723-30786 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 30787-31744
   Free inodes: 7681-7936
 Group 31: (Blocks 31745-32768)
   Block bitmap at 31745 (+0), Inode bitmap at 31746 (+1)
-  Inode table at 31747-31778 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 31779-32768
+  Inode table at 31747-31810 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 31811-32768
   Free inodes: 7937-8192
 Group 32: (Blocks 32769-33792)
   Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
-  Inode table at 32771-32802 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 32803-33792
+  Inode table at 32771-32834 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 32835-33792
   Free inodes: 8193-8448
 Group 33: (Blocks 33793-34816)
   Block bitmap at 33793 (+0), Inode bitmap at 33794 (+1)
-  Inode table at 33795-33826 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 33827-34816
+  Inode table at 33795-33858 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 33859-34816
   Free inodes: 8449-8704
 Group 34: (Blocks 34817-35840)
   Block bitmap at 34817 (+0), Inode bitmap at 34818 (+1)
-  Inode table at 34819-34850 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 34851-35840
+  Inode table at 34819-34882 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 34883-35840
   Free inodes: 8705-8960
 Group 35: (Blocks 35841-36864)
   Block bitmap at 35841 (+0), Inode bitmap at 35842 (+1)
-  Inode table at 35843-35874 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 35875-36864
+  Inode table at 35843-35906 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 35907-36864
   Free inodes: 8961-9216
 Group 36: (Blocks 36865-37888)
   Block bitmap at 36865 (+0), Inode bitmap at 36866 (+1)
-  Inode table at 36867-36898 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 36899-37888
+  Inode table at 36867-36930 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 36931-37888
   Free inodes: 9217-9472
 Group 37: (Blocks 37889-38912)
   Block bitmap at 37889 (+0), Inode bitmap at 37890 (+1)
-  Inode table at 37891-37922 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 37923-38912
+  Inode table at 37891-37954 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 37955-38912
   Free inodes: 9473-9728
 Group 38: (Blocks 38913-39936)
   Block bitmap at 38913 (+0), Inode bitmap at 38914 (+1)
-  Inode table at 38915-38946 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 38947-39936
+  Inode table at 38915-38978 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 38979-39936
   Free inodes: 9729-9984
 Group 39: (Blocks 39937-40960)
   Block bitmap at 39937 (+0), Inode bitmap at 39938 (+1)
-  Inode table at 39939-39970 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 39971-40960
+  Inode table at 39939-40002 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 40003-40960
   Free inodes: 9985-10240
 Group 40: (Blocks 40961-41984)
   Block bitmap at 40961 (+0), Inode bitmap at 40962 (+1)
-  Inode table at 40963-40994 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 40995-41984
+  Inode table at 40963-41026 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 41027-41984
   Free inodes: 10241-10496
 Group 41: (Blocks 41985-43008)
   Block bitmap at 41985 (+0), Inode bitmap at 41986 (+1)
-  Inode table at 41987-42018 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 42019-43008
+  Inode table at 41987-42050 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 42051-43008
   Free inodes: 10497-10752
 Group 42: (Blocks 43009-44032)
   Block bitmap at 43009 (+0), Inode bitmap at 43010 (+1)
-  Inode table at 43011-43042 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 43043-44032
+  Inode table at 43011-43074 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 43075-44032
   Free inodes: 10753-11008
 Group 43: (Blocks 44033-45056)
   Block bitmap at 44033 (+0), Inode bitmap at 44034 (+1)
-  Inode table at 44035-44066 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 44067-45056
+  Inode table at 44035-44098 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 44099-45056
   Free inodes: 11009-11264
 Group 44: (Blocks 45057-46080)
   Block bitmap at 45057 (+0), Inode bitmap at 45058 (+1)
-  Inode table at 45059-45090 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 45091-46080
+  Inode table at 45059-45122 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 45123-46080
   Free inodes: 11265-11520
 Group 45: (Blocks 46081-47104)
   Block bitmap at 46081 (+0), Inode bitmap at 46082 (+1)
-  Inode table at 46083-46114 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 46115-47104
+  Inode table at 46083-46146 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 46147-47104
   Free inodes: 11521-11776
 Group 46: (Blocks 47105-48128)
   Block bitmap at 47105 (+0), Inode bitmap at 47106 (+1)
-  Inode table at 47107-47138 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 47139-48128
+  Inode table at 47107-47170 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 47171-48128
   Free inodes: 11777-12032
 Group 47: (Blocks 48129-49152)
   Block bitmap at 48129 (+0), Inode bitmap at 48130 (+1)
-  Inode table at 48131-48162 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 48163-49152
+  Inode table at 48131-48194 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 48195-49152
   Free inodes: 12033-12288
 Group 48: (Blocks 49153-50176)
   Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
-  Inode table at 49155-49186 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 49187-50176
+  Inode table at 49155-49218 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 49219-50176
   Free inodes: 12289-12544
 Group 49: (Blocks 50177-51200)
   Backup superblock at 50177, Group descriptors at 50178-50179
   Reserved GDT blocks at 50180-50434
   Block bitmap at 50435 (+258), Inode bitmap at 50436 (+259)
-  Inode table at 50437-50468 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 50469-51200
+  Inode table at 50437-50500 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 50501-51200
   Free inodes: 12545-12800
 Group 50: (Blocks 51201-52224)
   Block bitmap at 51201 (+0), Inode bitmap at 51202 (+1)
-  Inode table at 51203-51234 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 51235-52224
+  Inode table at 51203-51266 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 51267-52224
   Free inodes: 12801-13056
 Group 51: (Blocks 52225-53248)
   Block bitmap at 52225 (+0), Inode bitmap at 52226 (+1)
-  Inode table at 52227-52258 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 52259-53248
+  Inode table at 52227-52290 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 52291-53248
   Free inodes: 13057-13312
 Group 52: (Blocks 53249-54272)
   Block bitmap at 53249 (+0), Inode bitmap at 53250 (+1)
-  Inode table at 53251-53282 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 53283-54272
+  Inode table at 53251-53314 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 53315-54272
   Free inodes: 13313-13568
 Group 53: (Blocks 54273-55296)
   Block bitmap at 54273 (+0), Inode bitmap at 54274 (+1)
-  Inode table at 54275-54306 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 54307-55296
+  Inode table at 54275-54338 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 54339-55296
   Free inodes: 13569-13824
 Group 54: (Blocks 55297-56320)
   Block bitmap at 55297 (+0), Inode bitmap at 55298 (+1)
-  Inode table at 55299-55330 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 55331-56320
+  Inode table at 55299-55362 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 55363-56320
   Free inodes: 13825-14080
 Group 55: (Blocks 56321-57344)
   Block bitmap at 56321 (+0), Inode bitmap at 56322 (+1)
-  Inode table at 56323-56354 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 56355-57344
+  Inode table at 56323-56386 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 56387-57344
   Free inodes: 14081-14336
 Group 56: (Blocks 57345-58368)
   Block bitmap at 57345 (+0), Inode bitmap at 57346 (+1)
-  Inode table at 57347-57378 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 57379-58368
+  Inode table at 57347-57410 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 57411-58368
   Free inodes: 14337-14592
 Group 57: (Blocks 58369-59392)
   Block bitmap at 58369 (+0), Inode bitmap at 58370 (+1)
-  Inode table at 58371-58402 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 58403-59392
+  Inode table at 58371-58434 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 58435-59392
   Free inodes: 14593-14848
 Group 58: (Blocks 59393-60416)
   Block bitmap at 59393 (+0), Inode bitmap at 59394 (+1)
-  Inode table at 59395-59426 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 59427-60416
+  Inode table at 59395-59458 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 59459-60416
   Free inodes: 14849-15104
 Group 59: (Blocks 60417-61440)
   Block bitmap at 60417 (+0), Inode bitmap at 60418 (+1)
-  Inode table at 60419-60450 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 60451-61440
+  Inode table at 60419-60482 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 60483-61440
   Free inodes: 15105-15360
 Group 60: (Blocks 61441-62464)
   Block bitmap at 61441 (+0), Inode bitmap at 61442 (+1)
-  Inode table at 61443-61474 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 61475-62464
+  Inode table at 61443-61506 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 61507-62464
   Free inodes: 15361-15616
 Group 61: (Blocks 62465-63488)
   Block bitmap at 62465 (+0), Inode bitmap at 62466 (+1)
-  Inode table at 62467-62498 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 62499-63488
+  Inode table at 62467-62530 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 62531-63488
   Free inodes: 15617-15872
 Group 62: (Blocks 63489-64512)
   Block bitmap at 63489 (+0), Inode bitmap at 63490 (+1)
-  Inode table at 63491-63522 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 63523-64512
+  Inode table at 63491-63554 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 63555-64512
   Free inodes: 15873-16128
 Group 63: (Blocks 64513-65535)
   Block bitmap at 64513 (+0), Inode bitmap at 64514 (+1)
-  Inode table at 64515-64546 (+2)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 64547-65535
+  Inode table at 64515-64578 (+2)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 64579-65535
   Free inodes: 16129-16384
 --------------------------------
 mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 65536
-resize2fs test.img 16384
+dumpe2fs test.img
+Filesystem volume name:   <none>
+Last mounted on:          <not available>
+Filesystem magic number:  0xEF53
+Filesystem revision #:    1 (dynamic)
+Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
+Default mount options:    (none)
+Filesystem state:         clean
+Errors behavior:          Continue
+Filesystem OS type:       Linux
+Inode count:              16384
+Block count:              65536
+Reserved block count:     3276
+Overhead clusters:        6556
+Free blocks:              58966
+Free inodes:              16373
+First block:              1
+Block size:               1024
+Fragment size:            1024
+Reserved GDT blocks:      256
+Blocks per group:         1024
+Fragments per group:      1024
+Inodes per group:         256
+Inode blocks per group:   64
+Mount count:              0
+Check interval:           15552000 (6 months)
+Reserved blocks uid:      0
+Reserved blocks gid:      0
+First inode:              11
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
+Default directory hash:   half_md4
+
+
+Group 0: (Blocks 1-1024)
+  Primary superblock at 1, Group descriptors at 2-3
+  Reserved GDT blocks at 4-259
+  Block bitmap at 260 (+259), Inode bitmap at 261 (+260)
+  Inode table at 262-325 (+261)
+  685 free blocks, 245 free inodes, 2 directories
+  Free blocks: 340-1024
+  Free inodes: 12-256
+Group 1: (Blocks 1025-2048)
+  Backup superblock at 1025, Group descriptors at 1026-1027
+  Reserved GDT blocks at 1028-1283
+  Block bitmap at 1284 (+259), Inode bitmap at 1285 (+260)
+  Inode table at 1286-1349 (+261)
+  699 free blocks, 256 free inodes, 0 directories
+  Free blocks: 1350-2048
+  Free inodes: 257-512
+Group 2: (Blocks 2049-3072)
+  Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
+  Inode table at 2051-2114 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 2115-3072
+  Free inodes: 513-768
+Group 3: (Blocks 3073-4096)
+  Backup superblock at 3073, Group descriptors at 3074-3075
+  Reserved GDT blocks at 3076-3331
+  Block bitmap at 3332 (+259), Inode bitmap at 3333 (+260)
+  Inode table at 3334-3397 (+261)
+  699 free blocks, 256 free inodes, 0 directories
+  Free blocks: 3398-4096
+  Free inodes: 769-1024
+Group 4: (Blocks 4097-5120)
+  Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
+  Inode table at 4099-4162 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 4163-5120
+  Free inodes: 1025-1280
+Group 5: (Blocks 5121-6144)
+  Backup superblock at 5121, Group descriptors at 5122-5123
+  Reserved GDT blocks at 5124-5379
+  Block bitmap at 5380 (+259), Inode bitmap at 5381 (+260)
+  Inode table at 5382-5445 (+261)
+  699 free blocks, 256 free inodes, 0 directories
+  Free blocks: 5446-6144
+  Free inodes: 1281-1536
+Group 6: (Blocks 6145-7168)
+  Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
+  Inode table at 6147-6210 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 6211-7168
+  Free inodes: 1537-1792
+Group 7: (Blocks 7169-8192)
+  Backup superblock at 7169, Group descriptors at 7170-7171
+  Reserved GDT blocks at 7172-7427
+  Block bitmap at 7428 (+259), Inode bitmap at 7429 (+260)
+  Inode table at 7430-7493 (+261)
+  699 free blocks, 256 free inodes, 0 directories
+  Free blocks: 7494-8192
+  Free inodes: 1793-2048
+Group 8: (Blocks 8193-9216)
+  Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
+  Inode table at 8195-8258 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 8259-9216
+  Free inodes: 2049-2304
+Group 9: (Blocks 9217-10240)
+  Backup superblock at 9217, Group descriptors at 9218-9219
+  Reserved GDT blocks at 9220-9475
+  Block bitmap at 9476 (+259), Inode bitmap at 9477 (+260)
+  Inode table at 9478-9541 (+261)
+  699 free blocks, 256 free inodes, 0 directories
+  Free blocks: 9542-10240
+  Free inodes: 2305-2560
+Group 10: (Blocks 10241-11264)
+  Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
+  Inode table at 10243-10306 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 10307-11264
+  Free inodes: 2561-2816
+Group 11: (Blocks 11265-12288)
+  Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
+  Inode table at 11267-11330 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 11331-12288
+  Free inodes: 2817-3072
+Group 12: (Blocks 12289-13312)
+  Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
+  Inode table at 12291-12354 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 12355-13312
+  Free inodes: 3073-3328
+Group 13: (Blocks 13313-14336)
+  Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
+  Inode table at 13315-13378 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 13379-14336
+  Free inodes: 3329-3584
+Group 14: (Blocks 14337-15360)
+  Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
+  Inode table at 14339-14402 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 14403-15360
+  Free inodes: 3585-3840
+Group 15: (Blocks 15361-16384)
+  Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
+  Inode table at 15363-15426 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 15427-16384
+  Free inodes: 3841-4096
+Group 16: (Blocks 16385-17408)
+  Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
+  Inode table at 16387-16450 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 16451-17408
+  Free inodes: 4097-4352
+Group 17: (Blocks 17409-18432)
+  Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
+  Inode table at 17411-17474 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 17475-18432
+  Free inodes: 4353-4608
+Group 18: (Blocks 18433-19456)
+  Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
+  Inode table at 18435-18498 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 18499-19456
+  Free inodes: 4609-4864
+Group 19: (Blocks 19457-20480)
+  Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
+  Inode table at 19459-19522 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 19523-20480
+  Free inodes: 4865-5120
+Group 20: (Blocks 20481-21504)
+  Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1)
+  Inode table at 20483-20546 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 20547-21504
+  Free inodes: 5121-5376
+Group 21: (Blocks 21505-22528)
+  Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1)
+  Inode table at 21507-21570 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 21571-22528
+  Free inodes: 5377-5632
+Group 22: (Blocks 22529-23552)
+  Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1)
+  Inode table at 22531-22594 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 22595-23552
+  Free inodes: 5633-5888
+Group 23: (Blocks 23553-24576)
+  Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1)
+  Inode table at 23555-23618 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 23619-24576
+  Free inodes: 5889-6144
+Group 24: (Blocks 24577-25600)
+  Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1)
+  Inode table at 24579-24642 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 24643-25600
+  Free inodes: 6145-6400
+Group 25: (Blocks 25601-26624)
+  Backup superblock at 25601, Group descriptors at 25602-25603
+  Reserved GDT blocks at 25604-25859
+  Block bitmap at 25860 (+259), Inode bitmap at 25861 (+260)
+  Inode table at 25862-25925 (+261)
+  699 free blocks, 256 free inodes, 0 directories
+  Free blocks: 25926-26624
+  Free inodes: 6401-6656
+Group 26: (Blocks 26625-27648)
+  Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1)
+  Inode table at 26627-26690 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 26691-27648
+  Free inodes: 6657-6912
+Group 27: (Blocks 27649-28672)
+  Backup superblock at 27649, Group descriptors at 27650-27651
+  Reserved GDT blocks at 27652-27907
+  Block bitmap at 27908 (+259), Inode bitmap at 27909 (+260)
+  Inode table at 27910-27973 (+261)
+  699 free blocks, 256 free inodes, 0 directories
+  Free blocks: 27974-28672
+  Free inodes: 6913-7168
+Group 28: (Blocks 28673-29696)
+  Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1)
+  Inode table at 28675-28738 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 28739-29696
+  Free inodes: 7169-7424
+Group 29: (Blocks 29697-30720)
+  Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1)
+  Inode table at 29699-29762 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 29763-30720
+  Free inodes: 7425-7680
+Group 30: (Blocks 30721-31744)
+  Block bitmap at 30721 (+0), Inode bitmap at 30722 (+1)
+  Inode table at 30723-30786 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 30787-31744
+  Free inodes: 7681-7936
+Group 31: (Blocks 31745-32768)
+  Block bitmap at 31745 (+0), Inode bitmap at 31746 (+1)
+  Inode table at 31747-31810 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 31811-32768
+  Free inodes: 7937-8192
+Group 32: (Blocks 32769-33792)
+  Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
+  Inode table at 32771-32834 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 32835-33792
+  Free inodes: 8193-8448
+Group 33: (Blocks 33793-34816)
+  Block bitmap at 33793 (+0), Inode bitmap at 33794 (+1)
+  Inode table at 33795-33858 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 33859-34816
+  Free inodes: 8449-8704
+Group 34: (Blocks 34817-35840)
+  Block bitmap at 34817 (+0), Inode bitmap at 34818 (+1)
+  Inode table at 34819-34882 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 34883-35840
+  Free inodes: 8705-8960
+Group 35: (Blocks 35841-36864)
+  Block bitmap at 35841 (+0), Inode bitmap at 35842 (+1)
+  Inode table at 35843-35906 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 35907-36864
+  Free inodes: 8961-9216
+Group 36: (Blocks 36865-37888)
+  Block bitmap at 36865 (+0), Inode bitmap at 36866 (+1)
+  Inode table at 36867-36930 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 36931-37888
+  Free inodes: 9217-9472
+Group 37: (Blocks 37889-38912)
+  Block bitmap at 37889 (+0), Inode bitmap at 37890 (+1)
+  Inode table at 37891-37954 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 37955-38912
+  Free inodes: 9473-9728
+Group 38: (Blocks 38913-39936)
+  Block bitmap at 38913 (+0), Inode bitmap at 38914 (+1)
+  Inode table at 38915-38978 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 38979-39936
+  Free inodes: 9729-9984
+Group 39: (Blocks 39937-40960)
+  Block bitmap at 39937 (+0), Inode bitmap at 39938 (+1)
+  Inode table at 39939-40002 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 40003-40960
+  Free inodes: 9985-10240
+Group 40: (Blocks 40961-41984)
+  Block bitmap at 40961 (+0), Inode bitmap at 40962 (+1)
+  Inode table at 40963-41026 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 41027-41984
+  Free inodes: 10241-10496
+Group 41: (Blocks 41985-43008)
+  Block bitmap at 41985 (+0), Inode bitmap at 41986 (+1)
+  Inode table at 41987-42050 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 42051-43008
+  Free inodes: 10497-10752
+Group 42: (Blocks 43009-44032)
+  Block bitmap at 43009 (+0), Inode bitmap at 43010 (+1)
+  Inode table at 43011-43074 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 43075-44032
+  Free inodes: 10753-11008
+Group 43: (Blocks 44033-45056)
+  Block bitmap at 44033 (+0), Inode bitmap at 44034 (+1)
+  Inode table at 44035-44098 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 44099-45056
+  Free inodes: 11009-11264
+Group 44: (Blocks 45057-46080)
+  Block bitmap at 45057 (+0), Inode bitmap at 45058 (+1)
+  Inode table at 45059-45122 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 45123-46080
+  Free inodes: 11265-11520
+Group 45: (Blocks 46081-47104)
+  Block bitmap at 46081 (+0), Inode bitmap at 46082 (+1)
+  Inode table at 46083-46146 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 46147-47104
+  Free inodes: 11521-11776
+Group 46: (Blocks 47105-48128)
+  Block bitmap at 47105 (+0), Inode bitmap at 47106 (+1)
+  Inode table at 47107-47170 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 47171-48128
+  Free inodes: 11777-12032
+Group 47: (Blocks 48129-49152)
+  Block bitmap at 48129 (+0), Inode bitmap at 48130 (+1)
+  Inode table at 48131-48194 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 48195-49152
+  Free inodes: 12033-12288
+Group 48: (Blocks 49153-50176)
+  Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
+  Inode table at 49155-49218 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 49219-50176
+  Free inodes: 12289-12544
+Group 49: (Blocks 50177-51200)
+  Backup superblock at 50177, Group descriptors at 50178-50179
+  Reserved GDT blocks at 50180-50435
+  Block bitmap at 50436 (+259), Inode bitmap at 50437 (+260)
+  Inode table at 50438-50501 (+261)
+  699 free blocks, 256 free inodes, 0 directories
+  Free blocks: 50502-51200
+  Free inodes: 12545-12800
+Group 50: (Blocks 51201-52224)
+  Block bitmap at 51201 (+0), Inode bitmap at 51202 (+1)
+  Inode table at 51203-51266 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 51267-52224
+  Free inodes: 12801-13056
+Group 51: (Blocks 52225-53248)
+  Block bitmap at 52225 (+0), Inode bitmap at 52226 (+1)
+  Inode table at 52227-52290 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 52291-53248
+  Free inodes: 13057-13312
+Group 52: (Blocks 53249-54272)
+  Block bitmap at 53249 (+0), Inode bitmap at 53250 (+1)
+  Inode table at 53251-53314 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 53315-54272
+  Free inodes: 13313-13568
+Group 53: (Blocks 54273-55296)
+  Block bitmap at 54273 (+0), Inode bitmap at 54274 (+1)
+  Inode table at 54275-54338 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 54339-55296
+  Free inodes: 13569-13824
+Group 54: (Blocks 55297-56320)
+  Block bitmap at 55297 (+0), Inode bitmap at 55298 (+1)
+  Inode table at 55299-55362 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 55363-56320
+  Free inodes: 13825-14080
+Group 55: (Blocks 56321-57344)
+  Block bitmap at 56321 (+0), Inode bitmap at 56322 (+1)
+  Inode table at 56323-56386 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 56387-57344
+  Free inodes: 14081-14336
+Group 56: (Blocks 57345-58368)
+  Block bitmap at 57345 (+0), Inode bitmap at 57346 (+1)
+  Inode table at 57347-57410 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 57411-58368
+  Free inodes: 14337-14592
+Group 57: (Blocks 58369-59392)
+  Block bitmap at 58369 (+0), Inode bitmap at 58370 (+1)
+  Inode table at 58371-58434 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 58435-59392
+  Free inodes: 14593-14848
+Group 58: (Blocks 59393-60416)
+  Block bitmap at 59393 (+0), Inode bitmap at 59394 (+1)
+  Inode table at 59395-59458 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 59459-60416
+  Free inodes: 14849-15104
+Group 59: (Blocks 60417-61440)
+  Block bitmap at 60417 (+0), Inode bitmap at 60418 (+1)
+  Inode table at 60419-60482 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 60483-61440
+  Free inodes: 15105-15360
+Group 60: (Blocks 61441-62464)
+  Block bitmap at 61441 (+0), Inode bitmap at 61442 (+1)
+  Inode table at 61443-61506 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 61507-62464
+  Free inodes: 15361-15616
+Group 61: (Blocks 62465-63488)
+  Block bitmap at 62465 (+0), Inode bitmap at 62466 (+1)
+  Inode table at 62467-62530 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 62531-63488
+  Free inodes: 15617-15872
+Group 62: (Blocks 63489-64512)
+  Block bitmap at 63489 (+0), Inode bitmap at 63490 (+1)
+  Inode table at 63491-63554 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 63555-64512
+  Free inodes: 15873-16128
+Group 63: (Blocks 64513-65535)
+  Block bitmap at 64513 (+0), Inode bitmap at 64514 (+1)
+  Inode table at 64515-64578 (+2)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 64579-65535
+  Free inodes: 16129-16384
+resize2fs -p test.img 16384
 Resizing the filesystem on test.img to 16384 (1k) blocks.
+Begin pass 3 (max = 64)
+Scanning inode table          ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 The filesystem on test.img is now 16384 (1k) blocks long.
 
 Pass 1: Checking inodes, blocks, and sizes
@@ -455,7 +1041,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks
+test_filesys: 11/4096 files (0.0% non-contiguous), 2619/16384 blocks
 Exit status is 0
 dumpe2fs test.img
 Filesystem volume name:   <none>
@@ -470,7 +1056,7 @@
 Inode count:              4096
 Block count:              16384
 Reserved block count:     819
-Free blocks:              14277
+Free blocks:              13765
 Free inodes:              4085
 First block:              1
 Block size:               1024
@@ -479,13 +1065,15 @@
 Blocks per group:         1024
 Fragments per group:      1024
 Inodes per group:         256
-Inode blocks per group:   32
+Inode blocks per group:   64
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -493,113 +1081,115 @@
   Primary superblock at 1, Group descriptors at 2-2
   Reserved GDT blocks at 3-258
   Block bitmap at 260 (+259), Inode bitmap at 261 (+260)
-  Inode table at 262-293 (+261)
-  718 free blocks, 245 free inodes, 2 directories
-  Free blocks: 259, 308-1024
+  Inode table at 262-325 (+261)
+  686 free blocks, 245 free inodes, 2 directories
+  Free blocks: 259, 340-1024
   Free inodes: 12-256
 Group 1: (Blocks 1025-2048)
   Backup superblock at 1025, Group descriptors at 1026-1026
   Reserved GDT blocks at 1027-1282
   Block bitmap at 1284 (+259), Inode bitmap at 1285 (+260)
-  Inode table at 1286-1317 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 1283, 1318-2048
+  Inode table at 1286-1349 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 1283, 1350-2048
   Free inodes: 257-512
 Group 2: (Blocks 2049-3072)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2082 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 2083-3072
+  Inode table at 2051-2114 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 2115-3072
   Free inodes: 513-768
 Group 3: (Blocks 3073-4096)
   Backup superblock at 3073, Group descriptors at 3074-3074
   Reserved GDT blocks at 3075-3330
   Block bitmap at 3332 (+259), Inode bitmap at 3333 (+260)
-  Inode table at 3334-3365 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 3331, 3366-4096
+  Inode table at 3334-3397 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 3331, 3398-4096
   Free inodes: 769-1024
 Group 4: (Blocks 4097-5120)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4130 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 4131-5120
+  Inode table at 4099-4162 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 4163-5120
   Free inodes: 1025-1280
 Group 5: (Blocks 5121-6144)
   Backup superblock at 5121, Group descriptors at 5122-5122
   Reserved GDT blocks at 5123-5378
   Block bitmap at 5380 (+259), Inode bitmap at 5381 (+260)
-  Inode table at 5382-5413 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 5379, 5414-6144
+  Inode table at 5382-5445 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 5379, 5446-6144
   Free inodes: 1281-1536
 Group 6: (Blocks 6145-7168)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6178 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 6179-7168
+  Inode table at 6147-6210 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 6211-7168
   Free inodes: 1537-1792
 Group 7: (Blocks 7169-8192)
   Backup superblock at 7169, Group descriptors at 7170-7170
   Reserved GDT blocks at 7171-7426
   Block bitmap at 7428 (+259), Inode bitmap at 7429 (+260)
-  Inode table at 7430-7461 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 7427, 7462-8192
+  Inode table at 7430-7493 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 7427, 7494-8192
   Free inodes: 1793-2048
 Group 8: (Blocks 8193-9216)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8226 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 8227-9216
+  Inode table at 8195-8258 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 8259-9216
   Free inodes: 2049-2304
 Group 9: (Blocks 9217-10240)
   Backup superblock at 9217, Group descriptors at 9218-9218
   Reserved GDT blocks at 9219-9474
   Block bitmap at 9476 (+259), Inode bitmap at 9477 (+260)
-  Inode table at 9478-9509 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 9475, 9510-10240
+  Inode table at 9478-9541 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 9475, 9542-10240
   Free inodes: 2305-2560
 Group 10: (Blocks 10241-11264)
   Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
-  Inode table at 10243-10274 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 10275-11264
+  Inode table at 10243-10306 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 10307-11264
   Free inodes: 2561-2816
 Group 11: (Blocks 11265-12288)
   Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
-  Inode table at 11267-11298 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 11299-12288
+  Inode table at 11267-11330 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 11331-12288
   Free inodes: 2817-3072
 Group 12: (Blocks 12289-13312)
   Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
-  Inode table at 12291-12322 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 12323-13312
+  Inode table at 12291-12354 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 12355-13312
   Free inodes: 3073-3328
 Group 13: (Blocks 13313-14336)
   Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
-  Inode table at 13315-13346 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 13347-14336
+  Inode table at 13315-13378 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 13379-14336
   Free inodes: 3329-3584
 Group 14: (Blocks 14337-15360)
   Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
-  Inode table at 14339-14370 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 14371-15360
+  Inode table at 14339-14402 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 14403-15360
   Free inodes: 3585-3840
 Group 15: (Blocks 15361-16383)
   Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
-  Inode table at 15363-15394 (+2)
-  989 free blocks, 256 free inodes, 0 directories
-  Free blocks: 15395-16383
+  Inode table at 15363-15426 (+2)
+  957 free blocks, 256 free inodes, 0 directories
+  Free blocks: 15427-16383
   Free inodes: 3841-4096
 --------------------------------
-resize2fs test.img 165536
+resize2fs -p test.img 165536
 Resizing the filesystem on test.img to 165536 (1k) blocks.
+Begin pass 1 (max = 146)
+Extending the inode table     ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 The filesystem on test.img is now 165536 (1k) blocks long.
 
 Filesystem did not have a UUID; generating one.
@@ -609,7 +1199,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/41472 files (0.0% non-contiguous), 8361/165536 blocks
+test_filesys: 11/41472 files (0.0% non-contiguous), 13545/165536 blocks
 Exit status is 0
 dumpe2fs test.img
 Filesystem volume name:   <none>
@@ -624,7 +1214,7 @@
 Inode count:              41472
 Block count:              165536
 Reserved block count:     8274
-Free blocks:              157175
+Free blocks:              151991
 Free inodes:              41461
 First block:              1
 Block size:               1024
@@ -633,13 +1223,15 @@
 Blocks per group:         1024
 Fragments per group:      1024
 Inodes per group:         256
-Inode blocks per group:   32
+Inode blocks per group:   64
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -647,993 +1239,993 @@
   Primary superblock at 1, Group descriptors at 2-7
   Reserved GDT blocks at 8-258
   Block bitmap at 260 (+259), Inode bitmap at 261 (+260)
-  Inode table at 262-293 (+261)
-  718 free blocks, 245 free inodes, 2 directories
-  Free blocks: 259, 308-1024
+  Inode table at 262-325 (+261)
+  686 free blocks, 245 free inodes, 2 directories
+  Free blocks: 259, 340-1024
   Free inodes: 12-256
 Group 1: (Blocks 1025-2048)
   Backup superblock at 1025, Group descriptors at 1026-1031
   Reserved GDT blocks at 1032-1282
   Block bitmap at 1284 (+259), Inode bitmap at 1285 (+260)
-  Inode table at 1286-1317 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 1283, 1318-2048
+  Inode table at 1286-1349 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 1283, 1350-2048
   Free inodes: 257-512
 Group 2: (Blocks 2049-3072)
   Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1)
-  Inode table at 2051-2082 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 2083-3072
+  Inode table at 2051-2114 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 2115-3072
   Free inodes: 513-768
 Group 3: (Blocks 3073-4096)
   Backup superblock at 3073, Group descriptors at 3074-3079
   Reserved GDT blocks at 3080-3330
   Block bitmap at 3332 (+259), Inode bitmap at 3333 (+260)
-  Inode table at 3334-3365 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 3331, 3366-4096
+  Inode table at 3334-3397 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 3331, 3398-4096
   Free inodes: 769-1024
 Group 4: (Blocks 4097-5120)
   Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1)
-  Inode table at 4099-4130 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 4131-5120
+  Inode table at 4099-4162 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 4163-5120
   Free inodes: 1025-1280
 Group 5: (Blocks 5121-6144)
   Backup superblock at 5121, Group descriptors at 5122-5127
   Reserved GDT blocks at 5128-5378
   Block bitmap at 5380 (+259), Inode bitmap at 5381 (+260)
-  Inode table at 5382-5413 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 5379, 5414-6144
+  Inode table at 5382-5445 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 5379, 5446-6144
   Free inodes: 1281-1536
 Group 6: (Blocks 6145-7168)
   Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1)
-  Inode table at 6147-6178 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 6179-7168
+  Inode table at 6147-6210 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 6211-7168
   Free inodes: 1537-1792
 Group 7: (Blocks 7169-8192)
   Backup superblock at 7169, Group descriptors at 7170-7175
   Reserved GDT blocks at 7176-7426
   Block bitmap at 7428 (+259), Inode bitmap at 7429 (+260)
-  Inode table at 7430-7461 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 7427, 7462-8192
+  Inode table at 7430-7493 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 7427, 7494-8192
   Free inodes: 1793-2048
 Group 8: (Blocks 8193-9216)
   Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1)
-  Inode table at 8195-8226 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 8227-9216
+  Inode table at 8195-8258 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 8259-9216
   Free inodes: 2049-2304
 Group 9: (Blocks 9217-10240)
   Backup superblock at 9217, Group descriptors at 9218-9223
   Reserved GDT blocks at 9224-9474
   Block bitmap at 9476 (+259), Inode bitmap at 9477 (+260)
-  Inode table at 9478-9509 (+261)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 9475, 9510-10240
+  Inode table at 9478-9541 (+261)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 9475, 9542-10240
   Free inodes: 2305-2560
 Group 10: (Blocks 10241-11264)
   Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1)
-  Inode table at 10243-10274 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 10275-11264
+  Inode table at 10243-10306 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 10307-11264
   Free inodes: 2561-2816
 Group 11: (Blocks 11265-12288)
   Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1)
-  Inode table at 11267-11298 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 11299-12288
+  Inode table at 11267-11330 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 11331-12288
   Free inodes: 2817-3072
 Group 12: (Blocks 12289-13312)
   Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1)
-  Inode table at 12291-12322 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 12323-13312
+  Inode table at 12291-12354 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 12355-13312
   Free inodes: 3073-3328
 Group 13: (Blocks 13313-14336)
   Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1)
-  Inode table at 13315-13346 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 13347-14336
+  Inode table at 13315-13378 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 13379-14336
   Free inodes: 3329-3584
 Group 14: (Blocks 14337-15360)
   Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1)
-  Inode table at 14339-14370 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 14371-15360
+  Inode table at 14339-14402 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 14403-15360
   Free inodes: 3585-3840
 Group 15: (Blocks 15361-16384)
   Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1)
-  Inode table at 15363-15394 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 15395-16384
+  Inode table at 15363-15426 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 15427-16384
   Free inodes: 3841-4096
 Group 16: (Blocks 16385-17408)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16418 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 16419-17408
+  Inode table at 16387-16450 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 16451-17408
   Free inodes: 4097-4352
 Group 17: (Blocks 17409-18432)
   Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1)
-  Inode table at 17411-17442 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 17443-18432
+  Inode table at 17411-17474 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 17475-18432
   Free inodes: 4353-4608
 Group 18: (Blocks 18433-19456)
   Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1)
-  Inode table at 18435-18466 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 18467-19456
+  Inode table at 18435-18498 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 18499-19456
   Free inodes: 4609-4864
 Group 19: (Blocks 19457-20480)
   Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1)
-  Inode table at 19459-19490 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 19491-20480
+  Inode table at 19459-19522 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 19523-20480
   Free inodes: 4865-5120
 Group 20: (Blocks 20481-21504)
   Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1)
-  Inode table at 20483-20514 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 20515-21504
+  Inode table at 20483-20546 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 20547-21504
   Free inodes: 5121-5376
 Group 21: (Blocks 21505-22528)
   Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1)
-  Inode table at 21507-21538 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 21539-22528
+  Inode table at 21507-21570 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 21571-22528
   Free inodes: 5377-5632
 Group 22: (Blocks 22529-23552)
   Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1)
-  Inode table at 22531-22562 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 22563-23552
+  Inode table at 22531-22594 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 22595-23552
   Free inodes: 5633-5888
 Group 23: (Blocks 23553-24576)
   Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1)
-  Inode table at 23555-23586 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 23587-24576
+  Inode table at 23555-23618 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 23619-24576
   Free inodes: 5889-6144
 Group 24: (Blocks 24577-25600)
   Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1)
-  Inode table at 24579-24610 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 24611-25600
+  Inode table at 24579-24642 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 24643-25600
   Free inodes: 6145-6400
 Group 25: (Blocks 25601-26624)
   Backup superblock at 25601, Group descriptors at 25602-25607
   Reserved GDT blocks at 25608-25858
   Block bitmap at 25859 (+258), Inode bitmap at 25860 (+259)
-  Inode table at 25861-25892 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 25893-26624
+  Inode table at 25861-25924 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 25925-26624
   Free inodes: 6401-6656
 Group 26: (Blocks 26625-27648)
   Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1)
-  Inode table at 26627-26658 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 26659-27648
+  Inode table at 26627-26690 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 26691-27648
   Free inodes: 6657-6912
 Group 27: (Blocks 27649-28672)
   Backup superblock at 27649, Group descriptors at 27650-27655
   Reserved GDT blocks at 27656-27906
   Block bitmap at 27907 (+258), Inode bitmap at 27908 (+259)
-  Inode table at 27909-27940 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 27941-28672
+  Inode table at 27909-27972 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 27973-28672
   Free inodes: 6913-7168
 Group 28: (Blocks 28673-29696)
   Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1)
-  Inode table at 28675-28706 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 28707-29696
+  Inode table at 28675-28738 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 28739-29696
   Free inodes: 7169-7424
 Group 29: (Blocks 29697-30720)
   Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1)
-  Inode table at 29699-29730 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 29731-30720
+  Inode table at 29699-29762 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 29763-30720
   Free inodes: 7425-7680
 Group 30: (Blocks 30721-31744)
   Block bitmap at 30721 (+0), Inode bitmap at 30722 (+1)
-  Inode table at 30723-30754 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 30755-31744
+  Inode table at 30723-30786 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 30787-31744
   Free inodes: 7681-7936
 Group 31: (Blocks 31745-32768)
   Block bitmap at 31745 (+0), Inode bitmap at 31746 (+1)
-  Inode table at 31747-31778 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 31779-32768
+  Inode table at 31747-31810 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 31811-32768
   Free inodes: 7937-8192
 Group 32: (Blocks 32769-33792)
   Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
-  Inode table at 32771-32802 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 32803-33792
+  Inode table at 32771-32834 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 32835-33792
   Free inodes: 8193-8448
 Group 33: (Blocks 33793-34816)
   Block bitmap at 33793 (+0), Inode bitmap at 33794 (+1)
-  Inode table at 33795-33826 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 33827-34816
+  Inode table at 33795-33858 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 33859-34816
   Free inodes: 8449-8704
 Group 34: (Blocks 34817-35840)
   Block bitmap at 34817 (+0), Inode bitmap at 34818 (+1)
-  Inode table at 34819-34850 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 34851-35840
+  Inode table at 34819-34882 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 34883-35840
   Free inodes: 8705-8960
 Group 35: (Blocks 35841-36864)
   Block bitmap at 35841 (+0), Inode bitmap at 35842 (+1)
-  Inode table at 35843-35874 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 35875-36864
+  Inode table at 35843-35906 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 35907-36864
   Free inodes: 8961-9216
 Group 36: (Blocks 36865-37888)
   Block bitmap at 36865 (+0), Inode bitmap at 36866 (+1)
-  Inode table at 36867-36898 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 36899-37888
+  Inode table at 36867-36930 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 36931-37888
   Free inodes: 9217-9472
 Group 37: (Blocks 37889-38912)
   Block bitmap at 37889 (+0), Inode bitmap at 37890 (+1)
-  Inode table at 37891-37922 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 37923-38912
+  Inode table at 37891-37954 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 37955-38912
   Free inodes: 9473-9728
 Group 38: (Blocks 38913-39936)
   Block bitmap at 38913 (+0), Inode bitmap at 38914 (+1)
-  Inode table at 38915-38946 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 38947-39936
+  Inode table at 38915-38978 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 38979-39936
   Free inodes: 9729-9984
 Group 39: (Blocks 39937-40960)
   Block bitmap at 39937 (+0), Inode bitmap at 39938 (+1)
-  Inode table at 39939-39970 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 39971-40960
+  Inode table at 39939-40002 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 40003-40960
   Free inodes: 9985-10240
 Group 40: (Blocks 40961-41984)
   Block bitmap at 40961 (+0), Inode bitmap at 40962 (+1)
-  Inode table at 40963-40994 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 40995-41984
+  Inode table at 40963-41026 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 41027-41984
   Free inodes: 10241-10496
 Group 41: (Blocks 41985-43008)
   Block bitmap at 41985 (+0), Inode bitmap at 41986 (+1)
-  Inode table at 41987-42018 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 42019-43008
+  Inode table at 41987-42050 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 42051-43008
   Free inodes: 10497-10752
 Group 42: (Blocks 43009-44032)
   Block bitmap at 43009 (+0), Inode bitmap at 43010 (+1)
-  Inode table at 43011-43042 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 43043-44032
+  Inode table at 43011-43074 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 43075-44032
   Free inodes: 10753-11008
 Group 43: (Blocks 44033-45056)
   Block bitmap at 44033 (+0), Inode bitmap at 44034 (+1)
-  Inode table at 44035-44066 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 44067-45056
+  Inode table at 44035-44098 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 44099-45056
   Free inodes: 11009-11264
 Group 44: (Blocks 45057-46080)
   Block bitmap at 45057 (+0), Inode bitmap at 45058 (+1)
-  Inode table at 45059-45090 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 45091-46080
+  Inode table at 45059-45122 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 45123-46080
   Free inodes: 11265-11520
 Group 45: (Blocks 46081-47104)
   Block bitmap at 46081 (+0), Inode bitmap at 46082 (+1)
-  Inode table at 46083-46114 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 46115-47104
+  Inode table at 46083-46146 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 46147-47104
   Free inodes: 11521-11776
 Group 46: (Blocks 47105-48128)
   Block bitmap at 47105 (+0), Inode bitmap at 47106 (+1)
-  Inode table at 47107-47138 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 47139-48128
+  Inode table at 47107-47170 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 47171-48128
   Free inodes: 11777-12032
 Group 47: (Blocks 48129-49152)
   Block bitmap at 48129 (+0), Inode bitmap at 48130 (+1)
-  Inode table at 48131-48162 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 48163-49152
+  Inode table at 48131-48194 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 48195-49152
   Free inodes: 12033-12288
 Group 48: (Blocks 49153-50176)
   Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
-  Inode table at 49155-49186 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 49187-50176
+  Inode table at 49155-49218 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 49219-50176
   Free inodes: 12289-12544
 Group 49: (Blocks 50177-51200)
   Backup superblock at 50177, Group descriptors at 50178-50183
   Reserved GDT blocks at 50184-50434
   Block bitmap at 50435 (+258), Inode bitmap at 50436 (+259)
-  Inode table at 50437-50468 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 50469-51200
+  Inode table at 50437-50500 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 50501-51200
   Free inodes: 12545-12800
 Group 50: (Blocks 51201-52224)
   Block bitmap at 51201 (+0), Inode bitmap at 51202 (+1)
-  Inode table at 51203-51234 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 51235-52224
+  Inode table at 51203-51266 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 51267-52224
   Free inodes: 12801-13056
 Group 51: (Blocks 52225-53248)
   Block bitmap at 52225 (+0), Inode bitmap at 52226 (+1)
-  Inode table at 52227-52258 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 52259-53248
+  Inode table at 52227-52290 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 52291-53248
   Free inodes: 13057-13312
 Group 52: (Blocks 53249-54272)
   Block bitmap at 53249 (+0), Inode bitmap at 53250 (+1)
-  Inode table at 53251-53282 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 53283-54272
+  Inode table at 53251-53314 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 53315-54272
   Free inodes: 13313-13568
 Group 53: (Blocks 54273-55296)
   Block bitmap at 54273 (+0), Inode bitmap at 54274 (+1)
-  Inode table at 54275-54306 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 54307-55296
+  Inode table at 54275-54338 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 54339-55296
   Free inodes: 13569-13824
 Group 54: (Blocks 55297-56320)
   Block bitmap at 55297 (+0), Inode bitmap at 55298 (+1)
-  Inode table at 55299-55330 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 55331-56320
+  Inode table at 55299-55362 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 55363-56320
   Free inodes: 13825-14080
 Group 55: (Blocks 56321-57344)
   Block bitmap at 56321 (+0), Inode bitmap at 56322 (+1)
-  Inode table at 56323-56354 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 56355-57344
+  Inode table at 56323-56386 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 56387-57344
   Free inodes: 14081-14336
 Group 56: (Blocks 57345-58368)
   Block bitmap at 57345 (+0), Inode bitmap at 57346 (+1)
-  Inode table at 57347-57378 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 57379-58368
+  Inode table at 57347-57410 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 57411-58368
   Free inodes: 14337-14592
 Group 57: (Blocks 58369-59392)
   Block bitmap at 58369 (+0), Inode bitmap at 58370 (+1)
-  Inode table at 58371-58402 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 58403-59392
+  Inode table at 58371-58434 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 58435-59392
   Free inodes: 14593-14848
 Group 58: (Blocks 59393-60416)
   Block bitmap at 59393 (+0), Inode bitmap at 59394 (+1)
-  Inode table at 59395-59426 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 59427-60416
+  Inode table at 59395-59458 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 59459-60416
   Free inodes: 14849-15104
 Group 59: (Blocks 60417-61440)
   Block bitmap at 60417 (+0), Inode bitmap at 60418 (+1)
-  Inode table at 60419-60450 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 60451-61440
+  Inode table at 60419-60482 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 60483-61440
   Free inodes: 15105-15360
 Group 60: (Blocks 61441-62464)
   Block bitmap at 61441 (+0), Inode bitmap at 61442 (+1)
-  Inode table at 61443-61474 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 61475-62464
+  Inode table at 61443-61506 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 61507-62464
   Free inodes: 15361-15616
 Group 61: (Blocks 62465-63488)
   Block bitmap at 62465 (+0), Inode bitmap at 62466 (+1)
-  Inode table at 62467-62498 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 62499-63488
+  Inode table at 62467-62530 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 62531-63488
   Free inodes: 15617-15872
 Group 62: (Blocks 63489-64512)
   Block bitmap at 63489 (+0), Inode bitmap at 63490 (+1)
-  Inode table at 63491-63522 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 63523-64512
+  Inode table at 63491-63554 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 63555-64512
   Free inodes: 15873-16128
 Group 63: (Blocks 64513-65536)
   Block bitmap at 64513 (+0), Inode bitmap at 64514 (+1)
-  Inode table at 64515-64546 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 64547-65536
+  Inode table at 64515-64578 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 64579-65536
   Free inodes: 16129-16384
 Group 64: (Blocks 65537-66560)
   Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
-  Inode table at 65539-65570 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 65571-66560
+  Inode table at 65539-65602 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 65603-66560
   Free inodes: 16385-16640
 Group 65: (Blocks 66561-67584)
   Block bitmap at 66561 (+0), Inode bitmap at 66562 (+1)
-  Inode table at 66563-66594 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 66595-67584
+  Inode table at 66563-66626 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 66627-67584
   Free inodes: 16641-16896
 Group 66: (Blocks 67585-68608)
   Block bitmap at 67585 (+0), Inode bitmap at 67586 (+1)
-  Inode table at 67587-67618 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 67619-68608
+  Inode table at 67587-67650 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 67651-68608
   Free inodes: 16897-17152
 Group 67: (Blocks 68609-69632)
   Block bitmap at 68609 (+0), Inode bitmap at 68610 (+1)
-  Inode table at 68611-68642 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 68643-69632
+  Inode table at 68611-68674 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 68675-69632
   Free inodes: 17153-17408
 Group 68: (Blocks 69633-70656)
   Block bitmap at 69633 (+0), Inode bitmap at 69634 (+1)
-  Inode table at 69635-69666 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 69667-70656
+  Inode table at 69635-69698 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 69699-70656
   Free inodes: 17409-17664
 Group 69: (Blocks 70657-71680)
   Block bitmap at 70657 (+0), Inode bitmap at 70658 (+1)
-  Inode table at 70659-70690 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 70691-71680
+  Inode table at 70659-70722 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 70723-71680
   Free inodes: 17665-17920
 Group 70: (Blocks 71681-72704)
   Block bitmap at 71681 (+0), Inode bitmap at 71682 (+1)
-  Inode table at 71683-71714 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 71715-72704
+  Inode table at 71683-71746 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 71747-72704
   Free inodes: 17921-18176
 Group 71: (Blocks 72705-73728)
   Block bitmap at 72705 (+0), Inode bitmap at 72706 (+1)
-  Inode table at 72707-72738 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 72739-73728
+  Inode table at 72707-72770 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 72771-73728
   Free inodes: 18177-18432
 Group 72: (Blocks 73729-74752)
   Block bitmap at 73729 (+0), Inode bitmap at 73730 (+1)
-  Inode table at 73731-73762 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 73763-74752
+  Inode table at 73731-73794 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 73795-74752
   Free inodes: 18433-18688
 Group 73: (Blocks 74753-75776)
   Block bitmap at 74753 (+0), Inode bitmap at 74754 (+1)
-  Inode table at 74755-74786 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 74787-75776
+  Inode table at 74755-74818 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 74819-75776
   Free inodes: 18689-18944
 Group 74: (Blocks 75777-76800)
   Block bitmap at 75777 (+0), Inode bitmap at 75778 (+1)
-  Inode table at 75779-75810 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 75811-76800
+  Inode table at 75779-75842 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 75843-76800
   Free inodes: 18945-19200
 Group 75: (Blocks 76801-77824)
   Block bitmap at 76801 (+0), Inode bitmap at 76802 (+1)
-  Inode table at 76803-76834 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 76835-77824
+  Inode table at 76803-76866 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 76867-77824
   Free inodes: 19201-19456
 Group 76: (Blocks 77825-78848)
   Block bitmap at 77825 (+0), Inode bitmap at 77826 (+1)
-  Inode table at 77827-77858 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 77859-78848
+  Inode table at 77827-77890 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 77891-78848
   Free inodes: 19457-19712
 Group 77: (Blocks 78849-79872)
   Block bitmap at 78849 (+0), Inode bitmap at 78850 (+1)
-  Inode table at 78851-78882 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 78883-79872
+  Inode table at 78851-78914 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 78915-79872
   Free inodes: 19713-19968
 Group 78: (Blocks 79873-80896)
   Block bitmap at 79873 (+0), Inode bitmap at 79874 (+1)
-  Inode table at 79875-79906 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 79907-80896
+  Inode table at 79875-79938 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 79939-80896
   Free inodes: 19969-20224
 Group 79: (Blocks 80897-81920)
   Block bitmap at 80897 (+0), Inode bitmap at 80898 (+1)
-  Inode table at 80899-80930 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 80931-81920
+  Inode table at 80899-80962 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 80963-81920
   Free inodes: 20225-20480
 Group 80: (Blocks 81921-82944)
   Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
-  Inode table at 81923-81954 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 81955-82944
+  Inode table at 81923-81986 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 81987-82944
   Free inodes: 20481-20736
 Group 81: (Blocks 82945-83968)
   Backup superblock at 82945, Group descriptors at 82946-82951
   Reserved GDT blocks at 82952-83202
   Block bitmap at 83203 (+258), Inode bitmap at 83204 (+259)
-  Inode table at 83205-83236 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 83237-83968
+  Inode table at 83205-83268 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 83269-83968
   Free inodes: 20737-20992
 Group 82: (Blocks 83969-84992)
   Block bitmap at 83969 (+0), Inode bitmap at 83970 (+1)
-  Inode table at 83971-84002 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 84003-84992
+  Inode table at 83971-84034 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 84035-84992
   Free inodes: 20993-21248
 Group 83: (Blocks 84993-86016)
   Block bitmap at 84993 (+0), Inode bitmap at 84994 (+1)
-  Inode table at 84995-85026 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 85027-86016
+  Inode table at 84995-85058 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 85059-86016
   Free inodes: 21249-21504
 Group 84: (Blocks 86017-87040)
   Block bitmap at 86017 (+0), Inode bitmap at 86018 (+1)
-  Inode table at 86019-86050 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 86051-87040
+  Inode table at 86019-86082 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 86083-87040
   Free inodes: 21505-21760
 Group 85: (Blocks 87041-88064)
   Block bitmap at 87041 (+0), Inode bitmap at 87042 (+1)
-  Inode table at 87043-87074 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 87075-88064
+  Inode table at 87043-87106 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 87107-88064
   Free inodes: 21761-22016
 Group 86: (Blocks 88065-89088)
   Block bitmap at 88065 (+0), Inode bitmap at 88066 (+1)
-  Inode table at 88067-88098 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 88099-89088
+  Inode table at 88067-88130 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 88131-89088
   Free inodes: 22017-22272
 Group 87: (Blocks 89089-90112)
   Block bitmap at 89089 (+0), Inode bitmap at 89090 (+1)
-  Inode table at 89091-89122 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 89123-90112
+  Inode table at 89091-89154 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 89155-90112
   Free inodes: 22273-22528
 Group 88: (Blocks 90113-91136)
   Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
-  Inode table at 90115-90146 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 90147-91136
+  Inode table at 90115-90178 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 90179-91136
   Free inodes: 22529-22784
 Group 89: (Blocks 91137-92160)
   Block bitmap at 91137 (+0), Inode bitmap at 91138 (+1)
-  Inode table at 91139-91170 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 91171-92160
+  Inode table at 91139-91202 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 91203-92160
   Free inodes: 22785-23040
 Group 90: (Blocks 92161-93184)
   Block bitmap at 92161 (+0), Inode bitmap at 92162 (+1)
-  Inode table at 92163-92194 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 92195-93184
+  Inode table at 92163-92226 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 92227-93184
   Free inodes: 23041-23296
 Group 91: (Blocks 93185-94208)
   Block bitmap at 93185 (+0), Inode bitmap at 93186 (+1)
-  Inode table at 93187-93218 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 93219-94208
+  Inode table at 93187-93250 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 93251-94208
   Free inodes: 23297-23552
 Group 92: (Blocks 94209-95232)
   Block bitmap at 94209 (+0), Inode bitmap at 94210 (+1)
-  Inode table at 94211-94242 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 94243-95232
+  Inode table at 94211-94274 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 94275-95232
   Free inodes: 23553-23808
 Group 93: (Blocks 95233-96256)
   Block bitmap at 95233 (+0), Inode bitmap at 95234 (+1)
-  Inode table at 95235-95266 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 95267-96256
+  Inode table at 95235-95298 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 95299-96256
   Free inodes: 23809-24064
 Group 94: (Blocks 96257-97280)
   Block bitmap at 96257 (+0), Inode bitmap at 96258 (+1)
-  Inode table at 96259-96290 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 96291-97280
+  Inode table at 96259-96322 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 96323-97280
   Free inodes: 24065-24320
 Group 95: (Blocks 97281-98304)
   Block bitmap at 97281 (+0), Inode bitmap at 97282 (+1)
-  Inode table at 97283-97314 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 97315-98304
+  Inode table at 97283-97346 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 97347-98304
   Free inodes: 24321-24576
 Group 96: (Blocks 98305-99328)
   Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
-  Inode table at 98307-98338 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 98339-99328
+  Inode table at 98307-98370 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 98371-99328
   Free inodes: 24577-24832
 Group 97: (Blocks 99329-100352)
   Block bitmap at 99329 (+0), Inode bitmap at 99330 (+1)
-  Inode table at 99331-99362 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 99363-100352
+  Inode table at 99331-99394 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 99395-100352
   Free inodes: 24833-25088
 Group 98: (Blocks 100353-101376)
   Block bitmap at 100353 (+0), Inode bitmap at 100354 (+1)
-  Inode table at 100355-100386 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 100387-101376
+  Inode table at 100355-100418 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 100419-101376
   Free inodes: 25089-25344
 Group 99: (Blocks 101377-102400)
   Block bitmap at 101377 (+0), Inode bitmap at 101378 (+1)
-  Inode table at 101379-101410 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 101411-102400
+  Inode table at 101379-101442 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 101443-102400
   Free inodes: 25345-25600
 Group 100: (Blocks 102401-103424)
   Block bitmap at 102401 (+0), Inode bitmap at 102402 (+1)
-  Inode table at 102403-102434 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 102435-103424
+  Inode table at 102403-102466 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 102467-103424
   Free inodes: 25601-25856
 Group 101: (Blocks 103425-104448)
   Block bitmap at 103425 (+0), Inode bitmap at 103426 (+1)
-  Inode table at 103427-103458 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 103459-104448
+  Inode table at 103427-103490 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 103491-104448
   Free inodes: 25857-26112
 Group 102: (Blocks 104449-105472)
   Block bitmap at 104449 (+0), Inode bitmap at 104450 (+1)
-  Inode table at 104451-104482 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 104483-105472
+  Inode table at 104451-104514 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 104515-105472
   Free inodes: 26113-26368
 Group 103: (Blocks 105473-106496)
   Block bitmap at 105473 (+0), Inode bitmap at 105474 (+1)
-  Inode table at 105475-105506 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 105507-106496
+  Inode table at 105475-105538 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 105539-106496
   Free inodes: 26369-26624
 Group 104: (Blocks 106497-107520)
   Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
-  Inode table at 106499-106530 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 106531-107520
+  Inode table at 106499-106562 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 106563-107520
   Free inodes: 26625-26880
 Group 105: (Blocks 107521-108544)
   Block bitmap at 107521 (+0), Inode bitmap at 107522 (+1)
-  Inode table at 107523-107554 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 107555-108544
+  Inode table at 107523-107586 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 107587-108544
   Free inodes: 26881-27136
 Group 106: (Blocks 108545-109568)
   Block bitmap at 108545 (+0), Inode bitmap at 108546 (+1)
-  Inode table at 108547-108578 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 108579-109568
+  Inode table at 108547-108610 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 108611-109568
   Free inodes: 27137-27392
 Group 107: (Blocks 109569-110592)
   Block bitmap at 109569 (+0), Inode bitmap at 109570 (+1)
-  Inode table at 109571-109602 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 109603-110592
+  Inode table at 109571-109634 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 109635-110592
   Free inodes: 27393-27648
 Group 108: (Blocks 110593-111616)
   Block bitmap at 110593 (+0), Inode bitmap at 110594 (+1)
-  Inode table at 110595-110626 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 110627-111616
+  Inode table at 110595-110658 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 110659-111616
   Free inodes: 27649-27904
 Group 109: (Blocks 111617-112640)
   Block bitmap at 111617 (+0), Inode bitmap at 111618 (+1)
-  Inode table at 111619-111650 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 111651-112640
+  Inode table at 111619-111682 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 111683-112640
   Free inodes: 27905-28160
 Group 110: (Blocks 112641-113664)
   Block bitmap at 112641 (+0), Inode bitmap at 112642 (+1)
-  Inode table at 112643-112674 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 112675-113664
+  Inode table at 112643-112706 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 112707-113664
   Free inodes: 28161-28416
 Group 111: (Blocks 113665-114688)
   Block bitmap at 113665 (+0), Inode bitmap at 113666 (+1)
-  Inode table at 113667-113698 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 113699-114688
+  Inode table at 113667-113730 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 113731-114688
   Free inodes: 28417-28672
 Group 112: (Blocks 114689-115712)
   Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
-  Inode table at 114691-114722 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 114723-115712
+  Inode table at 114691-114754 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 114755-115712
   Free inodes: 28673-28928
 Group 113: (Blocks 115713-116736)
   Block bitmap at 115713 (+0), Inode bitmap at 115714 (+1)
-  Inode table at 115715-115746 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 115747-116736
+  Inode table at 115715-115778 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 115779-116736
   Free inodes: 28929-29184
 Group 114: (Blocks 116737-117760)
   Block bitmap at 116737 (+0), Inode bitmap at 116738 (+1)
-  Inode table at 116739-116770 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 116771-117760
+  Inode table at 116739-116802 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 116803-117760
   Free inodes: 29185-29440
 Group 115: (Blocks 117761-118784)
   Block bitmap at 117761 (+0), Inode bitmap at 117762 (+1)
-  Inode table at 117763-117794 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 117795-118784
+  Inode table at 117763-117826 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 117827-118784
   Free inodes: 29441-29696
 Group 116: (Blocks 118785-119808)
   Block bitmap at 118785 (+0), Inode bitmap at 118786 (+1)
-  Inode table at 118787-118818 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 118819-119808
+  Inode table at 118787-118850 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 118851-119808
   Free inodes: 29697-29952
 Group 117: (Blocks 119809-120832)
   Block bitmap at 119809 (+0), Inode bitmap at 119810 (+1)
-  Inode table at 119811-119842 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 119843-120832
+  Inode table at 119811-119874 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 119875-120832
   Free inodes: 29953-30208
 Group 118: (Blocks 120833-121856)
   Block bitmap at 120833 (+0), Inode bitmap at 120834 (+1)
-  Inode table at 120835-120866 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 120867-121856
+  Inode table at 120835-120898 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 120899-121856
   Free inodes: 30209-30464
 Group 119: (Blocks 121857-122880)
   Block bitmap at 121857 (+0), Inode bitmap at 121858 (+1)
-  Inode table at 121859-121890 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 121891-122880
+  Inode table at 121859-121922 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 121923-122880
   Free inodes: 30465-30720
 Group 120: (Blocks 122881-123904)
   Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
-  Inode table at 122883-122914 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 122915-123904
+  Inode table at 122883-122946 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 122947-123904
   Free inodes: 30721-30976
 Group 121: (Blocks 123905-124928)
   Block bitmap at 123905 (+0), Inode bitmap at 123906 (+1)
-  Inode table at 123907-123938 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 123939-124928
+  Inode table at 123907-123970 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 123971-124928
   Free inodes: 30977-31232
 Group 122: (Blocks 124929-125952)
   Block bitmap at 124929 (+0), Inode bitmap at 124930 (+1)
-  Inode table at 124931-124962 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 124963-125952
+  Inode table at 124931-124994 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 124995-125952
   Free inodes: 31233-31488
 Group 123: (Blocks 125953-126976)
   Block bitmap at 125953 (+0), Inode bitmap at 125954 (+1)
-  Inode table at 125955-125986 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 125987-126976
+  Inode table at 125955-126018 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 126019-126976
   Free inodes: 31489-31744
 Group 124: (Blocks 126977-128000)
   Block bitmap at 126977 (+0), Inode bitmap at 126978 (+1)
-  Inode table at 126979-127010 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 127011-128000
+  Inode table at 126979-127042 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 127043-128000
   Free inodes: 31745-32000
 Group 125: (Blocks 128001-129024)
   Backup superblock at 128001, Group descriptors at 128002-128007
   Reserved GDT blocks at 128008-128258
   Block bitmap at 128259 (+258), Inode bitmap at 128260 (+259)
-  Inode table at 128261-128292 (+260)
-  732 free blocks, 256 free inodes, 0 directories
-  Free blocks: 128293-129024
+  Inode table at 128261-128324 (+260)
+  700 free blocks, 256 free inodes, 0 directories
+  Free blocks: 128325-129024
   Free inodes: 32001-32256
 Group 126: (Blocks 129025-130048)
   Block bitmap at 129025 (+0), Inode bitmap at 129026 (+1)
-  Inode table at 129027-129058 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 129059-130048
+  Inode table at 129027-129090 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 129091-130048
   Free inodes: 32257-32512
 Group 127: (Blocks 130049-131072)
   Block bitmap at 130049 (+0), Inode bitmap at 130050 (+1)
-  Inode table at 130051-130082 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 130083-131072
+  Inode table at 130051-130114 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 130115-131072
   Free inodes: 32513-32768
 Group 128: (Blocks 131073-132096)
   Block bitmap at 131073 (+0), Inode bitmap at 131074 (+1)
-  Inode table at 131075-131106 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 131107-132096
+  Inode table at 131075-131138 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 131139-132096
   Free inodes: 32769-33024
 Group 129: (Blocks 132097-133120)
   Block bitmap at 132097 (+0), Inode bitmap at 132098 (+1)
-  Inode table at 132099-132130 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 132131-133120
+  Inode table at 132099-132162 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 132163-133120
   Free inodes: 33025-33280
 Group 130: (Blocks 133121-134144)
   Block bitmap at 133121 (+0), Inode bitmap at 133122 (+1)
-  Inode table at 133123-133154 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 133155-134144
+  Inode table at 133123-133186 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 133187-134144
   Free inodes: 33281-33536
 Group 131: (Blocks 134145-135168)
   Block bitmap at 134145 (+0), Inode bitmap at 134146 (+1)
-  Inode table at 134147-134178 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 134179-135168
+  Inode table at 134147-134210 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 134211-135168
   Free inodes: 33537-33792
 Group 132: (Blocks 135169-136192)
   Block bitmap at 135169 (+0), Inode bitmap at 135170 (+1)
-  Inode table at 135171-135202 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 135203-136192
+  Inode table at 135171-135234 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 135235-136192
   Free inodes: 33793-34048
 Group 133: (Blocks 136193-137216)
   Block bitmap at 136193 (+0), Inode bitmap at 136194 (+1)
-  Inode table at 136195-136226 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 136227-137216
+  Inode table at 136195-136258 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 136259-137216
   Free inodes: 34049-34304
 Group 134: (Blocks 137217-138240)
   Block bitmap at 137217 (+0), Inode bitmap at 137218 (+1)
-  Inode table at 137219-137250 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 137251-138240
+  Inode table at 137219-137282 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 137283-138240
   Free inodes: 34305-34560
 Group 135: (Blocks 138241-139264)
   Block bitmap at 138241 (+0), Inode bitmap at 138242 (+1)
-  Inode table at 138243-138274 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 138275-139264
+  Inode table at 138243-138306 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 138307-139264
   Free inodes: 34561-34816
 Group 136: (Blocks 139265-140288)
   Block bitmap at 139265 (+0), Inode bitmap at 139266 (+1)
-  Inode table at 139267-139298 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 139299-140288
+  Inode table at 139267-139330 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 139331-140288
   Free inodes: 34817-35072
 Group 137: (Blocks 140289-141312)
   Block bitmap at 140289 (+0), Inode bitmap at 140290 (+1)
-  Inode table at 140291-140322 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 140323-141312
+  Inode table at 140291-140354 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 140355-141312
   Free inodes: 35073-35328
 Group 138: (Blocks 141313-142336)
   Block bitmap at 141313 (+0), Inode bitmap at 141314 (+1)
-  Inode table at 141315-141346 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 141347-142336
+  Inode table at 141315-141378 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 141379-142336
   Free inodes: 35329-35584
 Group 139: (Blocks 142337-143360)
   Block bitmap at 142337 (+0), Inode bitmap at 142338 (+1)
-  Inode table at 142339-142370 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 142371-143360
+  Inode table at 142339-142402 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 142403-143360
   Free inodes: 35585-35840
 Group 140: (Blocks 143361-144384)
   Block bitmap at 143361 (+0), Inode bitmap at 143362 (+1)
-  Inode table at 143363-143394 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 143395-144384
+  Inode table at 143363-143426 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 143427-144384
   Free inodes: 35841-36096
 Group 141: (Blocks 144385-145408)
   Block bitmap at 144385 (+0), Inode bitmap at 144386 (+1)
-  Inode table at 144387-144418 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 144419-145408
+  Inode table at 144387-144450 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 144451-145408
   Free inodes: 36097-36352
 Group 142: (Blocks 145409-146432)
   Block bitmap at 145409 (+0), Inode bitmap at 145410 (+1)
-  Inode table at 145411-145442 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 145443-146432
+  Inode table at 145411-145474 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 145475-146432
   Free inodes: 36353-36608
 Group 143: (Blocks 146433-147456)
   Block bitmap at 146433 (+0), Inode bitmap at 146434 (+1)
-  Inode table at 146435-146466 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 146467-147456
+  Inode table at 146435-146498 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 146499-147456
   Free inodes: 36609-36864
 Group 144: (Blocks 147457-148480)
   Block bitmap at 147457 (+0), Inode bitmap at 147458 (+1)
-  Inode table at 147459-147490 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 147491-148480
+  Inode table at 147459-147522 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 147523-148480
   Free inodes: 36865-37120
 Group 145: (Blocks 148481-149504)
   Block bitmap at 148481 (+0), Inode bitmap at 148482 (+1)
-  Inode table at 148483-148514 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 148515-149504
+  Inode table at 148483-148546 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 148547-149504
   Free inodes: 37121-37376
 Group 146: (Blocks 149505-150528)
   Block bitmap at 149505 (+0), Inode bitmap at 149506 (+1)
-  Inode table at 149507-149538 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 149539-150528
+  Inode table at 149507-149570 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 149571-150528
   Free inodes: 37377-37632
 Group 147: (Blocks 150529-151552)
   Block bitmap at 150529 (+0), Inode bitmap at 150530 (+1)
-  Inode table at 150531-150562 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 150563-151552
+  Inode table at 150531-150594 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 150595-151552
   Free inodes: 37633-37888
 Group 148: (Blocks 151553-152576)
   Block bitmap at 151553 (+0), Inode bitmap at 151554 (+1)
-  Inode table at 151555-151586 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 151587-152576
+  Inode table at 151555-151618 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 151619-152576
   Free inodes: 37889-38144
 Group 149: (Blocks 152577-153600)
   Block bitmap at 152577 (+0), Inode bitmap at 152578 (+1)
-  Inode table at 152579-152610 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 152611-153600
+  Inode table at 152579-152642 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 152643-153600
   Free inodes: 38145-38400
 Group 150: (Blocks 153601-154624)
   Block bitmap at 153601 (+0), Inode bitmap at 153602 (+1)
-  Inode table at 153603-153634 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 153635-154624
+  Inode table at 153603-153666 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 153667-154624
   Free inodes: 38401-38656
 Group 151: (Blocks 154625-155648)
   Block bitmap at 154625 (+0), Inode bitmap at 154626 (+1)
-  Inode table at 154627-154658 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 154659-155648
+  Inode table at 154627-154690 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 154691-155648
   Free inodes: 38657-38912
 Group 152: (Blocks 155649-156672)
   Block bitmap at 155649 (+0), Inode bitmap at 155650 (+1)
-  Inode table at 155651-155682 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 155683-156672
+  Inode table at 155651-155714 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 155715-156672
   Free inodes: 38913-39168
 Group 153: (Blocks 156673-157696)
   Block bitmap at 156673 (+0), Inode bitmap at 156674 (+1)
-  Inode table at 156675-156706 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 156707-157696
+  Inode table at 156675-156738 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 156739-157696
   Free inodes: 39169-39424
 Group 154: (Blocks 157697-158720)
   Block bitmap at 157697 (+0), Inode bitmap at 157698 (+1)
-  Inode table at 157699-157730 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 157731-158720
+  Inode table at 157699-157762 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 157763-158720
   Free inodes: 39425-39680
 Group 155: (Blocks 158721-159744)
   Block bitmap at 158721 (+0), Inode bitmap at 158722 (+1)
-  Inode table at 158723-158754 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 158755-159744
+  Inode table at 158723-158786 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 158787-159744
   Free inodes: 39681-39936
 Group 156: (Blocks 159745-160768)
   Block bitmap at 159745 (+0), Inode bitmap at 159746 (+1)
-  Inode table at 159747-159778 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 159779-160768
+  Inode table at 159747-159810 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 159811-160768
   Free inodes: 39937-40192
 Group 157: (Blocks 160769-161792)
   Block bitmap at 160769 (+0), Inode bitmap at 160770 (+1)
-  Inode table at 160771-160802 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 160803-161792
+  Inode table at 160771-160834 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 160835-161792
   Free inodes: 40193-40448
 Group 158: (Blocks 161793-162816)
   Block bitmap at 161793 (+0), Inode bitmap at 161794 (+1)
-  Inode table at 161795-161826 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 161827-162816
+  Inode table at 161795-161858 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 161859-162816
   Free inodes: 40449-40704
 Group 159: (Blocks 162817-163840)
   Block bitmap at 162817 (+0), Inode bitmap at 162818 (+1)
-  Inode table at 162819-162850 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 162851-163840
+  Inode table at 162819-162882 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 162883-163840
   Free inodes: 40705-40960
 Group 160: (Blocks 163841-164864)
   Block bitmap at 163841 (+0), Inode bitmap at 163842 (+1)
-  Inode table at 163843-163874 (+2)
-  990 free blocks, 256 free inodes, 0 directories
-  Free blocks: 163875-164864
+  Inode table at 163843-163906 (+2)
+  958 free blocks, 256 free inodes, 0 directories
+  Free blocks: 163907-164864
   Free inodes: 40961-41216
 Group 161: (Blocks 164865-165535)
   Block bitmap at 164865 (+0), Inode bitmap at 164866 (+1)
-  Inode table at 164867-164898 (+2)
-  637 free blocks, 256 free inodes, 0 directories
-  Free blocks: 164899-165535
+  Inode table at 164867-164930 (+2)
+  605 free blocks, 256 free inodes, 0 directories
+  Free blocks: 164931-165535
   Free inodes: 41217-41472
diff --git a/tests/r_resize_inode/name b/tests/r_resize_inode/name
index 2783baf..53e4e6f 100644
--- a/tests/r_resize_inode/name
+++ b/tests/r_resize_inode/name
@@ -1,2 +1 @@
 filesystem resize with a resize_inode present
-
diff --git a/tests/r_resize_inode/script b/tests/r_resize_inode/script
index f6a500c..d884232 100644
--- a/tests/r_resize_inode/script
+++ b/tests/r_resize_inode/script
@@ -14,8 +14,11 @@
 echo mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 16384 > $OUT.new
 $MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 >> $OUT.new 2>&1
 
-echo resize2fs test.img 65536 >> $OUT.new
-$RESIZE2FS $TMPFILE 65536 >> $OUT.new 2>&1
+echo dumpe2fs test.img >> $OUT.new
+$DUMPE2FS $TMPFILE >> $OUT.new 2>&1
+
+echo resize2fs -p test.img 65536 >> $OUT.new
+$RESIZE2FS -p $TMPFILE 65536 >> $OUT.new 2>&1
 
 $FSCK $FSCK_OPT  -N test_filesys $TMPFILE >> $OUT.new 2>&1
 status=$?
@@ -36,8 +39,11 @@
 echo mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 65536 >> $OUT.new
 $MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 65536 >> $OUT.new 2>&1
 
-echo resize2fs test.img 16384 >> $OUT.new
-$RESIZE2FS $TMPFILE 16384 >> $OUT.new 2>&1
+echo dumpe2fs test.img >> $OUT.new
+$DUMPE2FS $TMPFILE >> $OUT.new 2>&1
+
+echo resize2fs -p test.img 16384 >> $OUT.new
+$RESIZE2FS -p $TMPFILE 16384 >> $OUT.new 2>&1
 
 $FSCK $FSCK_OPT  -N test_filesys $TMPFILE >> $OUT.new 2>&1
 status=$?
@@ -53,8 +59,8 @@
 
 echo "--------------------------------" >> $OUT.new
 
-echo resize2fs test.img 165536 >> $OUT.new
-$RESIZE2FS $TMPFILE 165536 >> $OUT.new 2>&1
+echo resize2fs -p test.img 165536 >> $OUT.new
+$RESIZE2FS -p $TMPFILE 165536 >> $OUT.new 2>&1
 
 $FSCK $FSCK_OPT  -N test_filesys $TMPFILE >> $OUT.new 2>&1
 status=$?
diff --git a/tests/scripts/repair-test b/tests/scripts/repair-test
new file mode 100755
index 0000000..c164e6e
--- /dev/null
+++ b/tests/scripts/repair-test
@@ -0,0 +1,9 @@
+#!/bin/sh
+for T in "$*"; do
+	[ -f "$T.failed" -a -d "$T" ] ||
+		{ echo "usage: $0 <test_to_repair>"; exit 1; }
+
+	cp $T.1.log $T/expect.1
+	cp $T.2.log $T/expect.2
+	./test_one $T
+done
diff --git a/tests/scripts/resize_test b/tests/scripts/resize_test
index 3c5e260..a000c85 100755
--- a/tests/scripts/resize_test
+++ b/tests/scripts/resize_test
@@ -1,11 +1,13 @@
 #!/bin/sh
 
-# old distros are missing "truncate", emulate it with "dd"
-truncate()
+# old distros are missing "truncate", emulate it with "dd" if necessary
+do_truncate()
 {
 	[ "$1" = "-s" ] && size=$2 && shift 2
 
-	dd if=/dev/zero of=$1 bs=1 count=0 seek=$size >> $LOG 2>&1
+	if ! truncate -s $size $1 >> $LOG 2>&1 ; then
+		dd if=/dev/zero of=$1 bs=1 count=0 seek=$size >> $LOG 2>&1
+	fi
 }
 
 resize_test () {
@@ -17,14 +19,14 @@
 
 # Verify that the $TMP filesystem handles $SIZE_2 sparse files.
 # If that fails, try the local filesystem instead.
-if truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then
+if do_truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then
 	echo "using $TMPFILE" >> $LOG
 else
 	rm $TMPFILE
 	export TMPFILE=$(mktemp ./$test_name.tmp.XXXXXX)
 	touch $TMPFILE
 	echo "using $TMPFILE" >> $LOG
-	if ! truncate -s $SIZE_2 $TMPFILE >> $LOG 2>&1; then
+	if ! do_truncate -s $SIZE_2 $TMPFILE >> $LOG 2>&1; then
 		rm $TMPFILE
 		return 111
 	fi
@@ -58,6 +60,14 @@
 echo $FSCK -fy $TMPFILE >> $LOG 2>&1 
 $FSCK -fy $TMPFILE >> $LOG 2>&1 
 
+chmod u-w $TMPFILE
+echo $RESIZE2FS -P $TMPFILE >> $LOG 2>&1
+if ! $RESIZE2FS -P $TMPFILE >> $LOG 2>&1
+then
+	return 1
+fi
+chmod u+w $TMPFILE
+
 echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS $TMPFILE $SIZE_2 >> $LOG 2>&1
 if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS $TMPFILE $SIZE_2 >> $LOG 2>&1
 then
diff --git a/tests/t_change_uuid_mcsum/script b/tests/t_change_uuid_mcsum/script
index 3658594..4ec5776 100755
--- a/tests/t_change_uuid_mcsum/script
+++ b/tests/t_change_uuid_mcsum/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs with metadata_csum" >> $OUT
-$MKE2FS -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "change UUID" >> $OUT
diff --git a/tests/t_change_uuid_mcsum_mounted/script b/tests/t_change_uuid_mcsum_mounted/script
index 5a534a0..f94bfbb 100755
--- a/tests/t_change_uuid_mcsum_mounted/script
+++ b/tests/t_change_uuid_mcsum_mounted/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs with metadata_csum" >> $OUT
-$MKE2FS -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "change UUID" >> $OUT
diff --git a/tests/t_change_uuid_mcsum_seed_mounted/script b/tests/t_change_uuid_mcsum_seed_mounted/script
index c827325..19fdbed 100755
--- a/tests/t_change_uuid_mcsum_seed_mounted/script
+++ b/tests/t_change_uuid_mcsum_seed_mounted/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs with metadata_csum" >> $OUT
-$MKE2FS -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "change UUID" >> $OUT
diff --git a/tests/t_dangerous/script b/tests/t_dangerous/script
index f684d56..a6d3dc4 100644
--- a/tests/t_dangerous/script
+++ b/tests/t_dangerous/script
@@ -33,7 +33,7 @@
 
 echo "tune2fs dangerous prompts test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -U 6fc3daa4-180d-4f2b-a6f2-f7a5efb79bcf $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux -U 6fc3daa4-180d-4f2b-a6f2-f7a5efb79bcf $TMPFILE 524288 >> $OUT 2>&1
 
 # trigger a filesystem check
 $DEBUGFS -w -R 'ssv mtime now' $TMPFILE > /dev/null 2>&1
@@ -54,7 +54,7 @@
 status=$?
 echo Exit status is $status >> $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -U 6fc3daa4-180d-4f2b-a6f2-f7a5efb79bcf $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux -U 6fc3daa4-180d-4f2b-a6f2-f7a5efb79bcf $TMPFILE 524288 >> $OUT 2>&1
 
 # dump and check
 $DUMPE2FS $TMPFILE 2> /dev/null | grep '^Group 0:' -B99 -A20 | sed -f $cmd_dir/filter.sed > $OUT.before
@@ -120,7 +120,7 @@
 echo " " >> $OUT
 echo "Testing with metadata checksum enabled" >> $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4m -U 6fc3daa4-180d-4f2b-a6f2-f7a5efb79bcf $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4m -o Linux -U 6fc3daa4-180d-4f2b-a6f2-f7a5efb79bcf $TMPFILE 524288 >> $OUT 2>&1
 $DUMPE2FS $TMPFILE 2> /dev/null | grep '^Group 0:' -B99 -A20 | sed -f $cmd_dir/filter.sed > $OUT.before
 $FSCK $FSCK_OPT -f -N test_filesys $TMPFILE >> $OUT 2>&1
 status=$?
diff --git a/tests/t_disable_changed_csum_seed/script b/tests/t_disable_changed_csum_seed/script
index f721144..449689a 100755
--- a/tests/t_disable_changed_csum_seed/script
+++ b/tests/t_disable_changed_csum_seed/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs without csum_seed" >> $OUT
-$MKE2FS -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "turn on csum_seed" >> $OUT
diff --git a/tests/t_disable_changed_csum_seed_mounted/script b/tests/t_disable_changed_csum_seed_mounted/script
index 229d6ee..ea2184f 100755
--- a/tests/t_disable_changed_csum_seed_mounted/script
+++ b/tests/t_disable_changed_csum_seed_mounted/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs without csum_seed" >> $OUT
-$MKE2FS -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "turn on csum_seed" >> $OUT
diff --git a/tests/t_disable_csum_seed/script b/tests/t_disable_csum_seed/script
index cb1cbc6..e762ad4 100755
--- a/tests/t_disable_csum_seed/script
+++ b/tests/t_disable_csum_seed/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs without csum_seed" >> $OUT
-$MKE2FS -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "turn on csum_seed" >> $OUT
diff --git a/tests/t_disable_mcsum/script b/tests/t_disable_mcsum/script
index 7f1b3b4..117969d 100644
--- a/tests/t_disable_mcsum/script
+++ b/tests/t_disable_mcsum/script
@@ -21,7 +21,7 @@
 
 echo "tune2fs ^metadata_csum test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -rf $CONF
 
 # dump and check
diff --git a/tests/t_disable_mcsum_noinitbg/script b/tests/t_disable_mcsum_noinitbg/script
index 70f40a9..bc2bad7 100644
--- a/tests/t_disable_mcsum_noinitbg/script
+++ b/tests/t_disable_mcsum_noinitbg/script
@@ -21,7 +21,7 @@
 
 echo "tune2fs ^metadata_csum test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/t_disable_mcsum_yesinitbg/script b/tests/t_disable_mcsum_yesinitbg/script
index 1f260b8..8fadc57 100644
--- a/tests/t_disable_mcsum_yesinitbg/script
+++ b/tests/t_disable_mcsum_yesinitbg/script
@@ -21,7 +21,7 @@
 
 echo "tune2fs ^metadata_csum test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/t_disable_meta_csum_and_seed/script b/tests/t_disable_meta_csum_and_seed/script
index 20e52ac..52d7f62 100755
--- a/tests/t_disable_meta_csum_and_seed/script
+++ b/tests/t_disable_meta_csum_and_seed/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs without csum_seed" >> $OUT
-$MKE2FS -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "turn on csum_seed" >> $OUT
diff --git a/tests/t_enable_csum_seed/script b/tests/t_enable_csum_seed/script
index 5eff077..78ccbeb 100755
--- a/tests/t_enable_csum_seed/script
+++ b/tests/t_enable_csum_seed/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs without csum_seed" >> $OUT
-$MKE2FS -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,^metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "turn on csum_seed" >> $OUT
diff --git a/tests/t_enable_mcsum/script b/tests/t_enable_mcsum/script
index 5239eb3..3a5409b 100644
--- a/tests/t_enable_mcsum/script
+++ b/tests/t_enable_mcsum/script
@@ -21,7 +21,7 @@
 
 echo "tune2fs metadata_csum test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -o Linux -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
 rm -rf $CONF
 
 # dump and check
diff --git a/tests/t_enable_mcsum_ext3/expect b/tests/t_enable_mcsum_ext3/expect
index 549e60e..3bd2ccf 100644
--- a/tests/t_enable_mcsum_ext3/expect
+++ b/tests/t_enable_mcsum_ext3/expect
@@ -1,4 +1,5 @@
 tune2fs metadata_csum test
+128-byte inodes cannot handle dates beyond 2038 and are deprecated
 Creating filesystem with 524288 1k blocks and 65536 inodes
 Superblock backups stored on blocks: 
 	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
diff --git a/tests/t_enable_mcsum_ext3/script b/tests/t_enable_mcsum_ext3/script
index ac63866..c008c0a 100644
--- a/tests/t_enable_mcsum_ext3/script
+++ b/tests/t_enable_mcsum_ext3/script
@@ -21,7 +21,7 @@
 
 echo "tune2fs metadata_csum test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -o Linux -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
 rm -rf $CONF
 
 # dump and check
diff --git a/tests/t_enable_mcsum_initbg/script b/tests/t_enable_mcsum_initbg/script
index 35c4541..975b0f3 100644
--- a/tests/t_enable_mcsum_initbg/script
+++ b/tests/t_enable_mcsum_initbg/script
@@ -21,7 +21,7 @@
 
 echo "tune2fs metadata_csum test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -o Linux -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1
 rm -rf $CONF
 
 # dump and check
diff --git a/tests/t_format_csum_seed/script b/tests/t_format_csum_seed/script
index 882e8eb..3038785 100755
--- a/tests/t_format_csum_seed/script
+++ b/tests/t_format_csum_seed/script
@@ -8,7 +8,7 @@
 
 # Test command line option
 echo "create fs with csum_seed" >> $OUT
-$MKE2FS -O metadata_csum,metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
+$MKE2FS -o Linux -O metadata_csum,metadata_csum_seed -U 6b33f586-a183-4383-921d-30da3fef2e5c -F $TMPFILE > /dev/null 2>&1
 $DUMPE2FS $TMPFILE 2>&1 | egrep '(Checksum seed:|UUID)' >> $OUT
 
 echo "change uuid" >> $OUT
diff --git a/tests/t_iexpand_full/expect b/tests/t_iexpand_full/expect
index 354818e..f99ab4b 100644
--- a/tests/t_iexpand_full/expect
+++ b/tests/t_iexpand_full/expect
@@ -1,4 +1,5 @@
 tune2fs test
+128-byte inodes cannot handle dates beyond 2038 and are deprecated
 Creating filesystem with 786432 1k blocks and 98304 inodes
 Superblock backups stored on blocks: 
 	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553
diff --git a/tests/t_iexpand_full/script b/tests/t_iexpand_full/script
index bd0b700..2d347c2 100644
--- a/tests/t_iexpand_full/script
+++ b/tests/t_iexpand_full/script
@@ -34,7 +34,7 @@
 
 echo "tune2fs test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -I 128 $TMPFILE 786432 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux -I 128 $TMPFILE 786432 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/t_iexpand_mcsum/expect b/tests/t_iexpand_mcsum/expect
index c24a245..354b117 100644
--- a/tests/t_iexpand_mcsum/expect
+++ b/tests/t_iexpand_mcsum/expect
@@ -1,4 +1,5 @@
 tune2fs test
+128-byte inodes cannot handle dates beyond 2038 and are deprecated
 Creating filesystem with 786432 1k blocks and 98304 inodes
 Superblock backups stored on blocks: 
 	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553
diff --git a/tests/t_iexpand_mcsum/script b/tests/t_iexpand_mcsum/script
index 32c8d0e..9ee75cf 100644
--- a/tests/t_iexpand_mcsum/script
+++ b/tests/t_iexpand_mcsum/script
@@ -34,7 +34,7 @@
 
 echo "tune2fs test" > $OUT
 
-MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -I 128 $TMPFILE 786432 >> $OUT 2>&1
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux -I 128 $TMPFILE 786432 >> $OUT 2>&1
 rm -f $CONF
 
 # dump and check
diff --git a/tests/t_quota_add/name b/tests/t_quota_add/name
new file mode 100644
index 0000000..43a4bfd
--- /dev/null
+++ b/tests/t_quota_add/name
@@ -0,0 +1 @@
+add several quota types using tune2fs and check computed usage
diff --git a/tests/t_quota_add/script b/tests/t_quota_add/script
new file mode 100644
index 0000000..c26c37a
--- /dev/null
+++ b/tests/t_quota_add/script
@@ -0,0 +1,46 @@
+FSCK_OPT=-yf
+
+if [ "$QUOTA" != "y" ]; then
+	echo "$test_name: $test_description: skipped"
+	return 0
+fi
+
+$MKE2FS -q -F -o Linux -b 4096 -O quota -E quotatype=prjquota $TMPFILE 10000 > $test_name.log 2>&1
+status=$?
+if [ "$status" != 0 ] ; then
+	echo "mke2fs failed" > $test_name.failed
+	echo "$test_name: $test_description: failed"
+	return $status
+fi
+
+for type in usrquota grpquota; do
+	$TUNE2FS -Q $type $TMPFILE >> $test_name.log 2>&1
+	status=$?
+	if [ "$status" != 0 ] ; then
+		echo "tune2fs -O quota failed with $status" > $test_name.failed
+		echo "$test_name: $test_description: failed"
+		return $status
+	fi
+done
+
+UUSAGE=$($DEBUGFS 2>/dev/null -R "lq user" $TMPFILE | grep "^ *0 ")
+for type in group project; do
+	TUSAGE=$($DEBUGFS 2>/dev/null -R "lq $type" $TMPFILE | grep "^ *0 ")
+	if [ "$TUSAGE" != "$UUSAGE" ]; then
+		echo "user and $type quota entries are different" >$test_name.failed
+		echo "$test_name: $test_description: failed"
+		return 1
+	fi
+done
+
+$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1
+status=$?
+if [ "$status" = 0 ] ; then
+	echo "$test_name: $test_description: ok"
+	touch $test_name.ok
+else
+	echo "e2fsck with quota enabled failed with $status" > $test_name.failed
+	echo "$test_name: $test_description: failed"
+	return $status
+fi
+rm -f $TMPFILE
diff --git a/tests/t_uninit_bg_rm/script b/tests/t_uninit_bg_rm/script
index 7b95710..66eb21c 100644
--- a/tests/t_uninit_bg_rm/script
+++ b/tests/t_uninit_bg_rm/script
@@ -3,9 +3,10 @@
 FSCK_OPT=-yf
 EXP=$test_dir/expect
 
-if [ $(uname -s) = "Darwin" ]; then
+os=$(uname -s)
+if [ "$os" = "Darwin" -o "$os" = "GNU" -o "FreeBSD" ]; then
 	# creates a 10GB filesystem
-	echo "$test_name: $DESCRIPTION: skipped for HFS+ (no sparse files)"
+	echo "$test_name: $test_description: skipped for $os"
 	return 0
 fi
 
diff --git a/tests/test_one.in b/tests/test_one.in
index 5d7607a..78499ad 100644
--- a/tests/test_one.in
+++ b/tests/test_one.in
@@ -82,6 +82,10 @@
 	echo "$test_name:  consider adding $test_dir/is_slow_test"
 fi
 
+if [ -n "$PRINT_FAILED" -a -f $test_name.failed ] ; then
+	cat $test_name.failed
+fi
+
 if [ "$SKIP_UNLINK" != "true" ] ; then
 	rm -f $TMPFILE
 fi
diff --git a/tests/u_bounce_io/expect.1 b/tests/u_bounce_io/expect.1
index a11cb9b..e1d1845 100644
--- a/tests/u_bounce_io/expect.1
+++ b/tests/u_bounce_io/expect.1
@@ -12,7 +12,7 @@
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
-test_filesys: 11/16384 files (0.0% non-contiguous), 3364/65536 blocks
+test_filesys: 11/16384 files (0.0% non-contiguous), 5412/65536 blocks
 Exit status is 0
 Filesystem volume name:   <none>
 Last mounted on:          <not available>
@@ -26,8 +26,8 @@
 Inode count:              16384
 Block count:              65536
 Reserved block count:     3276
-Overhead clusters:        3350
-Free blocks:              62172
+Overhead clusters:        5398
+Free blocks:              60124
 Free inodes:              16373
 First block:              1
 Block size:               1024
@@ -36,13 +36,15 @@
 Blocks per group:         8192
 Fragments per group:      8192
 Inodes per group:         2048
-Inode blocks per group:   256
+Inode blocks per group:   512
 Mount count:              0
 Check interval:           15552000 (6 months)
 Reserved blocks uid:      0
 Reserved blocks gid:      0
 First inode:              11
-Inode size:	          128
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
 Default directory hash:   half_md4
 
 
@@ -50,57 +52,57 @@
   Primary superblock at 1, Group descriptors at 2-2
   Reserved GDT blocks at 3-257
   Block bitmap at 258 (+257), Inode bitmap at 259 (+258)
-  Inode table at 260-515 (+259)
-  7663 free blocks, 2037 free inodes, 2 directories
-  Free blocks: 530-8192
+  Inode table at 260-771 (+259)
+  7407 free blocks, 2037 free inodes, 2 directories
+  Free blocks: 786-8192
   Free inodes: 12-2048
 Group 1: (Blocks 8193-16384)
   Backup superblock at 8193, Group descriptors at 8194-8194
   Reserved GDT blocks at 8195-8449
   Block bitmap at 8450 (+257), Inode bitmap at 8451 (+258)
-  Inode table at 8452-8707 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 8708-16384
+  Inode table at 8452-8963 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 8964-16384
   Free inodes: 2049-4096
 Group 2: (Blocks 16385-24576)
   Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
-  Inode table at 16387-16642 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 16643-24576
+  Inode table at 16387-16898 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 16899-24576
   Free inodes: 4097-6144
 Group 3: (Blocks 24577-32768)
   Backup superblock at 24577, Group descriptors at 24578-24578
   Reserved GDT blocks at 24579-24833
   Block bitmap at 24834 (+257), Inode bitmap at 24835 (+258)
-  Inode table at 24836-25091 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 25092-32768
+  Inode table at 24836-25347 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 25348-32768
   Free inodes: 6145-8192
 Group 4: (Blocks 32769-40960)
   Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
-  Inode table at 32771-33026 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 33027-40960
+  Inode table at 32771-33282 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 33283-40960
   Free inodes: 8193-10240
 Group 5: (Blocks 40961-49152)
   Backup superblock at 40961, Group descriptors at 40962-40962
   Reserved GDT blocks at 40963-41217
   Block bitmap at 41218 (+257), Inode bitmap at 41219 (+258)
-  Inode table at 41220-41475 (+259)
-  7677 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 41476-49152
+  Inode table at 41220-41731 (+259)
+  7421 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 41732-49152
   Free inodes: 10241-12288
 Group 6: (Blocks 49153-57344)
   Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
-  Inode table at 49155-49410 (+2)
-  7934 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 49411-57344
+  Inode table at 49155-49666 (+2)
+  7678 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 49667-57344
   Free inodes: 12289-14336
 Group 7: (Blocks 57345-65535)
   Backup superblock at 57345, Group descriptors at 57346-57346
   Reserved GDT blocks at 57347-57601
   Block bitmap at 57602 (+257), Inode bitmap at 57603 (+258)
-  Inode table at 57604-57859 (+259)
-  7676 free blocks, 2048 free inodes, 0 directories
-  Free blocks: 57860-65535
+  Inode table at 57604-58115 (+259)
+  7420 free blocks, 2048 free inodes, 0 directories
+  Free blocks: 58116-65535
   Free inodes: 14337-16384
diff --git a/tests/u_direct_io/expect b/tests/u_direct_io/expect
new file mode 100644
index 0000000..830cbd7
--- /dev/null
+++ b/tests/u_direct_io/expect
@@ -0,0 +1,63 @@
+mke2fs -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D $LOOP
+Creating filesystem with 32768 4k blocks and 32768 inodes
+
+Allocating group tables:    done                            
+Writing inode tables:    done                            
+Creating journal (4096 blocks): done
+Writing superblocks and filesystem accounting information:    done
+
+debugfs -D -R stats $LOOP
+Filesystem volume name:   <none>
+Last mounted on:          <not available>
+Filesystem magic number:  0xEF53
+Filesystem revision #:    1 (dynamic)
+Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file dir_nlink extra_isize
+Default mount options:    (none)
+Filesystem state:         clean
+Errors behavior:          Continue
+Filesystem OS type:       Linux
+Inode count:              32768
+Block count:              32768
+Reserved block count:     1638
+Overhead clusters:        6155
+Free blocks:              26607
+Free inodes:              32757
+First block:              0
+Block size:               4096
+Fragment size:            4096
+Reserved GDT blocks:      7
+Blocks per group:         32768
+Fragments per group:      32768
+Inodes per group:         32768
+Inode blocks per group:   2048
+Flex block group size:    16
+Mount count:              0
+Check interval:           15552000 (6 months)
+Reserved blocks uid:      0
+Reserved blocks gid:      0
+First inode:              11
+Inode size:	          256
+Required extra isize:     32
+Desired extra isize:      32
+Journal inode:            8
+Default directory hash:   half_md4
+Journal backup:           inode blocks
+Directories:              2
+ Group  0: block bitmap at 9, inode bitmap at 25, inode table at 41
+           26607 free blocks, 32757 free inodes, 2 used directories
+e2fsck -fn -N test_filesys $LOOP
+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/32768 files (9.1% non-contiguous), 6161/32768 blocks
+Exit status is 0
+e2fsck -fn -N test_filesys $TMPFILE
+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/32768 files (9.1% non-contiguous), 6161/32768 blocks
+Exit status is 0
diff --git a/tests/u_direct_io/script b/tests/u_direct_io/script
new file mode 100644
index 0000000..b4f0775
--- /dev/null
+++ b/tests/u_direct_io/script
@@ -0,0 +1,49 @@
+DESCRIPTION="direct I/O in unix_io"
+OUT=$test_name.log
+if test "$(id -u)" -ne 0 ; then
+    echo "$test_name: $DESCRIPTION: skipped (not root)"
+elif ! command -v losetup >/dev/null ; then
+    echo "$test_name: $DESCRIPTION: skipped (no losetup)"
+elif test ! -x $DEBUGFS_EXE; then
+    echo "$test_name: $DESCRIPTION: skipped (no debugfs)"
+else
+    dd if=/dev/zero of=$TMPFILE bs=1M count=128 > /dev/null 2>&1
+    LOOP=$(losetup --show --sector-size 4096 -f $TMPFILE)
+    if [ ! -b "$LOOP" ]; then
+        echo "$test_name: $DESCRIPTION: skipped (no loop devices)"
+        rm -f $TMPFILE
+        exit 0
+    fi
+    echo mke2fs -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D \$LOOP > $OUT
+    $MKE2FS -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D $LOOP 2>&1 | \
+	sed -f $cmd_dir/filter.sed >> $OUT
+
+    echo debugfs -D -R stats \$LOOP >> $OUT
+    $DEBUGFS -D -R stats $LOOP 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
+
+    echo e2fsck -fn -N test_filesys \$LOOP > $OUT.new
+    $FSCK -fn -N test_filesys $LOOP >> $OUT.new 2>&1
+    echo Exit status is $? >> $OUT.new
+    sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+    rm -f $OUT.new
+
+    losetup -d $LOOP
+
+    echo e2fsck -fn -N test_filesys \$TMPFILE > $OUT.new
+    $FSCK -fn -N test_filesys $TMPFILE >> $OUT.new 2>&1
+    echo Exit status is $? >> $OUT.new
+    sed -f $cmd_dir/filter.sed $OUT.new >> $OUT
+    rm -f $OUT.new
+
+    cmp -s $test_name.log $test_dir/expect
+
+    if [ "$?" -eq 0 ]; then
+	echo "$test_name: $DESCRIPTION: ok"
+	touch $test_name.ok
+    else
+	echo "$test_name: $DESCRIPTION: failed"
+	diff $DIFF_OPTS $test_dir/expect $test_name.log >> $test_name.failed
+    fi
+fi
+
+unset LOOP
diff --git a/util/android_config.h b/util/android_config.h
index 6ac16fe..c228860 100644
--- a/util/android_config.h
+++ b/util/android_config.h
@@ -36,7 +36,6 @@
 
 #if defined(_WIN32)
 # define HAVE_LINUX_TYPES_H 1
-# define HAVE_WINSOCK_H 1
 #endif
 #if defined(__APPLE__) || defined(__linux__)
 # define HAVE_FCNTL 1
@@ -55,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/util/mkutf8data.c b/util/mkutf8data.c
index 49bb0e1..2af25ac 100644
--- a/util/mkutf8data.c
+++ b/util/mkutf8data.c
@@ -3003,7 +3003,7 @@
 /*
  * Get one byte from the normalized form of the string described by u8c.
  *
- * Returns the byte cast to an unsigned char on succes, and -1 on failure.
+ * Returns the byte cast to an unsigned char on success, and -1 on failure.
  *
  * The cursor keeps track of the location in the string in u8c->s.
  * When a character is decomposed, the current location is stored in
diff --git a/util/subst.c b/util/subst.c
index 66d7d9a..be2a0dd 100644
--- a/util/subst.c
+++ b/util/subst.c
@@ -434,16 +434,20 @@
 					printf("Using original atime\n");
 				set_utimes(outfn, fileno(old), tv);
 			}
+#ifndef _WIN32
 			if (ofd >= 0)
 				(void) fchmod(ofd, 0444);
+#endif
 			fclose(out);
 			if (unlink(newfn) < 0)
 				perror("unlink");
 		} else {
 			if (verbose)
 				printf("Creating or replacing %s.\n", outfn);
+#ifndef _WIN32
 			if (ofd >= 0)
 				(void) fchmod(ofd, 0444);
+#endif
 			fclose(out);
 			if (old)
 				fclose(old);
diff --git a/version.h b/version.h
index e27de3c..5a8863a 100644
--- a/version.h
+++ b/version.h
@@ -3,9 +3,11 @@
  * programs.
  *
  * Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- * 2004, 2005, 2006, 2007, 2008, 2009, 2010 by Theodore Ts'o.  This
- * file may be redistributed under the GNU Public License v2.
+ * 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
+ * 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 by Theodore
+ * Ts'o.  This file may be redistributed under the GNU General Public
+ * License v2.
  */
 
-#define E2FSPROGS_VERSION "1.46.2"
-#define E2FSPROGS_DATE "28-Feb-2021"
+#define E2FSPROGS_VERSION "1.46.6"
+#define E2FSPROGS_DATE "1-Feb-2023"