Whamcloud - gitweb
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>
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>
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>
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>
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>
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>
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>
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>
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>
Theodore Ts'o [Sat, 3 Mar 2018 21:39:32 +0000 (16:39 -0500)]
Merge branch 'maint' into next
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>
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>
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>
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>
Theodore Ts'o [Fri, 2 Mar 2018 23:25:41 +0000 (18:25 -0500)]
Merge branch 'maint' into next
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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
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
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Theodore Ts'o [Mon, 26 Feb 2018 16:13:35 +0000 (11:13 -0500)]
Merge branch 'maint' into next
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Theodore Ts'o [Fri, 9 Feb 2018 05:29:10 +0000 (00:29 -0500)]
Merge tag 'v1.43.9' into next
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>
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>
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>
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>
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>
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>
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>
Theodore Ts'o [Thu, 4 Jan 2018 02:38:24 +0000 (21:38 -0500)]
Merge branch 'maint' into next
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Theodore Ts'o [Tue, 2 Jan 2018 05:53:10 +0000 (00:53 -0500)]
Merge branch 'maint' into next
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>