Whamcloud - gitweb
tools/e2fsprogs.git
6 years agopo: update es.po (from translationproject.org)
Antonio Ceballos [Wed, 7 Mar 2018 19:23:56 +0000 (14:23 -0500)]
po: update es.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agopo: update cs.po (from translationproject.org)
Petr Pisar [Wed, 7 Mar 2018 19:23:56 +0000 (14:23 -0500)]
po: update cs.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoUpdate release notes, etc., for the 1.44.0-rc2 release v1.44.0-rc2
Theodore Ts'o [Sun, 4 Mar 2018 21:30:46 +0000 (16:30 -0500)]
Update release notes, etc., for the 1.44.0-rc2 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotests: test e2fsck's handling of bad symlinks
Eric Biggers [Sat, 3 Mar 2018 00:59:23 +0000 (16:59 -0800)]
tests: test e2fsck's handling of bad symlinks

Add a test which verifies that e2fsck will detect a variety of bad
symlinks, both fast and slow, and with several combinations of
filesystem features including extents, encryption, and inline_data.
There was already a similar test (f_badsymlinks), but it's an old test
that doesn't use any of these newer filesystem features.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: require that fast symlinks don't have EXT4_EXTENTS_FL
Eric Biggers [Sat, 3 Mar 2018 00:59:22 +0000 (16:59 -0800)]
e2fsck: require that fast symlinks don't have EXT4_EXTENTS_FL

It doesn't make sense for EXT4_EXTENTS_FL to be set on a fast symlink.
The kernel doesn't set it, and it ignores it if set.  Meanwhile, e2fsck
is stricter: it will try to validate the extent tree, which will almost
certainly fail (assuming the symlink is, in fact, a fast symlink).

Make this behavior more explicit by rejecting EXT4_EXTENTS_FL for fast
symlinks, rather than going ahead and trying to validate an extent tree.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: validate the targets of extent-based symlinks
Eric Biggers [Sat, 3 Mar 2018 00:59:21 +0000 (16:59 -0800)]
e2fsck: validate the targets of extent-based symlinks

e2fsck is validating the target (requiring that it be NUL-terminated at
i_size, or something a bit different for encrypted symlinks) of slow
symlinks that use a traditional block list but not ones that use an
extent tree.  As far as I can tell this is simply a bug: there's no
reason for the representation of the block list to affect how the
symlink target is validated.  And either way the kernel won't create
symlinks with embedded NULs and will always add a terminating NUL.

Thus, make e2fsck_pass1_check_symlink() start validating the targets of
extent-based symlinks.

Fixes: 7cadc57780f3 ("e2fsck: Support long symlinks which use extents")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: drop redundant checks of symlink i_size
Eric Biggers [Sat, 3 Mar 2018 00:59:20 +0000 (16:59 -0800)]
e2fsck: drop redundant checks of symlink i_size

e2fsck_pass1_check_symlink() verifies that the symlink inode's i_size is
less than the buffer length (60 for fast symlinks, fs->blocksize for
slow symlinks).  But it also verifies that len == i_size &&
len < buflen, which already implies i_size < buflen.  Thus, remove the
redundant checks of i_size.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: require i_size == fscrypt_symlink_data.len + 2
Eric Biggers [Sat, 3 Mar 2018 00:59:19 +0000 (16:59 -0800)]
e2fsck: require i_size == fscrypt_symlink_data.len + 2

e2fsck validates that unencrypted symlinks have their strlen() equal to
i_size.  But it skips the equivalent check of i_size ==
fscrypt_symlink_data.len + 2 for encrypted symlinks.  Actually, the
encrypted symlink header is redundant with i_size and shouldn't exist.
But it's there, and the kernel does in fact use the length in the header
instead of i_size -- so e2fsck should validate the header.

Thus, remove the exception for encrypted symlinks, so e2fsck will now
require i_size == fscrypt_symlink_data.len + 2.  I think the exception
was only there originally because for encrypted fast symlinks we were
calculating the length using strnlen() which was wrong.  But that was
fixed by the previous patch.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: validate fscrypt_symlink_data.len for fast symlinks too
Eric Biggers [Sat, 3 Mar 2018 00:59:18 +0000 (16:59 -0800)]
e2fsck: validate fscrypt_symlink_data.len for fast symlinks too

Both fast and slow encrypted symlinks are prefixed with the ciphertext
length field (fscrypt_symlink_data.len).  But e2fsck was only checking
it for slow symlinks.  Start checking it for fast symlinks too.  This
matches the kernel handling of encrypted symlinks.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoMerge branch 'maint' into next
Theodore Ts'o [Sat, 3 Mar 2018 21:39:32 +0000 (16:39 -0500)]
Merge branch 'maint' into next

6 years agoe2fsck: validate that fscrypt_symlink_data.len is not too large
Eric Biggers [Sat, 3 Mar 2018 00:59:17 +0000 (16:59 -0800)]
e2fsck: validate that fscrypt_symlink_data.len is not too large

Make e2fsck start validating that the ciphertext length stored in the
header of an encrypted symlink target, plus the header itself, is no
larger than a filesystem block.  Previously e2fsck only verified that
this size is not exactly equal to a filesystem block.  This was
sufficient for unencrypted symlinks, where the "actual length" is
computed using strnlen(), but not for encrypted symlinks; the kernel
also considers encrypted symlinks with too-large ciphertext length to be
invalid.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: fix reading fscrypt_symlink_data.len
Eric Biggers [Sat, 3 Mar 2018 00:59:16 +0000 (16:59 -0800)]
e2fsck: fix reading fscrypt_symlink_data.len

The ciphertext length field stored at the beginning of encrypted symlink
targets is 16-bit.  But e2fsck_pass1_check_symlink() is reading it as
32-bit.  This was apparently left over from an earlier on-disk format
that was not merged.  Fix it.

