]> git.ipfire.org Git - thirdparty/e2fsprogs.git/log
thirdparty/e2fsprogs.git
5 years agoUpdate release notes, etc., for the 1.44.2 release v1.44.2
Theodore Ts'o [Tue, 15 May 2018 00:12:59 +0000 (20:12 -0400)] 
Update release notes, etc., for the 1.44.2 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
5 years agopo: update pl.po (from translationproject.org)
Jakub Bogusz [Mon, 14 May 2018 23:57:37 +0000 (19:57 -0400)] 
po: update pl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
5 years agodebian: demote e2fsprogs from Essential: yes to XB-Important: yes
Theodore Ts'o [Mon, 14 May 2018 23:16:26 +0000 (19:16 -0400)] 
debian: demote e2fsprogs from Essential: yes to XB-Important: yes

Addresses-Debian-Bug: #474540

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
5 years agomke2fs: print error string if ext2fs_close_free() fails
Theodore Ts'o [Mon, 14 May 2018 22:22:09 +0000 (18:22 -0400)] 
mke2fs: print error string if ext2fs_close_free() fails

There are multiple reasons why ext2fs_close_free() might fail, not
just an I/O error while writing out a backup superblock.  Print the
error code, and then allow mke2fs to exit with an exit status code of
1, instead of whatever random error code ext2fs_close_free() might
have returned with.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
5 years agoUse @AR@ instead of hardcoded 'ar'
bjornpagen@gmail.com [Mon, 14 May 2018 02:07:40 +0000 (22:07 -0400)] 
Use @AR@ instead of hardcoded 'ar'

e2fsprogs currently hardcodes 'ar' in one of it's makefiles. This is
fixed with this patch:

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsprogs: fix Free Software Foundation address
Lukas Czerner [Tue, 10 Apr 2018 12:09:33 +0000 (14:09 +0200)] 
e2fsprogs: fix Free Software Foundation address

This is mostly automatic replace of Free Software Foundation address in
all our files with the correct address that can be found at
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agochattr.1: 'a' and 'i' attribute do not affect existing file descriptors
Lukas Czerner [Fri, 13 Apr 2018 12:27:49 +0000 (14:27 +0200)] 
chattr.1: 'a' and 'i' attribute do not affect existing file descriptors

Change chattr man page to make it clear that 'i' and 'a' attributes
does not affect the ability to write to already existing file
descriptors

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: add changelog entry for 1.44.1-2 release
Theodore Ts'o [Tue, 10 Apr 2018 15:04:50 +0000 (11:04 -0400)] 
debian: add changelog entry for 1.44.1-2 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotests: don't leave temp files behind after running i_bitmaps
Theodore Ts'o [Mon, 9 Apr 2018 19:37:00 +0000 (15:37 -0400)] 
tests: don't leave temp files behind after running i_bitmaps

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: warn if checkinterval and broken_system_clock both set
Eric Sandeen [Mon, 9 Apr 2018 19:28:12 +0000 (15:28 -0400)] 
e2fsck: warn if checkinterval and broken_system_clock both set

If broken_system_clock is set in e2fsck.conf and this causes
the check interval to be ignored, make that clear to the user:

e2fsck 1.44.1 (24-Mar-2018)
/dev/sda1: ignoring check interval, broken_system_clock set
/dev/sda1: clean, 11/65536 files, 12955/262144 blocks

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
6 years agoe2image: fix metadata image handling on big endian systems
Lukas Czerner [Mon, 9 Apr 2018 15:58:15 +0000 (11:58 -0400)] 
e2image: fix metadata image handling on big endian systems

Currently e2image metadata image handling and creating is completely
broken on big endian systems. It just does not care about endianness at
all. This was uncovered With addition of i_bitmaps test, which is the
first test that actually tests e2image metadata image.

Fix it by making sure that all on-disk metadata that we write and read
to/from the metadata image is properly converted.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotests: add new test f_ea_inode_self_ref
Theodore Ts'o [Sat, 7 Apr 2018 05:12:00 +0000 (01:12 -0400)] 
tests: add new test f_ea_inode_self_ref

Make sure we can handle a maliciously created file system containing
an inode containing an extended attribute whose e_value_inum points
back at itself.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: add sanity checks for ea_in_inode
Theodore Ts'o [Sat, 7 Apr 2018 04:28:49 +0000 (00:28 -0400)] 
libext2fs: add sanity checks for ea_in_inode

An inode containing the value for an extended attribute (aka an
ea_in_inode) must not have the INLINE_DATA flag and must have the
EA_INODE flag set.  Enforcing this prevents e2fsck and debugfs crashes
caused by a maliciously crafted file system containing an inode which
has both the EA_INODE and INLINE_DATA flags set, and where that inode
has an extended attribute whose e_value_inum points to itself.

Reported-by: Wen Xu <wen.xu@gatech.edu>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotests: don't use "debugfs -f /dev/stdin"
Ingo Brückl [Sat, 31 Mar 2018 20:59:48 +0000 (16:59 -0400)] 
tests: don't use "debugfs -f /dev/stdin"

