summaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAge
* AOSP: android/perms.c: clean up error handlingNick Kralevich2018-10-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a number of error conditions which, due to the way ext2fs_dir_iterate2 operates, would not be propagated to the upper layers of the call stack. As a result, certain error conditions, such as not having enough room to allocate blocks for SELinux labels, would fail silently, instead of causing a compile failure. As suggested in https://android-review.googlesource.com/c/platform/external/e2fsprogs/+/324363 , add a error field to the caller's private data structure, and use the bit in the field to indicate an error condition. Now, certain errors which were silently ignored will cause a compile failure when compiling Android. Test: Artifically modify selabel_lookup() to return a failure, and verify Android doesn't compile. Test: Verify Android compiles under normal circumstances. Test: Artifically modify ino_add_xattr() to return a failure, and verify Android doesn't compile. Bug: 117502873 Bug: 117567573 Bug: 117473440 Signed-off-by: Theodore Ts'o <tytso@mit.edu> Change-Id: Icdb0105a77e98c3428f20d3c59bf824dcad5db8d From AOSP commit: 7ca13b8b2953f93536ea09eb2ff19bd7cc85b3c1
* AOSP: e2fsdroid: Set android_configure when product out is passed.Sen Jiang2018-08-18
| | | | | | | | | | | The only place that's using |product_out| is android_configure_fs(). Signed-off-by: Theodore Ts'o <tytso@mit.edu> Bug: 111439984 Test: generated image has correct permission Change-Id: I2602686b6b92c3e61a541b8794d266b1ee6a00d1 From AOSP commit: 57c92af0ac608dbb27de9f882336e28de7bb1fa2
* AOSP: e2fsdroid and mke2fs are dynamic executable in recovery partitionJiyong Park2018-06-27
| | | | | | | | | | | | | | | | | The two utilities are now converted to dynamic executables as shared libraries are supported in recovery mode. As part of the conversion, shared libraries that are depended from them are also marked as recovery_available: true. Bug: 79146551 Test: adb reboot recovery, and select 'Wipe data/factory reset'. The data partition is formatted and there is no selinux denial. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Change-Id: I22fbc83a4ff0496096efca90721b0db1237c32cd From AOSP commit: df1f088849ed3336bb4f6f200c29b30682f15948
* AOSP: e2fsdroid: Correctly process the root inodeLuis Hector Chavez2018-06-23
| | | | | | | | | | | | | | | | | | | This change ensures that the root inode has the correct uid/gid by calling androidify_inode() on it. It also sets android_configure = 1 when the u/gid mapping is provided. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Google-Bug-Id: 78561186 Google-Bug-Id: 110415537 Test: $ m # With BOARD_SYSTEMIMAGE_UID_MAP=655360 0 5000 $ simg2img ${OUT}/{system.img,system.raw.img} $ mkdir tmp $ sudo mount -o loop ${OUT}/system.raw.img tmp $ stat --format="%u %g" tmp 655360 655360 Change-Id: I842a32b6d64439f9f16b9c6b66de20d4e4418aa8 From AOSP commit: ee3f0f37c34d68aa7a96a36dea369acae312772c
* AOSP: Support UID/GID mappingHidehiko Abe2018-06-21
| | | | | | | | | | | | This reverts commit 797c9c47d8419f58f752a96ae972423ca32b4c30. with the fix. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Google-Bug-Id: 78561186 Test: Ran on DUT. Change-Id: I0d903cb08373aa5e9d79a1601d2e5ea9a59573fe From AOSP commit: 5250966f2b7b7b4643235551b125ddbcfbd3d609
* AOSP: libext2fs: add EXT2_FLAG_SHARE_DUP to de-duplicate data blocksJin Qian2018-06-21
| | | | | | | | | | | | | | When assigning physical address for new data block, search sha of existing blocks for match. If there's a match, reuse address of the matched block. Also set EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS in de-duped image. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Google-Bug-Id: 64109868 Change-Id: I8d2d22e9c301264413c1454c84d7bf6bb32ac5c0 From AOSP commit: 3d7abcc7843d6dfdfdafabf43f5e072cb7aaffbd
* AOSP: e2fsdroid/libext2fs: move hashmap into libext2fsJin Qian2018-06-21
| | | | | | | | | | | Also update it so that hash key can be arbitrary length instead of null terminated string. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Google-Bug-Id: 64109868 Change-Id: Icb0d91d5d753e86edaffcacb043b6f1aa429a528 From AOSP commit: 9491100ffb74b13a10b5b0425b7691c3449ac2e6
* e2fsprogs: fix Free Software Foundation addressLukas Czerner2018-04-19
| | | | | | | | | 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>
* AOSP: use e2fsprogs-defaults for ccflagsTheodore Ts'o2018-02-26
| | | | | | | | 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>
* AOSP: Standarize on VFS_CAP_REVISION_2Nick Kralevich2018-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove fsstress from buildJin Qian2018-02-26
| | | | | | | | | This is outdated and deprecated by android-xfstests http://thunk.org/android-xfstests Bug: 67046543 Change-Id: Ic80d5636bc06420f92ee2400bada5b7eb5595253 From AOSP commit: da63249bb23d54e7a9eaab1d365ec7b175ad5e30
* AOSP: Suppress use of ASan on e2fsdroid temporarily.Stephen Hines2018-02-26
| | | | | | | | | | | | | 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
* AOSP: Rename libz-host -> libzDan Willemsen2018-02-26
| | | | | | Test: m host Change-Id: I8b0edfe2076531bd4c4f1023b1076aec5f722a44 From AOSP commit: d4356bb606dbcad0b77788318c6199081262b373
* AOSP: Add missing libdl dependenciesPavlin Radoslavov2018-02-26
| | | | | | | Bug: 62815515 Test: lunch full-eng; make checkbuild Change-Id: I1751669c4ed046c22587938e04eb76abe8553a8d From AOSP commit: a24084ceb74c84b0943c86deb5cb99a63d3c46d7
* AOSP: Fix android build warnings in e2fsdroid and libext2fsJin Qian2018-02-26
| | | | | Change-Id: I23b7abc8af87d87786523944186de1321726a529 From AOSP commit: 424fa8ce373566040ae6ba31151bfbef566b7166
* AOSP: e2fsdroid: print used/total inode and block countYang Jin2018-02-26
| | | | | | Bug: 64272984 Change-Id: Idc727e556a3fa7fb85ff0f845b9452c8c033c22d From AOSP commit: 131d29f6a826438aff0e5870fb3711358d2a0988
* AOSP: mke2fs, libext2fs: fix bugs on windowsJin Qian2018-02-26
| | | | | | | | | | | | | 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
* AOSP: build static version of mke2fs and e2fsdroid for hostJin Qian2018-02-26
| | | | | | | | | 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
* AOSP: e2fsdroid: use libselinux function to read file context on deviceJin Qian2018-02-26
| | | | | | | | | 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
* AOSP: build mke2fs and e2fsdroid as static executables for recovery modeJin Qian2018-02-26
| | | | | | Bug: 35219933 Change-Id: I84f105cafc57c513d83d9e4d26e9e67ef805e33e From AOSP commit: 834180cc81c100f264d4f96a2776c51a99a810f8
* Fix spelling typos in contrib/android codeTheodore Ts'o2017-10-15
| | | | | | These typos were found by Sebastian Rasmussen <sebras@gmail.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* Merge branch 'maint' into nextTheodore Ts'o2017-10-15
|\
| * Fix typos in code comments and developer docsSebastian Rasmussen2017-10-15
| | | | | | | | | | | | Signed-off-by: Sebastian Rasmussen <sebras@gmail.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca>
* | libext2fs: add ea_inode support to set xattrTahsin Erdogan2017-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a major update to how we decide where to put extended attributes. The main motivation is to enable creating values in extended attribute inodes. While doing this, we want to implement a behavior that is as close to kernel as possible. Existing set ea code deviates from kernel behavior which makes it harder to implement ea_inode feature: - kernel only sorts ea entries in xattr block, e2fsprogs implementation sorts all entries on every update. - e2fsprogs implementation shuffled things on every update so the order of updates does not matter. Kernel does not reshuffle things. - e2fsprogs could evacuate entries from inode body to xattr block and vice versa. This behavior does not exist in kernel. Such differences could lead to inconsistent behavior between fuse2fs and a kernel mount. With ea_inode feature, we also need to decide whether to put a value in an inode or keep it 'inline'. In kernel implementation this depends on current placement of entries. To close the behavioral gap, ext2fs_xattr_set() now takes over the decision about where to place ea values. This also allows it to raise errors early instead of delaying them to a separate ext2fs_xattrs_write() call later. Signed-off-by: Tahsin Erdogan <tahsin@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: skip setting timestamp if src_dir is nullJin Qian2017-05-23
| | | | | | | | | | | | | | | | | | | | | | fs_mgr formats /data without src_dir. Test: zero-out first 4096 bytes on /data partition and reboot Bug: 35219933 Change-Id: I12f1eb1002fd96d18fc7a9ae5a529f673eb57273 From AOSP commit: b5330546f444b49c4d751e9ddd7677ae97161f0c Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: support multiple selinux file contextsJin Qian2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Support passing a string of multiple selinux file contexts separated by comma with -S option. E.g. e2fsdroid -S ctx1,ctx2 output Test: make systemimage Bug: 35219933 Change-Id: Icc0f9d5d6180b5db7d68f7de45a1128f5a20be89 From AOSP commit: 34f4f33b24280c0a21a95407da4cf4988b275c95 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: don't print empty files in block_list.c:end_new_fileBen Fennema2017-05-23
| | | | | | | | | | | | | | | | Change-Id: I4b38841c9c36a8faaa9f65bc7b61c7abdddab094 Signed-off-by: Ben Fennema <fennema@google.com> From AOSP commit: cc933ab3bfee821dc885fe5a6bbb2a4997304ff9 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: Disable macro redefined warnings.Christopher Ferris2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new kernel headers do: #define __bitwise __bitwise__ However, the code redefines __bitwise without undef'ing it first. This is a temporary fix, b/35721782 filed to fix this. Change-Id: I2c6a64146966f1737835f012d24ccc844570d02b Test: Builds without warningers/errors. From AOSP commit: commit 91581e8f15b8a29aedea3e7c11162301c7e66ec3 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: Convert e2fsprogs targets to soong.Alex Deymo2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch also removes all the "-host" and "_static" suffix from all the libraries adding "unique_host_soname: true". This prevents confusions with the host installed libraries. A new "libext2_misc" library is introduced to export some files from the misc/ directory to other binaries in this project. Bug: 34220783 Test: mmma external/e2fsprogs Change-Id: Ia1b689991346b11f8cb38f7c6ee356e666e01d6d From AOSP commit: 7a9e1a96766d31a41b88f0a539fcc3d532b5c530 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: HACK: android: exit(1) if selabel_lookup failsNick Kralevich2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If selabel_lookup fails, the current implementation of set_selinux_xattr returns -1, but the command line tool e2fsdroid reports success. There's a bunch of things wrong: 1) -1 does not appear to be a legal errcode_t value. The appropriate return value appears to be DIRENT_ABORT. 2) A return value of DIRENT_ABORT is ignored by the upper layers of the code. 3) Attempting to fix the upper layers of the code to not ignore DIRENT_ABORT results in complaints about not being able to create /lost+found. Call stack: - main - android_configure_fs - __android_configure_fs - ext2fs_dir_iterate2 - ext2fs_block_iterate3 - ext2fs_process_dir_block - walk_dir - ext2fs_dir_iterate2 - ext2fs_block_iterate3 - ext2fs_process_dir_block - walk_dir - ext2fs_dir_iterate2 - ext2fs_block_iterate3 - ext2fs_process_dir_block - androidify_inode - set_selinux_xattr I'm honestly not sure how to fix this, so just throw an exit(1) in there, to make sure the program dies a horrible death if selabel_lookup() fails. This is much better than the alternative of e2fsdroid returning success with an improperly labeled file. Bug: 34358308 Test: Artifically modify selabel_lookup() to return a failure, and verify Android doesn't compile. Test: Verify Android compiles under normal circumstances. Change-Id: I60e04bc6559a66d3f3202f2c28e2519856385ded From AOSP commit: 87a7db7cf2ca0feecaccad94bf22f92c726000c3 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: Remove "_host" and "_static" suffix from libsparse.Alex Deymo2017-05-23
| | | | | | | | | | | | | | | | Bug: 34220783 Change-Id: I218ab40f423bf0bddebc3b2e1526bd9e3549eed6 From AOSP commit: 92d281bd3145e149d7330272b1704d77191482c4 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: report error from ext2fsJin Qian2017-05-23
| | | | | | | | | | | | | | | | | | Returns error back to caller (build system) instead of failing silently. Change-Id: I8bad9eed6fe639014126c98c6bf02e539f086a98 From AOSP commit: 948b9fecf8f92785a171c9416080e0660f089deb Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: set timestamp based on source filesJin Qian2017-05-23
| | | | | | | | | | | | | | | | | | | | Timestamp was incorrectly set to -1 or left unset. Use lstat to read timestamps from source files and set on target files. Change-Id: I66b2c5281ae769a52bc4e1638895eb5285c18b7a From AOSP commit: d882f1e23195d1fb16a6fe1887c842d04ab420b7 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: use absolute path for product_outJin Qian2017-05-23
| | | | | | | | | | | | | | | | | | | | Android build runs e2fsdroid in a tmp directory. Use absolute path to access files in product_out. Change-Id: Ic238d93ff68f03bd82245bda127d269972f5ef63 From AOSP commit: bc02ac42b26836f22579a81edb5711cae837732f Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: remove extra "/" when mountpoint is "/"Jin Qian2017-05-23
| | | | | | | | | | | | | | | | | | Extra "/" causes problem when matching entries in fs_config. Change-Id: Ie1659b98db3d599cdd1a832d2dfb3036d399a6e3 From AOSP commit: 7fe49140ef755e98607a67199971c01ed6a96930 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: _GNU_SOURCE must be defined before any #include.Elliott Hughes2017-05-23
| | | | | | | | | | | | | | | | | | | | | | Fixes the "asprintf undeclared" warning in this code. Bug: N/A Test: builds Change-Id: I42e1bfbdbc0391c5e5d7908204f9064ec858c84d From AOSP commit: 1ebca4b43115846af705bd320bccb8f930e328c8 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: android: add the ext2simg toolAdrien Schildknecht2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This tool converts ext images to android sparse images. Test: ext2simg img.ext4 img.sparse simg2img img.sparse img2.ext4 e2fsck -f img.ext; e2fsck -f img2.ext cmp img{,2}.ext Change-Id: I7ec6f126160dacafb0946ba99f07d4bb42a19c45 From AOSP commit: c1b7d19958dc3dbe53810811ea3dcc4f04f85c73 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: create incremental imagesAdrien Schildknecht2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an option to read a base_fs file and allocate the blocks according to the mapping provided by the file. Test: 1/ Create a normal image and an incremental one. Compare the number of blocks that have changed. 2/ Create an image. Create an incremantal image. The basefs file and the block_list file are the same. Change-Id: Ie000ca48cf000d95e7a45a9752699abfc7484b6c From AOSP commit: 16babe7b79c4c9b6d75d60e30c04a8e24278e4fa Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: read and enforce android's permissionsAdrien Schildknecht2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the permissions and the extended attributes as defined by fs_config and selinux. Test: create an image with make_ext4 and with mke2fs + e2fsdroid Compare the output of: for f in `find . | sort`; do xattr -l "$f"; md5sum "$f" ls -lah "$f" done Change-Id: I64c97f81c7f5e2bcf3cee3431e410d064cf0735a From AOSP commit: 4c1e1f46301b3ff7f60be1d8e943ecc23b917ca7 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: add an option to generate a base_fs fileAdrien Schildknecht2017-05-23
| | | | | | | | | | | | | | | | | | Test: make_ext4 and e2fsdroid both generate the same list of file. Change-Id: Idaf42b64b588824d453bc204562ccbe702de26a9 From AOSP commit: 0fe9949ca0cae4be6cde69e084db922506eda11a Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* | AOSP: e2fsdroid: a tool to create android compatible imageAdrien Schildknecht2017-05-23
|/ | | | | | | | | | | | Add an option to generate a block_list file from an existing ext4 or sparse image. Test: make_ext4 and e2fsdroid both generate the same list of file. Change-Id: I5ecc6521797397102904bf510c283dfd50a72721 From AOSP commit: fdc29bee07aef3a379f3ec3ccbaa551ff6500bff Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* android: fix Mac buildTheodore Ts'o2016-10-24
| | | | | | | | | Disable building debugfs and e4crypt on mac. Add missing time.h include in ext2fs.h for time_t. From AOSP commit: f2b2d2c0a6af8bd1e1a19150cf9d41d8f2b0e39a Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* Android.mk: Replace _host suffix with more standard -host suffixAlex Deymo2016-03-15
| | | | | | | | | | Most libraries use the "-host" suffix when building for the host. This patch renames all the libraries to use -host instead of _host. Addresses-Google-Bug: #24619596 TEST=make dist Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* debugfs: clean up feature test macros with predicate functionsDarrick J. Wong2015-10-24
| | | | | | | | | Create separate predicate functions to test/set/clear feature flags, thereby replacing the wordy old macros. Furthermore, clean out the places where we open-coded feature tests. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* android: add add_ext4_encrypt helper programTheodore Ts'o2015-07-14
| | | | Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* Eliminate doubly defined _LARGEFILE_SOURCE warningTheodore Ts'o2015-07-12
| | | | Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* Add fsstress to contrib so it can be built for use in AndroidTheodore Ts'o2015-05-25
| | | | Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* contrib: script to create minified ext4 image from a directoryDarrick J. Wong2015-05-05
| | | | | | | | | | | The dir2fs script converts a directory into a minimized ext4 filesystem. FS creation parameters are tweaked to reduce as much FS overhead as possible, and to leave as few unused blocks and inodes as possible. Given that mke2fs -d lays out files linearly from the beginning of the FS, using resize2fs -M is not as horrible as it usually is. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* contrib: add support for COLLAPSE_RANGE and ZERO_RANGE to falocate programDarrick J. Wong2014-10-18
| | | | | Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
* contrib: add script to help resync journal code with kernelDarrick J. Wong2014-08-26
| | | | | | | | | | Add a script that handles (most) of the code massaging necessary to resync {recovery,revoke}.c from the Linux kernel into e2fsprogs. Usage: jbd2-resync.sh linux/fs/jbd2/revoke.c e2fsprogs/e2fsck/revoke.c Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>