This bug caused a small proportion of encrypted symlinks with 4092-byte
targets to be considered invalid by e2fsck, but otherwise had no effect.

Fixes: 62ad24802c6e ("e2fsck: handle encrypted directories which are indexed using htree")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: make sure the system.data xattr gets created
Eric Biggers [Sat, 3 Mar 2018 00:59:15 +0000 (16:59 -0800)]
libext2fs: make sure the system.data xattr gets created

Both the kernel and e2fsck expect that if an inode has inline data, then
it contains a "system.data" xattr -- even if i_size <= 60 so the data
fits entirely in i_block.

But if a symlink of exactly 60 bytes (not counting a NUL terminator) was
created using ext2fs_symlink() and the inline data feature was enabled,
then the symlink inode ended up with inline data but without a
system.data xattr.  This is possible because "fast" symlinks store a NUL
terminator but inline data symlinks do not.  So 60 bytes is too long for
a real fast symlink, but still short enough to fit the entire target in
i_block as a "slow" symlink using inline data.

Some places use ext2fs_inline_data_init() to ensure the system.data
xattr is created, but the symlink path does not.

Fix this by making ext2fs_inline_data_set() set system.data to an empty
string when i_size <= 60.

Fixes: 54e880b870f7 ("libext2fs: handle inline data in read/write function")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: forbid creating symlinks using entire block
Eric Biggers [Sat, 3 Mar 2018 00:59:14 +0000 (16:59 -0800)]
libext2fs: forbid creating symlinks using entire block

ext2fs_symlink() didn't count the NUL terminator when limiting the
symlink target length to fs->blocksize, so it could create symlinks
using the entire block.  Such symlinks are problematic because if
block_size == PAGE_SIZE (as is usually the case), then when following
such a symlink the kernel will truncate the last byte because it needs
to ensure the symlink page is NUL-terminated (see page_get_link()).
Perhaps for that reason, e2fsck considers such symlinks to be invalid
(although only if they use the traditional block list rather than an
extent tree, which seems to be another bug).

Fix this by counting the NUL terminator, thereby decreasing the maximum
accepted symlink target length by 1.  Note that this matches the
kernel's behavior in ext4_symlink().

This breaks the test 'f_create_symlinks' which was using debugfs to
create a 1024-byte symlink (not counting the NUL terminator) on a
1024-byte block filesystem.  Fix it by removing the leading '/' from the
test's symlink targets so that their lengths are decreased by 1.

Fixes: f01c1a6bce5e ("libext2fs: add the ext2fs_symlink() function")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoMerge branch 'maint' into next
Theodore Ts'o [Fri, 2 Mar 2018 23:25:41 +0000 (18:25 -0500)]
Merge branch 'maint' into next

6 years agoblkid: fix building e2fsprogs with internal libblkid
Eric Biggers [Fri, 2 Mar 2018 05:21:35 +0000 (21:21 -0800)]
blkid: fix building e2fsprogs with internal libblkid

Building e2fsprogs with the internal libblkid fails for me with the
following compiler error:

In file included from blkidP.h:27:0,
 from dev.c:17:
dev.c: In function ‘blkid_free_dev’:
../../lib/blkid/list.h:149:42: error: ‘intptr_t’ undeclared (first use in this function); did you mean ‘__intptr_t’?
  ((type *)((char *)(ptr)-(unsigned long)(intptr_t)(&((type *)0)->member)))

The problem is that lib/blkid/list.h is now using 'intptr_t', but
stdint.h is not guaranteed to have been included yet.  Include it.

[ Changed to use inttypes.h if it is available and fall back to stdint.h
  if it is not available - tytso ]

Fixes: 0a3d8041892c ("AOSP: build mke2fs for windows using android mingw library")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: remove get_filename_hash() prototype
Eric Biggers [Fri, 2 Mar 2018 03:52:57 +0000 (19:52 -0800)]
e2fsck: remove get_filename_hash() prototype

get_filename_hash() is not defined anywhere, so remove its prototype.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years ago.gitignore: add cscope files
Eric Biggers [Fri, 2 Mar 2018 03:52:36 +0000 (19:52 -0800)]
.gitignore: add cscope files

The .gitignore file for e2fsprogs was ignoring the index files for ctags
but not for cscope.  Add cscope to the list.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years ago.gitignore: add misc/e4crypt and misc/e4crypt.8
Eric Biggers [Fri, 2 Mar 2018 03:51:22 +0000 (19:51 -0800)]
.gitignore: add misc/e4crypt and misc/e4crypt.8

It was forgotten to add these to .gitignore when e4crypt was added.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoconfig: update config.{guess,sub}
Theodore Ts'o [Fri, 2 Mar 2018 19:26:52 +0000 (14:26 -0500)]
config: update config.{guess,sub}

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2freefrag: fix portability problem for Hurd
Theodore Ts'o [Fri, 2 Mar 2018 19:14:57 +0000 (14:14 -0500)]
e2freefrag: fix portability problem for Hurd

Hurd doesn't define PATH_MAX, so define a fallback definition.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoUpdate release notes, etc., for the 1.44.0-rc1 release v1.44.0-rc1
Theodore Ts'o [Wed, 28 Feb 2018 03:25:04 +0000 (22:25 -0500)]
Update release notes, etc., for the 1.44.0-rc1 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: declare local functions static to avoid namespace leakage
Theodore Ts'o [Wed, 28 Feb 2018 03:15:54 +0000 (22:15 -0500)]
libext2fs: declare local functions static to avoid namespace leakage

The functions, xattr_array_update() and space_used() were accidentally
allowed to be declared extern and were thus made available via the
shared library.  Fix this.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoBreak up RELEASE-NOTES into files in doc/RelNotes
Theodore Ts'o [Tue, 27 Feb 2018 22:32:27 +0000 (17:32 -0500)]
Break up RELEASE-NOTES into files in doc/RelNotes