Don't use "debugfs -f /dev/stdin" for portability reasons --- not all
systems have /dev/stdin. Simply dropping "-f /dev/stdin" works just
fine.

Signed-off-by: Ingo Brückl <ib@wupperonline.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotests: use mke2fs and debugfs from the build tree
Theodore Ts'o [Sat, 31 Mar 2018 20:38:48 +0000 (16:38 -0400)] 
tests: use mke2fs and debugfs from the build tree

The tests f_bigalloc_badinode and f_bigalloc_orphan_list were not
using the version of mke2fs and debugfs from the build tree, and if
mke2fs and debugfs are not in the user's PATH, these tests would fail.
Fix this.

Reported-by: Somchai Smythe <buraphalinuxserver@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: adjust quota counters when clearing orphaned inodes
Darrick J. Wong [Sun, 25 Mar 2018 19:01:33 +0000 (12:01 -0700)] 
e2fsck: adjust quota counters when clearing orphaned inodes

If e2fsck encounters a filesystem that supports internal quotas, it is
responsible for adjusting the quota counters if it decides to clear any
orphaned inodes.  Therefore, we must read the quota files, adjust the
counters, and write the quota files back out when we are done.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agofilefrag: avoid temporary buffer overflow
Andreas Dilger [Thu, 29 Mar 2018 18:36:54 +0000 (12:36 -0600)] 
filefrag: avoid temporary buffer overflow

If an unknown flag is present in a FIEMAP extent, it is printed as a
hex value into a temporary buffer before adding it to the flags.  If
that unknown flag is over 0xfff then it will overflow the temporary
buffer.

Reported-by: Sarah Liu <wei3.liu@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-10335
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoUpdate release notes, etc., for the 1.44.1 release v1.44.1
Theodore Ts'o [Sun, 25 Mar 2018 00:55:05 +0000 (20:55 -0400)] 
Update release notes, etc., for the 1.44.1 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: support operating systems that don't have strnlen()
Theodore Ts'o [Sun, 25 Mar 2018 02:26:24 +0000 (22:26 -0400)] 
libext2fs: support operating systems that don't have strnlen()

Someone was trying to build e2fsprogs on MacOS 10.6.8, and ran into
build problems because MacOS didn't have strnlen() support until seven
years ago.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reported-by: Jens Bauer <jens@plustv.dk>
6 years agoAdd some minor clarifications to chattr's man page
Theodore Ts'o [Sun, 25 Mar 2018 01:44:30 +0000 (21:44 -0400)] 
Add some minor clarifications to chattr's man page

Addresses-Debian-Bug: #890390

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebian: add Vcs-* fields to debian packaging
Theodore Ts'o [Sat, 24 Mar 2018 16:09:09 +0000 (12:09 -0400)] 
debian: add Vcs-* fields to debian packaging

Addresses-Debian-Bug: #887512

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotests: explicitly specify 1k block sizes when creating test file systems
Theodore Ts'o [Sat, 24 Mar 2018 15:39:09 +0000 (11:39 -0400)] 
tests: explicitly specify 1k block sizes when creating test file systems

On the Hurd, mke2fs will force the use of 4k block sizes by default
because the Hurd's implemntation of ext2 doesn't support any other
block sizes.  This causes spurious test failures.  Since these test
are testing e2fsprogs functionality, force the use of 1k block sizes
so the test output matches the expected output.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agopo: update sv.po (from translationproject.org)
Göran Uddeborg [Sat, 24 Mar 2018 15:22:57 +0000 (11:22 -0400)] 
po: update sv.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: delete bad inode fix for bigalloc
harshads [Fri, 23 Mar 2018 18:34:05 +0000 (11:34 -0700)] 
e2fsck: delete bad inode fix for bigalloc

While deleting a bad inode in fsck pass2, we should remove clusters
only once. We do it by remembering last released cluster while
deleting clusters one by one.

Signed-off-by: Harshad Shirwadkar <harshads@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebugfs: release clusters only once in release_blocks_proc
harshads [Fri, 23 Mar 2018 18:32:49 +0000 (11:32 -0700)] 
debugfs: release clusters only once in release_blocks_proc

While killing file by inode in debugfs (kill_file_by_inode), if
bigalloc feature is turned on, release clusters only once. We do it by
remembering the last released cluster while releasing blocks. We
release a cluster only if it is not already released.

Signed-off-by: Harshad Shirwadkar <harshads@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agodebugfs: read allocation bitmaps more efficiently
Theodore Ts'o [Tue, 20 Mar 2018 15:04:27 +0000 (11:04 -0400)] 
debugfs: read allocation bitmaps more efficiently

It is more efficient to use ext2fs_read_bitmaps() than to read the
inode and block bitmaps separately, since extra seeks.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotests: add new test i_bitmaps
Theodore Ts'o [Tue, 20 Mar 2018 15:01:49 +0000 (11:01 -0400)] 
tests: add new test i_bitmaps