The RELEASE-NOTES file was getting too big as be unweildy.  It also
made it hard to have simultaneous releases of older maintenance
releases.  So split it up into smaller files in the doc/RelNotes
directory.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoresize2fs: remove bigalloc warning for online resizing
Theodore Ts'o [Tue, 27 Feb 2018 06:27:10 +0000 (01:27 -0500)]
resize2fs: remove bigalloc warning for online resizing

The kernel supports online resizing of bigalloc file systems.  There's
no real point to have a scary messaging when doing an online resize of
bigalloc file systems, since all of the heavy lifting is done by the
kernel.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agomke2fs: use io_channel_flush() instead of sync() for sync_kludge
Theodore Ts'o [Tue, 27 Feb 2018 02:54:42 +0000 (21:54 -0500)]
mke2fs: use io_channel_flush() instead of sync() for sync_kludge

Also add support so that sync_kludge can be set via /etc/mke2fs.conf.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoClean up util/android_config.h
Theodore Ts'o [Tue, 27 Feb 2018 02:19:02 +0000 (21:19 -0500)]
Clean up util/android_config.h

Remove duplicate #defines and reorganize them to minimize excess

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoremove AOSP's lib/config.h and update util/android_config.h
Theodore Ts'o [Tue, 27 Feb 2018 01:56:33 +0000 (20:56 -0500)]
remove AOSP's lib/config.h and update util/android_config.h

While synchronizing with the AOSP e2fsprogs tree, lib/config.h was
accidentally checked in.  In the upstream repository, the official
copy of lib/config.h for Android should be stored in
util/android_config.h, since lib/config.h will confuse Unix builds.

This means that when synchronizing with the AOSP tree, changes
lib/config.h need to be reflected in util/android_config.h

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoAOSP: use e2fsprogs-defaults for ccflags
Theodore Ts'o [Mon, 26 Feb 2018 18:54:20 +0000 (13:54 -0500)]
AOSP: use e2fsprogs-defaults for ccflags

From AOSP commit: 2002d7f1fc: Use -Werror in external/e2fsprogs

... which got reverted and reapplied in a confusing way.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoAOSP: Revert "Add "libc" to soong static_executable targets."
Jeff Gaston [Thu, 16 Mar 2017 22:41:13 +0000 (15:41 -0700)]
AOSP: Revert "Add "libc" to soong static_executable targets."

This reverts commit b799ad178fa18c2925a283206496d3f5d6e87f35.
It's no longer needed after https://android-review.googlesource.com/c/329298/

Bug: 34722432
Test: lunch aosp_arm-eng && mmma external/e2fsprogs
Change-Id: I4115fe89ef7751364053223be24e7682e66b6b67
From AOSP commit: 34115ec38e86ba3cc17ae7a866e891abf7bd3aeb

6 years agoAOSP: mke2fs: Don't require mke2fs.conf on Windows.
Steven Moreland [Mon, 12 Feb 2018 23:18:03 +0000 (15:18 -0800)]
AOSP: mke2fs: Don't require mke2fs.conf on Windows.

This target doesn't exist on Windows.

Fixes the following error:
build/make/core/main.mk:586: warning: Missing required dependency host_cross_mke2fs.conf from module host_cross_mke2fs defined in out/soong/Android-aosp_walleye.mk

Bug: 7456955
Test: above error no longer present
Change-Id: I278e53488ecfc4f9d5e540a70276344af06ad455
From AOSP commit: dd086f6cfbec49e47ae407d9cbbbc374edd2925b

6 years agoAOSP: mke2fs: add links for mkfs.ext[234]
Mark Salyzyn [Mon, 12 Feb 2018 21:17:21 +0000 (13:17 -0800)]
AOSP: mke2fs: add links for mkfs.ext[234]

LTP tests assume existence of mkfs.ext[234] in order to create
filesystems, so we add the symbolic links.

Test: vts
Bug: 31226527
Bug: 31226662
Bug: 31226379
Bug: 31226047
Bug: 31226376
Bug: 31226714
Bug: 31226122
Bug: 31225634
Bug: 31226069
Bug: 31226031
Bug: 31225881
Bug: 31226562
Bug: 31226411
Bug: 31226410
Bug: 31226028
Bug: 31226509
Bug: 31226253
Bug: 31226404
Bug: 31226353
Bug: 31225624
Bug: 31225677
Bug: 31225191
Change-Id: I039c9e495d11dfc448f7f0de9e519394ed827d7a
From AOSP commit: cca6a5cea983546f08584e74bba271524ce37b11

6 years agoAOSP: blkid: sanity check 'end' address must be greater than or equal to 'lable'...
Dong Jinguang [Fri, 29 Dec 2017 09:00:37 +0000 (17:00 +0800)]
AOSP: blkid: sanity check 'end' address must be greater than or equal to 'lable' address.

Avoid a potential out-of-bounds memory access address of label

Test: mma -j8 and boot devices
Change-Id: I155aa4e26f7079f517be3202de0032a86368559d
From AOSP commit: 38324e758b803e99419d24e16a00b32f8ebbf473

6 years agoAOSP: Suppress warnings/errors for clang+mingw
Dan Willemsen [Thu, 30 Nov 2017 04:20:04 +0000 (20:20 -0800)]
AOSP: Suppress warnings/errors for clang+mingw

Hide unused parameters/variables warnings for mingw.

There are a lot of typedef redefinition errors (warnings) stemming from
linux/types.h being included after ext2_types.h

Bug: 69933068
Test: mmma external/e2fsprogs
Change-Id: Id0815e9e01f4c137fb57696f7afd37935ebd35a1
From AOSP commit: 5155fb404659d345ee4b536673ac83b0f822e8a3

6 years agoAOSP: Standarize on VFS_CAP_REVISION_2
Nick Kralevich [Mon, 27 Nov 2017 22:07:42 +0000 (14:07 -0800)]
AOSP: Standarize on VFS_CAP_REVISION_2

In https://github.com/torvalds/linux/commit/8db6c34f1dbc8 , namespaced
file capabilities were introduced. That change updated VFS_CAP_REVISION
from VFS_CAP_REVISION_2 to VFS_CAP_REVISION_3.

Android code is written assuming v2 capabilities, and the code will
break if we naively try to treat a v2 structure as a v3 structure.
So don't even try.

Android kernels prior to v4.14 will not support this extended capability
structure, so attempting to set such capabilities will ultimately fail.

With 8db6c34f1dbc8, it appears that attempting to read a v3 capabilities
xattr will always downgrade the capability to a v2 capability, so it
really doesn't make sense to look for a v3 capability.

Android capabilities are only created at /system and /vendor filesystem
creation time by host tools. Android processes, within or outside a
namespace, are not permitted CAP_SETFCAP
(https://android-review.googlesource.com/c/platform/system/sepolicy/+/547801/1/public/domain.te
line 1101). So we should never have to deal with a v3 capability other
than those that might appear on the /system / /vendor partition at a
future date by a future author.

Bug: 69617725
Test: build/test/boot/CTS passes
Change-Id: I7f9ed62b0a539f705d697113d007f0e7379221ea
From AOSP commit: b256c96940e8e709456f0dc29cce5bf8285f687d

6 years agoAOSP: Remove unnecessary warning flags, now that the warnings are fixed.
Stephen Hines [Fri, 10 Nov 2017 23:49:47 +0000 (15:49 -0800)]
AOSP: Remove unnecessary warning flags, now that the warnings are fixed.

Bug: http://b/66996870
Bug: http://b/67046543
Test: Built aosp_sailfish successfully.
Change-Id: Ie527b8f4d2917f226c6379bc5873a14d51782ecd
From AOSP commit: 70c8ef1b628bffd2d816774a03b513f30e202715

6 years agoAOSP: Add e2fsprogs-defaults cc_defaults
Chih-Hung Hsieh [Wed, 27 Sep 2017 18:12:30 +0000 (11:12 -0700)]
AOSP: Add e2fsprogs-defaults cc_defaults

This is the result of two commits:

AOSP: Use -Werror in external/e2fsprogs
AOSP: Revert "Use -Werror in external/e2fsprogs"

... where the second wasn't quite an exact revert of the first.
Sigh.

Change-Id: I3842bd72cdb24ca51a0a42685a33a0ce082f9c77
From AOSP commit: 2002d7f1fca44300198d7eee8503e015e4d4682e

Change-Id: I16e52d4088c5b85dd23de519cb5af8aefeef85e6
From AOSP commit: ec02acfd8576df4bd0779c9f88f32e02355c5d2c

6 years agoFix whitespace fixups in ext2_types.h.in
Theodore Ts'o [Mon, 26 Feb 2018 17:41:39 +0000 (12:41 -0500)]
Fix whitespace fixups in ext2_types.h.in

This was the remaining cleanup still left from AOSP commit
3b6444cb27c196ad4f8356c7cee4465b6cd7865e

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoRemove fsstress from build
Jin Qian [Tue, 10 Oct 2017 00:42:13 +0000 (17:42 -0700)]
Remove fsstress from build

This is outdated and deprecated by android-xfstests
http://thunk.org/android-xfstests

Bug: 67046543
Change-Id: Ic80d5636bc06420f92ee2400bada5b7eb5595253
From AOSP commit: da63249bb23d54e7a9eaab1d365ec7b175ad5e30

6 years agoAOSP: Suppress use of ASan on e2fsdroid temporarily.
Stephen Hines [Fri, 27 Oct 2017 18:44:15 +0000 (11:44 -0700)]
AOSP: Suppress use of ASan on e2fsdroid temporarily.

There is a heap buffer overflow that the next toolchain detects on
e2fsdroid. In order to expedite deploying that toolchain, which has been
validated on all of our other targets, we are going to suppress
host sanitization of this executable until we can resolve the actual
bug.

Bug: http://b/68387795
Test: ASAN_OPTIONS=detect_leaks=0 SANITIZE_HOST=address m -j48
Change-Id: I35126c25a65304e53a18031d99334cc57e21a6a5
From AOSP commit: 4705e518c65bf38d876188f28b65fd4815c716d7

6 years agoAOSP: Rename libz-host -> libz
Dan Willemsen [Wed, 27 Sep 2017 23:11:57 +0000 (16:11 -0700)]
AOSP: Rename libz-host -> libz

Test: m host
Change-Id: I8b0edfe2076531bd4c4f1023b1076aec5f722a44
From AOSP commit: d4356bb606dbcad0b77788318c6199081262b373

6 years agoAOSP: mke2fs, libext2fs: make filesystem image reproducible
Jin Qian [Mon, 28 Aug 2017 21:44:14 +0000 (14:44 -0700)]
AOSP: mke2fs, libext2fs: make filesystem image reproducible

Override fs->now with env E2FSPROGS_FAKE_TIME
Override hash seed with -E hash_seed=<uuid>

Bug: 64994964
Change-Id: If1af7e990b5bf2939a7d5f2a9986406e12c294e9
From AOSP commit: 51663e0d2aa2958b5ef590299b2018a2ae01d256

6 years agoAOSP: Add missing libdl dependencies
Pavlin Radoslavov [Wed, 23 Aug 2017 22:02:55 +0000 (15:02 -0700)]
AOSP: Add missing libdl dependencies