This is a test to make sure e2image and its associated library
routines can correctly read the inode and block allocation bitmaps.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoutil: allow subst to build in cross build environemnt
Robert Schiele [Tue, 20 Mar 2018 04:38:48 +0000 (00:38 -0400)] 
util: allow subst to build in cross build environemnt

In a cross build environment we don't get definition of
HAVE_SYS_STAT_H from config.h, therefore we need to define it locally
in that case similar to HAVE_SYS_TIME_H.

Fixes: 7fd537401270 ("misc: add missing declarations on maint")
Signed-off-by: Robert Schiele <rschiele@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: fix reading bitmaps from e2image files
Theodore Ts'o [Mon, 19 Mar 2018 22:58:09 +0000 (18:58 -0400)] 
libext2fs: fix reading bitmaps from e2image files

The loop termination code was broken, so that only the first block's
worth of bitmap data was getting read.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reported-by: Kazuya Mio <k-mio@sx.jp.nec.com>
6 years agolibext2fs: teach e2image imager to handle bigalloc file systems
Theodore Ts'o [Mon, 19 Mar 2018 22:23:04 +0000 (18:23 -0400)] 
libext2fs: teach e2image imager to handle bigalloc file systems

Previously, "mke2fs -t ext4 -O bigalloc /tmp/foo.img 4G ;
e2image /tmp/foo.img /tmp/foo.e2i" would result in e2image
dumping core.  Fix ext2fs_image_bitmap_write() so it handles
file systems with bigalloc correctly.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agomisc: add makefile rules for dumpe2fs.static and e2image.static
Theodore Ts'o [Mon, 19 Mar 2018 22:06:53 +0000 (18:06 -0400)] 
misc: add makefile rules for dumpe2fs.static and e2image.static

These makefile targets are not built by default, but making them
available makes debugging easier.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agolibext2fs: fix ext2fs_open2() error for meta_bg image file
Kazuya Mio [Sat, 17 Mar 2018 18:56:15 +0000 (14:56 -0400)] 
libext2fs: fix ext2fs_open2() error for meta_bg image file

dumpe2fs/debugfs can examine the image file by using the -i option.
However, if meta_bg feature is enabled, dumpe2fs/debugfs cannot open
the image file.

$ dumpe2fs -i test.img
dumpe2fs: Attempt to read block from filesystem resulted in short read while trying to open test.img
Couldn't find valid filesystem superblock.

In case of specifying an image file, the location of block group descriptors
is the same as the case of default filesystem regardless of meta_bg feature.
So if EXT2_FLAG_IMAGE_FILE flag is set in ext2fs_open2(),
don't use the meta_bg handling.

Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agotests: add new test f_bigalloc_orphan_list
Theodore Ts'o [Fri, 16 Mar 2018 15:19:02 +0000 (11:19 -0400)] 
tests: add new test f_bigalloc_orphan_list

This is a regression test for the bugfix found in commit 707599bf:
"e2fsck: release clusters only once in release_inode_blocks"

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: release clusters only once in release_inode_blocks
harshads [Tue, 13 Mar 2018 23:19:07 +0000 (16:19 -0700)] 
e2fsck: release clusters only once in release_inode_blocks

While releasing inode blocks, if bigalloc feature is turned on,
release clusters only once. We do it by remembering the last released
cluster while iterating through blocks and releasing a cluster only if
it is not already released.

Signed-off-by: Harshad Shirwadkar <harshads@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agomisc/fsck: fix potential memory leak on error path
Theodore Ts'o [Sun, 11 Mar 2018 00:44:37 +0000 (19:44 -0500)] 
misc/fsck: fix potential memory leak on error path

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoe2fsck: fix endianness problem when reading htree nodes
Lukas Czerner [Fri, 9 Mar 2018 11:28:02 +0000 (12:28 +0100)] 
e2fsck: fix endianness problem when reading htree nodes

Wrong directory block number can be saved in ->previous on big endian
system in parse_int_node(). Fix it by moving the mask out of the endian
conversion.

Fixes: ae9efd05a986 ("e2fsck: 3 level hash tree directory optimization")
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoFix build problems on the Hurd OS
Theodore Ts'o [Sat, 10 Mar 2018 21:17:05 +0000 (16:17 -0500)] 
Fix build problems on the Hurd OS

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoFix date for v1.44.0 release notes
Theodore Ts'o [Sat, 10 Mar 2018 19:29:31 +0000 (14:29 -0500)] 
Fix date for v1.44.0 release notes

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agoUpdate release notes, etc., for the 1.44.0 release v1.44.0
Theodore Ts'o [Wed, 7 Mar 2018 19:47:46 +0000 (14:47 -0500)] 
Update release notes, etc., for the 1.44.0 release

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
6 years agopo: update vi.po (from translationproject.org)
Trần Ngọc Quân [Wed, 7 Mar 2018 19:23:57 +0000 (14:23 -0500)] 
po: update vi.po (from translationproject.org)

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

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

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

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
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>