Bug: 62815515
Test: lunch full-eng; make checkbuild
Change-Id: I1751669c4ed046c22587938e04eb76abe8553a8d
From AOSP commit: a24084ceb74c84b0943c86deb5cb99a63d3c46d7

6 years agoAOSP: Fix android build warnings in e2fsdroid and libext2fs
Jin Qian [Thu, 10 Aug 2017 18:12:16 +0000 (11:12 -0700)]
AOSP: Fix android build warnings in e2fsdroid and libext2fs

Change-Id: I23b7abc8af87d87786523944186de1321726a529
From AOSP commit: 424fa8ce373566040ae6ba31151bfbef566b7166

6 years agoAOSP: misc: fix resource leak in populate_fs
Jin Qian [Thu, 10 Aug 2017 18:11:09 +0000 (11:11 -0700)]
AOSP: misc: fix resource leak in populate_fs

Contributed-By: Ivan Maidanski <i.maidanski@samsung.com>
Change-Id: Ibffdeea347d993c97f86ff7bfc5e78024048afce
From AOSP commit: 978002e04483ddab12187f2e08b28996657bc818

6 years agoAOSP: e2fsdroid: print used/total inode and block count
Yang Jin [Thu, 3 Aug 2017 23:46:48 +0000 (16:46 -0700)]
AOSP: e2fsdroid: print used/total inode and block count

Bug: 64272984
Change-Id: Idc727e556a3fa7fb85ff0f845b9452c8c033c22d
From AOSP commit: 131d29f6a826438aff0e5870fb3711358d2a0988

6 years agoAOSP: build mke2fs for windows using android mingw library
Jin Qian [Wed, 12 Jul 2017 22:18:33 +0000 (15:18 -0700)]
AOSP: build mke2fs for windows using android mingw library

Bug: 23686092
Change-Id: I4c7b0c69e3e3c48321d3a0a964ad65c87fc32bbd
From AOSP commit: 83da0276c3ff0a1c33f9042798b319542e254060

6 years agoAOSP: mke2fs, libext2fs: fix bugs on windows
Jin Qian [Mon, 24 Jul 2017 21:18:16 +0000 (14:18 -0700)]
AOSP: mke2fs, libext2fs: fix bugs on windows

Added O_BINARY to open output files on windows, otherwise they're
written as text files and have invalid data.

Use '(filename):block_count:block_size' for sparse file name because
windows file name can contain ':', e.g. 'c:\output_file'.

Bug: 23686092

Change-Id: I731c13e5df0be8c831464c431b8949d33438fb24
From AOSP commit: 0dcf8ec6a429ce4f024fe7838fee2d5636e8ba4d

6 years agoAOSP: build static version of mke2fs and e2fsdroid for host
Jin Qian [Wed, 12 Jul 2017 20:29:38 +0000 (13:29 -0700)]
AOSP: build static version of mke2fs and e2fsdroid for host

Statically link those two binaries for host build so that we can
package them with fastboot without including other library files.

Bug: 35219933
Change-Id: Ic4762ba5eda8ac61723a2c4137690d12a0aa57f2
From AOSP commit: 42297fb01aa2a49ead938c1d24868941a39fd434

6 years agoAOSP: e2fsdroid: use libselinux function to read file context on device
Jin Qian [Tue, 20 Jun 2017 20:49:53 +0000 (13:49 -0700)]
AOSP: e2fsdroid: use libselinux function to read file context on device

When e2fsdroid runs on device, location of selinux file contexts
should be determined by libselinux instead of using arbitrary paths.

Bug: 35219933
Change-Id: I413b198422eddb212599498b532ba2c4d8bb36c6
From AOSP commit: c0bd89b31a7719dd3d51137b3d47a9597ba6b038

6 years agoAOSP: Require mke2fs.conf when building mke2fs
Jin Qian [Wed, 7 Jun 2017 19:39:18 +0000 (12:39 -0700)]
AOSP: Require mke2fs.conf when building mke2fs

make sure mke2fs.conf is copied to /etc so that mke2fs can find it
when running on device.

Bug: 35219933
Change-Id: I400cd21ea3b643469e89bb9bb6cd1536a090598a
From AOSP commit: a86e4d29450668be7bc36f4450e6948bd95b39d8

6 years agoAOSP: build mke2fs and e2fsdroid as static executables for recovery mode
Jin Qian [Fri, 9 Jun 2017 19:37:27 +0000 (12:37 -0700)]
AOSP: build mke2fs and e2fsdroid as static executables for recovery mode

Bug: 35219933
Change-Id: I84f105cafc57c513d83d9e4d26e9e67ef805e33e
From AOSP commit: 834180cc81c100f264d4f96a2776c51a99a810f8

6 years agoMerge branch 'maint' into next
Theodore Ts'o [Mon, 26 Feb 2018 16:13:35 +0000 (11:13 -0500)]
Merge branch 'maint' into next

6 years agodebian: fix maintainer name in changelog
Theodore Ts'o [Sun, 25 Feb 2018 04:01:51 +0000 (23:01 -0500)]
debian: fix maintainer name in changelog

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: update changelog for 1.43.9-2 release
Theodore Ts'o [Sun, 25 Feb 2018 01:48:51 +0000 (20:48 -0500)]
debian: update changelog for 1.43.9-2 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotune2fs: if turning off csum_seed and the UUID has changed, require fsck
Theodore Ts'o [Sun, 25 Feb 2018 01:23:24 +0000 (20:23 -0500)]
tune2fs: if turning off csum_seed and the UUID has changed, require fsck

In the case where the UUID has changed and the user wants to turn off
the csum_seed feature, it's important that file system be freshly
checked.  That's also the only case when it's necessary to recalculate
all of the metadata file systems.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotune2fs/fuse2fs/debugfs: after replaying the journal, fix up s_lastcheck
Theodore Ts'o [Sat, 24 Feb 2018 23:11:19 +0000 (18:11 -0500)]
tune2fs/fuse2fs/debugfs: after replaying the journal, fix up s_lastcheck

If the file system needs to have the journal replayed, but definition
it can't be freshly checked.  So if the time when the file system was
last checked (s_lastcheck) is before the time it was last mounted
(s_mtime), force s_lastcheck to be before s_mtime.

This is necessary to make sure some of tune2fs's safety checks work
correctly after replaying the journal, since some of tune2fs's
operations really require that the file system be self-consistent or
grave damage can result.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotune2fs: move the journal recovery before we try to modify the superblock
Theodore Ts'o [Sat, 24 Feb 2018 23:07:44 +0000 (18:07 -0500)]
tune2fs: move the journal recovery before we try to modify the superblock

Also change the t_replay_and_set test so that we do something more
innocuous, such as setting the file system label, instead of something
much more dangerous such as removing metadata_csum feature (which
requires rewriting the metadat checksums, and this will fail
catastrophically after the test corrupts the inode bitmaps and we
perform the journal replay correctly).

Reported-by: NeilBrown <neilb@suse.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotune2fs: don't recover journal if device is busy.
NeilBrown [Sat, 24 Feb 2018 19:56:06 +0000 (14:56 -0500)]
tune2fs: don't recover journal if device is busy.

tune2fs currently replays the journal if it needs
recovery and the filesystem isn't mounted.

The test for "is the filesystem mounted" isn't completely robust.
Lustre makes use of ext4 filesystems in a way that they are mounted
without being visible in /proc/mounts or similar.
This usage can easily be detected by attempting to open the device
with O_EXCL.  tune2fs already does this and the EXT2_MF_BUSY flag
is set if open(O_EXCL) fails.
Several uses other than lustre mounts could cause O_EXCL to fail,
but in any case it seems unwise to recover the journal when something
else is keeping the device busy.

So add an extra test to avoid journal recovery when the device
is busy.  This fixes some problems with lustre usage.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
6 years agolibss: add newer libreadline.so.7 to dlopen path
Lukas Czerner [Thu, 22 Feb 2018 13:25:03 +0000 (14:25 +0100)]
libss: add newer libreadline.so.7 to dlopen path

Rawhide now has libreadline.so.7. Add it to the list of libs to look
for.

Based on commit 4e79a19fe0b6dc3c2bd9cae9dfdbc5e96a3f98f8 for previous
libreadline version.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agofsck: avoid buffer overflow if user passes in an insanely long fs type
Theodore Ts'o [Fri, 23 Feb 2018 20:42:27 +0000 (15:42 -0500)]
fsck: avoid buffer overflow if user passes in an insanely long fs type

Reported-by: <Hornseth_Brenan@bah.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibuuid: fix UBSAN issue in get_random_fd()
Theodore Ts'o [Fri, 23 Feb 2018 20:39:46 +0000 (15:39 -0500)]
libuuid: fix UBSAN issue in get_random_fd()

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: make transitional libraries to be Arch:any and M-A:same
Theodore Ts'o [Fri, 23 Feb 2018 20:19:39 +0000 (15:19 -0500)]
debian: make transitional libraries to be Arch:any and M-A:same

Make transitional library packages be Arch: any and Multi-Arch: same
so that upgrades actually function correctly when two or more exist.

Addresses-Debian-Bug: #890590

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoMerge tag 'v1.43.9' into next
Theodore Ts'o [Fri, 9 Feb 2018 05:29:10 +0000 (00:29 -0500)]
Merge tag 'v1.43.9' into next

v1.43.9

6 years agoUpdate release notes, etc., for the 1.43.9 release v1.43.9
Theodore Ts'o [Fri, 9 Feb 2018 04:39:22 +0000 (23:39 -0500)]
Update release notes, etc., for the 1.43.9 release

This also includes some debian package renames to conform with Debian
naming conventions.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agopo: update hu.po (from translationproject.org)
Balázs Úr [Thu, 8 Feb 2018 05:08:06 +0000 (00:08 -0500)]
po: update hu.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: fix false positive lintian warning (new essential package)
Theodore Ts'o [Thu, 8 Feb 2018 04:52:54 +0000 (23:52 -0500)]
debian: fix false positive lintian warning (new essential package)

This is caused by a transition to make e2fsprogs no longer be essential.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agochattr/lsattr: update obsolete attribute support
Tyson Nottingham [Mon, 5 Feb 2018 22:45:30 +0000 (14:45 -0800)]
chattr/lsattr: update obsolete attribute support

* Remove description of and printing of h, which was never visible to
  clients of the EXT4_IOC_GETFLAGS ioctl, including chattr and lsattr.

* Remove descriptions of X and Z, whose support was removed in
  4a05268cf86f713 (Remove compression support).

* Update a brief description of E, whose meaning was changed in
  22f22ab1d2bc5ae (Reserve the codepoints for the new INCOMPAT
  feature ENCRYPT).

* Add P to symbolic mode format string.

Signed-off-by: Tyson Nottingham <tgnottingham@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebugfs: remove misplaced "MMP is unsupported" message
Tyson Nottingham [Wed, 24 Jan 2018 03:33:17 +0000 (19:33 -0800)]
debugfs: remove misplaced "MMP is unsupported" message

This message was inadvertently copied from the version of do_dump_mmp
that is used when CONFIG_MMP is disabled.

Signed-off-by: Tyson Nottingham <tgnottingham@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
6 years agodebian: Fix missing "General" in "GNU General Public License" in copyright files
Theodore Ts'o [Fri, 5 Jan 2018 22:10:16 +0000 (17:10 -0500)]
debian: Fix missing "General" in "GNU General Public License" in copyright files

This was issue was pointed out by Lintian.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: fix whitespace issue in debian/control
Theodore Ts'o [Fri, 5 Jan 2018 22:07:06 +0000 (17:07 -0500)]
debian: fix whitespace issue in debian/control

Fix a minor issue pointed out by Lintian.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoMerge branch 'maint' into next
Theodore Ts'o [Thu, 4 Jan 2018 02:38:24 +0000 (21:38 -0500)]
Merge branch 'maint' into next

6 years agodebian: remove -dbg packages from the control file
Theodore Ts'o [Thu, 4 Jan 2018 00:28:43 +0000 (19:28 -0500)]
debian: remove -dbg packages from the control file

It looks like Debian's upload automation will reject a control file
that has packages that it doesn't recognize, even if they are not
built in the default build profile.  (e.g., the expectation is that
build profiles will *disable* packages, but not *add* new binary
packages not normally built.)

So move the offending lines into debian/control.legacy-dbg which is
tacked onto the debian/control file via "./debian/rules debian-files"
and then removed via "./debian/rules mrproper".  It's a hack, but it's
only needed when building backports for Debian Jessie.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoUpdate debian changelog for 1.43.8-2 release
Theodore Ts'o [Wed, 3 Jan 2018 21:19:36 +0000 (16:19 -0500)]
Update debian changelog for 1.43.8-2 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: convert to use build profile rules exclusively
Theodore Ts'o [Wed, 3 Jan 2018 21:05:44 +0000 (16:05 -0500)]
debian: convert to use build profile rules exclusively

This commit drops support for the debian/rules.custom file, and only
relies on build profiles.

This means we no longer need to build the control file from
control.in, which simplifies this; developers can now build a debian
package immediately after checking out the tree from git.  This also
implies that we are dropping support for Debian 7 (wheezy) and Ubuntu
Trusty (14.04LTS) and older releases.  (People who want to backport to
these older distributions will have to make manual adjustments to the
debian/control and debian/rules files.)

Instead of using SKIP_E2FSCK_STATIC in debian/rules.custom, use the
new build profile: pkg.e2fsprogs.no-static-e2fsck

Support for the old-style *-dbg files used in Debian Jessie (which did
not support dbgsym packages) is completely automated.  The system will
auto-detect systems which do not support dbgsym and automatically set
the pkg.e2fsprogs.legacy-pkg build profile.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: add the build profile noudeb
Simon McVittie [Mon, 1 Jan 2018 23:24:03 +0000 (23:24 +0000)]
debian: add the build profile noudeb

This is a standard build profile.  Not building udebs speeds up test
builds if only the full-fat version is going to be tested anyway.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: add the build profile pkg.e2fsprogs.no-fuse2fs
Simon McVittie [Mon, 1 Jan 2018 23:23:36 +0000 (23:23 +0000)]
debian: add the build profile pkg.e2fsprogs.no-fuse2fs

This build profile is designed for use when bootstrapping a new Debian
architecture.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoUpdate debian changelog for 1.43.8-2 release
Theodore Ts'o [Wed, 3 Jan 2018 06:37:26 +0000 (01:37 -0500)]
Update debian changelog for 1.43.8-2 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: fix build failure in swapfs.c on big-endian systems
Theodore Ts'o [Wed, 3 Jan 2018 06:32:02 +0000 (01:32 -0500)]
libext2fs: fix build failure in swapfs.c on big-endian systems

Addresses-Debian-Bug: #886119

Reported-by: James Clarke <jrtc27@debian.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: simplify rules file and don't build e2fsprogs-l10n unnecessarily
Theodore Ts'o [Wed, 3 Jan 2018 06:28:55 +0000 (01:28 -0500)]
debian: simplify rules file and don't build e2fsprogs-l10n unnecessarily

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: update standards compliance to 4.1.3
Theodore Ts'o [Wed, 3 Jan 2018 04:17:30 +0000 (23:17 -0500)]
debian: update standards compliance to 4.1.3

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: mark library packages as optional
Theodore Ts'o [Wed, 3 Jan 2018 03:17:34 +0000 (22:17 -0500)]
debian: mark library packages as optional

They will be pulled in by the binary package which is priority:
required.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoMerge branch 'maint' into next
Theodore Ts'o [Tue, 2 Jan 2018 05:53:10 +0000 (00:53 -0500)]
Merge branch 'maint' into next

6 years agoUpdate release notes, etc., for the 1.43.8 release v1.43.8
Theodore Ts'o [Tue, 2 Jan 2018 02:33:09 +0000 (21:33 -0500)]
Update release notes, etc., for the 1.43.8 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: fix printf format %d on ext2_ino_t
Shen-Ta Hsieh [Mon, 18 Dec 2017 15:19:52 +0000 (23:19 +0800)]
e2fsck: fix printf format %d on ext2_ino_t

Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebugfs: fix printf format %d on ext2_ino_t
Shen-Ta Hsieh [Mon, 18 Dec 2017 15:18:52 +0000 (23:18 +0800)]
debugfs: fix printf format %d on ext2_ino_t

Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agomisc: rename copy_file_range to copy_file_chunk
Palmer Dabbelt [Fri, 29 Dec 2017 18:19:51 +0000 (10:19 -0800)]
misc: rename copy_file_range to copy_file_chunk

As of 2.27, glibc will have a copy_file_range library call to wrap the
new copy_file_range system call.  This conflicts with the function in
misc/create_inode.c, which this patch renames _copy_file_range.

Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoUpdate translation template in preparation for e2fsprogs 1.43.8 release.
Theodore Ts'o [Tue, 2 Jan 2018 00:36:37 +0000 (19:36 -0500)]
Update translation template in preparation for e2fsprogs 1.43.8 release.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agopo: update uk.po (from translationproject.org)
Yuri Chornoivan [Tue, 2 Jan 2018 00:14:51 +0000 (19:14 -0500)]
po: update uk.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agopo: update es.po (from translationproject.org)
Antonio Ceballos [Tue, 2 Jan 2018 00:14:51 +0000 (19:14 -0500)]
po: update es.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: when writing bitmaps mark the fs as dirty if necessary
Theodore Ts'o [Mon, 1 Jan 2018 23:59:16 +0000 (18:59 -0500)]
libext2fs: when writing bitmaps mark the fs as dirty if necessary

If any checksum fields are updated in the block group descriptors, we
need to set the EXT2_FLAG_DIRTY flag so that the block group
descriptors are written to disk.

Addresses-Debian-Bug: #883869

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoAdd documentation for e4crypt's add_key command in the man page
Theodore Ts'o [Mon, 1 Jan 2018 21:29:56 +0000 (16:29 -0500)]
Add documentation for e4crypt's add_key command in the man page

Correctly document that the -S option takes an argument, and describe
what arguments to the -S, -k, and -p options.

Addresses-Debian-Bug: #880483

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoFix minor typos in libext2fs documentation
Tyson Nottingham [Thu, 14 Dec 2017 07:13:13 +0000 (23:13 -0800)]
Fix minor typos in libext2fs documentation

Signed-off-by: Tyson Nottingham <tgnottingham@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoAdd missing information to various man pages and usage texts
Tyson Nottingham [Thu, 14 Dec 2017 07:13:12 +0000 (23:13 -0800)]
Add missing information to various man pages and usage texts

badblocks.c: Add -B and -X to usage text.

chattr.1.in: Add P to list of settable attributes.

e2image.8.in, e2image.c: Remove superfluous mention of -r option.

e2undo.8.in, e2undo.c: Add description for -z to man page and add -o and
  -z to synopsis and usage text.

e4crypt.8.in: Add -p pad option to relevant command descriptions.

lsattr.1.in: Fix typo.

mke2fs.8.in: Add -C to synopsis. Add MKE2FS_DEVICE_PHYS_SECTSIZE
  description and update MKE2FS_DEVICE_SECTSIZE description.

mke2fs.conf.5.in: Add devices stanza summary. Remove base_features and
  default_features descriptions from defaults section, as they are
  already described in fs_types section. Move enable_periodic_fsck and
  force_undo to fs_types section, as they can be set per filesystem
  type. Add missing lazy_journal_init and hugefiles_dir descriptions.

tune2fs.8.in: Remove unsupported -p option and deprecated -s option.
  Add 64bit, ea_inode, large_dir, and metadata_csum_seed descriptions.

tune2fs.c: Remove unsupported -p option from usage text.
  Add mmp_update_interval to extended option usage text.

resize/main.c: Add -S option to usage text.

Signed-off-by: Tyson Nottingham <tgnottingham@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoAdd missing information to debugfs man pages and usage texts
Tyson Nottingham [Thu, 14 Dec 2017 07:13:11 +0000 (23:13 -0800)]
Add missing information to debugfs man pages and usage texts

Add descriptions for dump_unused, get_quota, list_quota,
set_current_time, show_debugfs_params, and supported_features
commands to debugfs man page. Add various missing command
arguments and correct a few typos in man page and usage texts.

Signed-off-by: Tyson Nottingham <tgnottingham@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoAdd missing information to e2fsck man pages and usage text
Tyson Nottingham [Thu, 14 Dec 2017 07:13:10 +0000 (23:13 -0800)]
Add missing information to e2fsck man pages and usage text

Add environment variable and defaults stanza information.
Also, update a couple of descriptions.

Signed-off-by: Tyson Nottingham <tgnottingham@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoAdd missing features and mount options to ext4 man page
Tyson Nottingham [Thu, 14 Dec 2017 07:13:09 +0000 (23:13 -0800)]
Add missing features and mount options to ext4 man page

Add descriptions for the metadata_csum and metadata_csum_seed
features, as well as nombcache and prjquota mount options.  Also,
update a couple of descriptions.

Signed-off-by: Tyson Nottingham <tgnottingham@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoAdd missing features to ext4 man page
Tyson Nottingham [Thu, 14 Dec 2017 19:55:31 +0000 (14:55 -0500)]
Add missing features to ext4 man page

Add descriptions for the ea_inode and large_dir features.

Signed-off-by: Tyson Nottingham <tgnottingham@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: add missing swab for superblock, add checks
Andreas Dilger [Wed, 13 Dec 2017 23:47:14 +0000 (16:47 -0700)]
libext2fs: add missing swab for superblock, add checks

Several recently-added fields in struct ext2_super_block were
not being swabbed in ext2fs_swap_super(), in particular:

   s_raid_stride, s_raid_stripe_width, s_{first,last}_error_*
   s_lpf_ino, s_prj_quota_inum

Add swabbing for these missing fields.  Reorder the swabbing
on other fields so that they are in struct order, and add
comments for fields that do not need swabbing, so it is easier
to see that all fields are being handled.

Since this seems to be a fairly common occurrence, add compile
time checks to ext2fs_swap_super(), ext2fs_swap_inode_large(),
and ext2fs_swap_group_desc2() via a new EXT2FS_BUILD_BUG_ON()
macro to cause a compile warning if fields are used from these
structs without a corresponding change to the swab functions.

Lustre-bug: https://jira.hpdd.intel.com/browse/LU-9309
Reported-by: Artem Blagodarenko <artem.blagodarenko@gmail.com>
Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebugfs: fix ncheck program output
Qian Yingjin [Wed, 13 Dec 2017 15:59:39 +0000 (10:59 -0500)]
debugfs: fix ncheck program output

Fix the bug that print the inode number not the program name
when reporting bad inode name during checking in ncheck.
Minor bug fix: it should reduce iw->inodes_left when found
matched inode number.

Signed-off-by: Qian Yingjin <qian@ddn.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>